New module 'remainderl'.
[gnulib.git] / ChangeLog
1 2012-02-25  Bruno Haible  <bruno@clisp.org>
2
3         New module 'remainderl'.
4         * lib/math.in.h (remainderh): New declaration.
5         * lib/remainderl.c: New file.
6         * m4/remainderl.m4: New file.
7         * modules/remainderl: New file.
8         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
9         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
10         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
11         HAVE_REMAINDERL.
12         * doc/posix-functions/remainderl.texi: Mention the new module.
13
14 2012-02-25  Bruno Haible  <bruno@clisp.org>
15
16         Tests for module 'remainderf'.
17         * modules/remainderf-tests: New file.
18         * tests/test-remainderf.c: New file.
19         * tests/test-math-c++.cc: Check the declaration of remainderf.
20
21         New module 'remainderf'.
22         * lib/math.in.h (remainderf): New declaration.
23         * lib/remainderf.c: New file.
24         * m4/remainderf.m4: New file.
25         * modules/remainderf: New file.
26         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
27         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
28         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
29         HAVE_REMAINDERF.
30         * doc/posix-functions/remainderf.texi: Mention the new module.
31
32 2012-02-25  Bruno Haible  <bruno@clisp.org>
33
34         remainder: Support for MSVC.
35         * lib/math.in.h (remainder): New declaration.
36         * lib/remainder.c: New file.
37         * m4/remainder.m4: New file.
38         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
39         (Depends-on): Add math, round, fma.
40         (configure.ac): Use results of gl_FUNC_REMAINDER.
41         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
42         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
43         HAVE_DECL_REMAINDER.
44         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
45         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
46         * tests/test-math-c++.cc: Check the declaration of remainder.
47         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
48         problems are fixed.
49
50 2012-02-25  Bruno Haible  <bruno@clisp.org>
51
52         Tests for module 'fmodl'.
53         * modules/fmodl-tests: New file.
54         * tests/test-fmodl.c: New file.
55         * tests/test-math-c++.cc: Check the declaration of fmodl.
56
57         New module 'fmodl'.
58         * lib/math.in.h (fmodl): New declaration.
59         * lib/fmodl.c: New file.
60         * m4/fmodl.m4: New file.
61         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
62         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
63         REPLACE_FMODL.
64         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
65         REPLACE_FMODL.
66         * modules/fmodl: New file.
67         * doc/posix-functions/fmodl.texi: Mention the new module.
68
69 2012-02-25  Bruno Haible  <bruno@clisp.org>
70
71         Tests for module 'modfl'.
72         * modules/modfl-tests: New file.
73         * tests/test-modfl.c: New file.
74         * tests/test-math-c++.cc: Check the declaration of modfl.
75
76         New module 'modfl'.
77         * lib/math.in.h (modfl): New declaration.
78         * lib/modfl.c: New file.
79         * m4/modfl.m4: New file.
80         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
81         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
82         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
83         * modules/modfl: New file.
84         * doc/posix-functions/modfl.texi: Mention the new module.
85
86 2012-02-25  Bruno Haible  <bruno@clisp.org>
87
88         Tests for module 'fabsl'.
89         * modules/fabsl-tests: New file.
90         * tests/test-fabsl.c: New file.
91         * tests/test-math-c++.cc: Check the declaration of fabsl.
92
93         New module 'fabsl'.
94         * lib/math.in.h (fabsl): New declaration.
95         * lib/fabsl.c: New file.
96         * m4/fabsl.m4: New file.
97         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
98         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
99         REPLACE_FABSL.
100         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
101         REPLACE_FABSL.
102         * modules/fabsl: New file.
103         * doc/posix-functions/fabsl.texi: Mention the new module.
104
105 2012-02-25  Bruno Haible  <bruno@clisp.org>
106
107         fabs tests: More tests.
108         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
109         (zero): New variable.
110         (main): Add tests for signed zero.
111         * modules/fabs-tests (Files): Add tests/minus-zero.h.
112
113         fabsf tests: More tests.
114         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
115         (zero): New variable.
116         (main): Add tests for signed zero.
117         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
118
119 2012-02-24  Bruno Haible  <bruno@clisp.org>
120
121         atanl: Provide function definition on MSVC.
122         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
123         function pointer.
124         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
125
126 2012-02-24  Bruno Haible  <bruno@clisp.org>
127
128         acosl: Provide function definition on MSVC.
129         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
130         function pointer.
131         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
132
133 2012-02-24  Bruno Haible  <bruno@clisp.org>
134
135         asinl: Provide function definition on MSVC.
136         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
137         function pointer.
138         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
139
140 2012-02-24  Bruno Haible  <bruno@clisp.org>
141
142         tanl: Provide function definition on MSVC.
143         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
144         function pointer.
145         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
146
147 2012-02-24  Bruno Haible  <bruno@clisp.org>
148
149         cosl: Provide function definition on MSVC.
150         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
151         function pointer.
152         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
153
154 2012-02-24  Bruno Haible  <bruno@clisp.org>
155
156         sinl: Provide function definition on MSVC.
157         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
158         function pointer.
159         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
160
161 2012-02-24  Bruno Haible  <bruno@clisp.org>
162
163         logl: Provide function definition on MSVC.
164         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
165         function pointer.
166         * lib/math.in.h (logl): Undefine if it does not exist as a function.
167
168 2012-02-24  Bruno Haible  <bruno@clisp.org>
169
170         expl: Provide function definition on MSVC.
171         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
172         function pointer.
173         * lib/math.in.h (expl): Undefine if it does not exist as a function.
174
175 2012-02-24  Bruno Haible  <bruno@clisp.org>
176
177         sqrtl: Provide function definition on MSVC.
178         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
179         a function pointer.
180         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
181
182 2012-02-24  Bruno Haible  <bruno@clisp.org>
183
184         ceill: Provide function definition on MSVC.
185         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
186         used as a function pointer.
187         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
188
189 2012-02-24  Bruno Haible  <bruno@clisp.org>
190
191         floorl: Provide function definition on MSVC.
192         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
193         used as a function pointer.
194         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
195
196 2012-02-24  Bruno Haible  <bruno@clisp.org>
197
198         ceilf: Provide function definition on MSVC.
199         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
200         used as a function pointer.
201         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
202
203 2012-02-24  Bruno Haible  <bruno@clisp.org>
204
205         floorf: Provide function definition on MSVC.
206         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
207         used as a function pointer.
208         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
209
210 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
211
212         stdnoreturn: new module
213         This implements a replacement for C11's <stdnoreturn.h>.
214         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
215         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
216         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
217         * tests/test-stdnoreturn.c: New files.
218
219 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
220
221         regex: fix false multibyte matches in some regular expressions
222         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
223         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
224         * lib/regex_internal.c (re_string_skip_chars):
225         Fix miscomputation of remain_len that may cause incomplete
226         multi-byte character and false match.
227
228 2012-02-24  Jim Meyering  <meyering@redhat.com>
229
230         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
231         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
232         uses with "==" *before* the call, e.g., 0 == strcmp (...)
233         Remove now-unnecessary str''cmp obfuscation.
234         Suggested by Akim Demaille.
235
236 2012-02-24  Bruno Haible  <bruno@clisp.org>
237
238         streq: Rename macro.
239         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
240         * NEWS: Mention the change.
241         * lib/mbrtowc.c (mbrtowc): Update.
242         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
243         * lib/wcwidth.c (wcwidth): Update.
244         Suggested by Akim Demaille and Jim Meyering.
245
246 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
247
248         regex: fix typo in definition of MIN
249         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
250         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
251
252 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
253             Bruno Haible  <bruno@clisp.org>
254
255         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
256         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
257         entries into a stack-allocated buffer directly.
258         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
259
260 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
261             Bruno Haible  <bruno@clisp.org>
262
263         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
264
265          - There were several instances of this pattern:
266
267              for (;;) {
268                n = acl (f, GETACLCNT, 0, NULL);
269                [ allocate an array A of size N ]
270                if (acl (f, GETACL, n, a) == n)
271                  break;
272              }
273
274            This loop might never terminate if some other process is constantly
275            manipulating the file's ACL.  The loop should be rewritten to
276            terminate.
277
278          - The acl (... GETACLNT ...) call is merely an optimization; its value
279            is merely a hint as to how big to make the array.  A better
280            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
281            and just guess a reasonably-big size, growing the size and trying
282            again if it's not large enough.  This guarantees termination, and
283            saves a system call.
284
285         * lib/acl-internal.h: Include <limits.h>.
286         (MIN, SIZE_MAX): New macros.
287         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
288         a stack-allocated buffer, and use malloc if it does not fit. Don't
289         use GETACLCNT.
290         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
291
292 2012-02-19  Bruno Haible  <bruno@clisp.org>
293
294         acl: Fix endless loop on Solaris with vxfs.
295         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
296         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
297         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
298         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
299         * tests/test-sameacls.c (main)[Solaris]: Likewise.
300         Reported by Bill Jones in
301         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
302
303 2012-02-19  Bruno Haible  <bruno@clisp.org>
304
305         acl: Fix copy-acl test failure on Solaris 11 2011-11.
306         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
307         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
308         that this function returns 0 in some more cases.
309
310 2012-02-19  Bruno Haible  <bruno@clisp.org>
311
312         acl: Update doc references.
313         * doc/acl-resources.txt: Update links to Solaris documentation.
314
315 2012-02-19  Bruno Haible  <bruno@clisp.org>
316
317         Fix test failure in many locales on Solaris 11.
318         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
319         'tr' arguments.
320         * tests/test-pipe-filter-ii1.c (main): Likewise.
321         * build-aux/bootstrap (check_versions): Run 'tr' command with range
322         expressions in the C locale.
323         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
324         * m4/host-os.m4 (gl_HOST_OS): Likewise.
325
326 2012-02-19  Bruno Haible  <bruno@clisp.org>
327
328         gnulib-tool: Improve usage message.
329         * gnulib-tool (func_usage): Move doc of --help and --version to the
330         section "Operation modes".
331
332 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
333
334         README-release: make it easier to execute commands
335         * top/README-release: break commands out on to separate lines.
336
337 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
338
339         GNUmakefile: simplify detection of unconfigured trees
340         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
341         whether the tree make is being run from is already configured or
342         not.  Related simplifications.
343
344 2012-02-13  Simon Josefsson  <simon@josefsson.org>
345
346         * gnulib-tool (func_usage): Document --help and --version.
347
348 2012-02-11  Jim Meyering  <meyering@redhat.com>
349
350         bootstrap: don't exit 0 upon gnulib-tool failure
351         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
352         its exit status, not 0.
353
354 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
355
356         README-release: various improvements
357         * top/README-release: Give a command to push changes for the
358         release.  Add "distcheck" to list of other pre-release checks.
359         Fix instance of "make stable" which should be "make TYPE".
360
361 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
362
363         maint: replace FSF snail-mail addresses with URLs
364         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
365         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
366         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
367         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
368         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
369         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
370         * lib/check-version.c, lib/check-version.h, lib/config.charset:
371         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
372         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
373         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
374         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
375         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
376         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
377         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
378         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
379         * lib/glthread/thread.c, lib/glthread/thread.h:
380         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
381         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
382         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
383         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
384         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
385         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
386         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
387         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
388         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
389         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
390         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
391         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
392         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
393         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
394         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
395         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
396         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
397         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
398         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
399         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
400         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
401         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
402         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
403         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
404         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
405         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
406         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
407         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
408         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
409         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
410         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
411         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
412         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
413         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
414         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
415         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
416         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
417         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
418         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
419         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
420         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
421         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
422         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
423         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
424         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
425         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
426         * tests/test-poll.c, tests/test-quotearg-simple.c:
427         * tests/test-quotearg.c, tests/test-quotearg.h:
428         * tests/test-round-ieee.c, tests/test-round1.c:
429         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
430         * tests/test-roundl-ieee.c, tests/test-roundl.c:
431         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
432         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
433         * tests/test-strerror.c, tests/test-strerror_r.c:
434         * tests/test-strsignal.c, tests/test-strverscmp.c:
435         * tests/test-xmemdup0.c:
436         Replace FSF snail mail addresses with URLs, as per GNU coding
437         standards.  See glibc bug
438         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
439
440 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
441
442         README-release: capitalize a word and split a line
443         * top/README-release: Fix punctuation and spacing.
444
445 2012-02-08  Akim Demaille  <demaille@gostai.com>
446
447         fatal-signal: use C prototypes (with explicit void).
448         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
449         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
450
451 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
452
453         regex: spelling fix
454         * lib/regexec.c: spelling fix
455
456         regex: rely on stdint.h for SIZE_MAX
457         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
458
459 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
460
461         regex: merge glibc changes
462
463         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
464         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
465         (init_word_char): Work even if bitset words are not exactly 32 or
466         64 bits wide.  Don't assume there are no padding bits.
467         * lib/regex.c [_LIBC]: Do not include <config.h>.
468         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
469         and -Wtype-limits.
470         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
471         needless disagreement with glibc.  All uses changed.  Define it to
472         1 only if _GNU_SOURCE, to match glibc.
473         (_REG_RM_NAME): Remove; no longer needed, since the names in
474         question are now all protected by __USE_GNU.
475         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
476         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
477         * lib/regex_internal.h (MIN): New macro.
478
479         2012-01-03 Ulrich Drepper <drepper@gmail.com>
480         * lib/regcomp.c (init_word_char): Optimize regex a bit.
481
482         2011-12-30 Jakub Jelinek <jakub@redhat.com>
483         * lib/regex_internal.c (re_string_fetch_byte_case):
484         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
485         is miscompiled, and it turns out it is because of an incorrect
486         attribute on re_string_fetch_byte_case.  Unlike
487         re_string_peek_byte_case, this one is really not pure, it modifies
488         memory (increments pstr->cur_idx), and with the pure attribute GCC
489         assumed it doesn't and it cached the presumed value of
490         regexp->cur_idx in a variable across the
491          for (;; ++i)
492            {
493              if (i >= BRACKET_NAME_BUF_SIZE)
494                return REG_EBRACK;
495              if (token->type == OP_OPEN_CHAR_CLASS)
496                ch = re_string_fetch_byte_case (regexp);
497              else
498                ch = re_string_fetch_byte (regexp);
499              if (re_string_eoi(regexp))
500                return REG_EBRACK;
501              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
502                break;
503              elem->opr.name[i] = ch;
504            }
505
506         2011-11-29 Andreas Schwab <schwab@redhat.com>
507         * lib/regcomp.c (build_equiv_class):
508         Fix access after end of search string in regex matcher.
509
510         2011-11-12 Ulrich Drepper <drepper@redhat.com>
511         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
512
513         2011-10-12 Ulrich Drepper <drepper@redhat.com>
514         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
515
516         2011-10-11 Ulrich Drepper <drepper@redhat.com>
517         * lib/regcomp.c (parse_branch, parse_sub_exp):
518         More regex memory leak fixes and tests.
519         (parse_sub_exp, parse_bracket_exp):
520         Fix memory leak for some invalid regular expressions.
521
522         2011-05-28 Ulrich Drepper <drepper@gmail.com>
523         * lib/regex_internal.c, lib/regexec.c:
524         Fix unnecessary overallocation due to incomplete character.  When
525         incomplete characters are found at the end of a string the code
526         ran amok and allocated lots of memory.  Stricter limits are now in
527         place.
528
529         2011-05-20 Reuben Thomas <rrt@sc3d.org>
530         * lib/regex.h: Update documentation.
531
532         2011-05-16 Aharon Robbins <arnold@skeeve.com>
533         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
534
535         2010-05-05 Andreas Schwab <schwab@redhat.com>
536         * lib/regexec.c (find_collation_sequence_value):
537         Fix lookup of collation sequence value during regexp matching.
538
539         2010-01-22 Ulrich Drepper <drepper@redhat.com>
540         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
541
542         2008-01-16 Ulrich Drepper <drepper@redhat.com>
543         * lib/regex.h: Cleanup namespace.
544
545         2007-11-26 Ulrich Drepper <drepper@redhat.com>
546         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
547
548         2007-08-26 Ulrich Drepper <drepper@redhat.com>
549         * lib/regex_internal.h: Prevent some declarations and definitions
550         to be seen when used in tests.
551
552         2005-05-06 Ulrich Drepper <drepper@redhat.com>
553         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
554         __libc_lock_* macros if not _LIBC.
555         (struct re_dfa_t): Add lock.
556
557 2012-02-07  Eric Blake  <eblake@redhat.com>
558
559         maint.mk: also prohibit lower-case @var@
560         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
561         lower case, like @top_srcdir@.
562
563 2012-02-04  Eric Blake  <eblake@redhat.com>
564
565         canonicalize: avoid uninitialized memory use
566         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
567         random '/' left in dest.
568         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
569
570 2012-02-04  Bruno Haible  <bruno@clisp.org>
571
572         isatty: Fix test failure of ptsname_r on native Windows.
573         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
574         and don't set errno.
575         (isatty): Test first whether fd is valid. Set errno when returning 0.
576
577 2012-02-04  Bruno Haible  <bruno@clisp.org>
578
579         spawn-pipe tests: Fix a NULL program name in a diagnostic.
580         * tests/test-spawn-pipe-main.c: Include progname.h.
581         (main): Invoke set_program_name.
582         * modules/spawn-pipe-tests (Depends-on): Add progname.
583
584         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
585         * tests/test-nonblocking-socket-main.c: Include progname.h.
586         (main): Invoke set_program_name.
587         * modules/nonblocking-socket-tests (Depends-on): Add progname.
588
589         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
590         * tests/test-nonblocking-pipe-main.c: Include progname.h.
591         (main): Invoke set_program_name.
592         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
593
594 2012-02-04  Eric Blake  <eblake@redhat.com>
595
596         canonicalize-lgpl: fix // handling
597         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
598
599         canonicalize: fix // handling
600         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
601         /// to //, since only // is special.
602
603 2012-02-04  Bruno Haible  <bruno@clisp.org>
604
605         ioctl: Fix test failure on native Windows.
606         * lib/ioctl.c: Include msvc-nothrow.h.
607         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
608
609 2012-02-04  Bruno Haible  <bruno@clisp.org>
610
611         fsync: Avoid test failure on native Windows.
612         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
613         read-only.
614
615 2012-02-04  Bruno Haible  <bruno@clisp.org>
616
617         sys_select: Avoid syntax error on OpenBSD 5.0.
618         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
619         currently being included, just include the system's <sys/select.h>.
620
621 2012-02-04  Bruno Haible  <bruno@clisp.org>
622
623         sys_select: Avoid syntax error on OpenBSD 5.0.
624         * lib/sys_select.in.h: Include <signal.h> only after the include_next
625         <sys/select.h>, not before.
626         Reported by Jiri B <jirib@devio.us>.
627
628 2012-02-04  Bruno Haible  <bruno@clisp.org>
629
630         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
631         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
632         global variables.
633         * tests/test-get-rusage-data.c (main): Likewise.
634         Reported by Jim Meyering.
635
636 2012-02-04  Bruno Haible  <bruno@clisp.org>
637
638         stdioext: Fix last commit.
639         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
640
641 2012-02-03  Bruno Haible  <bruno@clisp.org>
642
643         stdioext: Add tentative support for Plan9.
644         * lib/stdio-impl.h: Include <errno.h>.
645         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
646         * lib/freadable.c (freadable): Likewise.
647         * lib/fwritable.c (fwritable): Likewise.
648         * lib/fbufmode.c (fbufmode): Likewise.
649         * lib/freading.c (freading): Likewise.
650         * lib/fwriting.c (fwriting): Likewise.
651         * lib/freadptr.c (freadptr): Likewise.
652         * lib/freadseek.c (freadptrinc): Likewise.
653         * lib/freadahead.c (freadahead): Likewise.
654         * lib/fpurge.c (fpurge): Likewise.
655         * lib/fseeko.c (rpl_fseeko): Likewise.
656         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
657         Reported by Jens Staal <staal1978@gmail.com>.
658
659 2012-02-02  Jim Meyering  <meyering@redhat.com>
660
661         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
662         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
663         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
664         not even to try to add the attribute.  Instead, add a pragma to suppress
665         the suggestion/warning.
666
667 2012-01-31  Karl Berry  <karl@gnu.org>
668
669         setstate doc: typo.
670         * doc/posix-functions/setstate.texi (setstate): { not (.
671
672 2012-01-31  Bruno Haible  <bruno@clisp.org>
673
674         popen: Make more robust on Windows.
675         * lib/popen.c: On native Windows, use the _popen based code even if
676         HAVE_POPEN is set.
677         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
678         environment variable on native Windows.
679
680 2012-01-30  Bruno Haible  <bruno@clisp.org>
681
682         pclose: Fix typo.
683         * lib/stdio.in.h (pclose): Fix typo in warning message.
684
685 2012-01-30  Bruno Haible  <bruno@clisp.org>
686
687         doc about getlogin_r, setstate.
688         * doc/posix-functions/getlogin_r.texi: List the incompatible
689         declaration problem under "not fixed by gnulib".
690         * doc/posix-functions/setstate.texi: Mention incompatible declaration
691         problem on Solaris 11 and other platforms.
692
693 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
694             Bruno Haible  <bruno@clisp.org>
695
696         poll tests: Make test more robust.
697         * tests/test-poll.c: Include macros.h.
698         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
699         return value of various I/O operations.
700         * modules/poll-tests (Files): Add tests/macros.h.
701
702 2012-01-30  Bruno Haible  <bruno@clisp.org>
703
704         sys_stat: Fix support for mingw64 and MSVC.
705         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
706         header files already do it.
707         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
708         stat itself.
709         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
710
711 2012-01-30  Bruno Haible  <bruno@clisp.org>
712
713         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
714         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
715         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
716
717 2012-01-29  Bruno Haible  <bruno@clisp.org>
718
719         quotearg: Fix test failure on MacOS X 10.5.
720         * tests/test-quotearg-simple.c: Include localcharset.h.
721         (main): If the locale encoding is not ASCII, bypass the tests of
722         locale_quoting_style and clocale_quoting_style.
723         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
724
725 2012-01-29  Jim Meyering  <meyering@redhat.com>
726
727         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
728         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
729         detect uses of canonicalize_file_name.
730
731 2012-01-28  Bruno Haible  <bruno@clisp.org>
732
733         test-framework-sh: Fix test failure with AIX 7.1 diff.
734         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
735         in column 1, like 'diff -c' does.
736         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
737         whether 'diff -u' is used. Instead, test whether the output contains
738         some '@' character.
739
740 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
741
742         strtoimax: eliminate need for stdint.h, inttypes.h checks
743         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
744         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
745         the prerequisites for a recently-introduced strtoimax test.
746         I guess this might cause strtoimax to be replaced when not
747         strictly necessary on older hosts, but this shouldn't introduce
748         any bugs and it should make Emacs 'configure' faster on typical
749         modern hosts.  Problem discovered when importing the latest gnulib
750         to an Emacs test version.
751         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
752
753 2012-01-28  Bruno Haible  <bruno@clisp.org>
754
755         sys_time: Override 'struct timeval' on some native Windows platforms.
756         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
757         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
758         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
759         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
760         needs to be overridden.
761         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
762         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
763         * tests/test-sys_select.c: Check that the tv_sec member has the same
764         size as a 'time_t'.
765         * tests/test-sys_time.c: Likewise.
766         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
767         is set, set also REPLACE_GETTIMEOFDAY.
768         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
769         convert the resulting 'struct timeval' before returning.
770         * lib/select.c: Include <sys/time.h>.
771         (select, timeval): Undefine at the right place.
772         * modules/select (Depends-on): Add sys_time.
773         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
774         some Windows platforms.
775         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
776
777 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
778
779         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
780         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
781         an integer.
782         * lib/fcntl.c (dupfd): Likewise.
783         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
784
785 2012-01-28  Bruno Haible  <bruno@clisp.org>
786
787         fcntl: Avoid compilation error on native Windows.
788         * modules/fcntl (Depends-on): Add 'close'.
789
790 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
791
792         select, poll, isatty: Avoid warnings on x86_64 mingw64.
793         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
794         pointer to an integer.
795         * lib/poll.c (IsConsoleHandle): Likewise.
796         * lib/isatty.c (IsConsoleHandle): Likewise.
797
798 2012-01-28  Jim Meyering  <meyering@redhat.com>
799
800         doc: clarify README-release
801         * top/README-release: Clarify: you should make a point to have
802         the latest stable versions of build tools in your PATH, and the
803         reference to buildreq is solely for its list of tool names, not
804         for its minimal-functional version numbers.
805         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
806
807         maint.mk: use more readable (yet functionally equivalent) quoting
808         It is common to quote a single quote in a single quoted string like
809         this:  '...'\''...'.  Unless you know the idiom, that looks like
810         gibberish, so prefer to double-quote the string when possible.
811         Then you can use a more readable, lone single quote: "...'..."
812         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
813         "don't" is more readable than the equivalent 'don'\''t'.
814         (sc_cast_of_x_alloc_return_value): Likewise.
815         (sc_cast_of_alloca_return_value): Likewise.
816         (sc_makefile_path_separator_check): Similar: use ":" in '...',
817         rather than '\'':'\''.
818
819 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
820
821         stdalign: relax _Alignof and tighten _Alignas test
822         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
823         as it was too strict: alignof must divide offsetof, but it need
824         not equal offsetof.  Inspired by Joseph S. Myers's comment
825         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
826         Conversely, tighten the _Alignas test a bit, as the resulting
827         alignment must be exactly 8.
828
829 2012-01-27  Bruno Haible  <bruno@clisp.org>
830
831         stdalign: Document the last change.
832         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
833
834 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
835
836         stdalign: check that alignof and offsetof are consistent
837         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
838         Problem reported for gnulib by Richard W.M. Jones in
839         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
840
841 2012-01-27  Jim Meyering  <meyering@redhat.com>
842
843         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
844         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
845         convert a sequence with gaps to the minimal containing range.
846         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
847         * tests/test-update-copyright.sh: Test for this.
848         The FSF confirmed it is ok to do this, assuming there is at
849         least one significant change per year in the affected range:
850         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
851
852 2012-01-26  Bruno Haible  <bruno@clisp.org>
853
854         pipe2: refine doc about thread-safety
855         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
856         multithread-safety problem.
857         * doc/glibc-functions/accept4.texi: Likewise.
858
859 2012-01-26  Bruno Haible  <bruno@clisp.org>
860
861         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
862         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
863         In the test program, include <fcntl.h>, for O_RDONLY.
864
865 2012-01-26  Eric Blake  <eblake@redhat.com>
866
867         pipe2: document lack of thread-safety in replacement
868         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
869         issue in replacement.
870         * doc/glibc-functions/accept4.texi (accept4): Likewise.
871         Based on a report by Eric Wong.
872
873 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
874             Bruno Haible  <bruno@clisp.org>
875
876         malloca: Avoid warnings on x86_64 mingw64.
877         * lib/malloca.c: Include <stdint.h>.
878         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
879         * modules/malloca (Depends-on): Add stdint.
880         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
881
882 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
883
884         obstack: remove __STDC__ conditionals
885         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
886         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
887         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
888         m4/include_next.m4 as the only gnulib-maintained places that still
889         refer to __STDC__.
890
891 2012-01-24  Bruno Haible  <bruno@clisp.org>
892
893         havelib: Modern quoting.
894         * build-aux/config.rpath: Quote 'like this', not `like this', as per
895         the recent change to the GNU coding standards.
896
897 2012-01-24  Bruno Haible  <bruno@clisp.org>
898
899         stdint: Improve support for Android.
900         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
901         Reported by Simon Josefsson <simon@josefsson.org>.
902
903 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
904
905         doc: omit trailing empty lines from INSTALL etc.
906         * doc/Makefile (INSTALL): Omit trailing empty lines.
907         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
908         omit trailing empty lines.  This simplifies the build procedure.
909
910 2012-01-23  Jim Meyering  <meyering@redhat.com>
911
912         tests: avoid spurious warnings about gl_sockets_startup
913         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
914         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
915         reporting a "statement with no effect".
916         * tests/test-accept.c (main): Mark as "(void)".
917         * tests/test-accept4.c (main): Likewise.
918         * tests/test-bind.c (main): Likewise.
919         * tests/test-connect.c (main): Likewise.
920         * tests/test-getpeername.c (main): Likewise.
921         * tests/test-getsockname.c (main): Likewise.
922         * tests/test-getsockopt.c (main): Likewise.
923         * tests/test-listen.c (main): Likewise.
924         * tests/test-recv.c (main): Likewise.
925         * tests/test-recvfrom.c (main): Likewise.
926         * tests/test-send.c (main): Likewise.
927         * tests/test-sendto.c (main): Likewise.
928         * tests/test-setsockopt.c (main): Likewise.
929         * tests/test-shutdown.c (main): Likewise.
930
931 2012-01-21  Bruno Haible  <bruno@clisp.org>
932
933         locale-fr.m4: Fix for Android.
934         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
935         failure of the test program on Bionic libc.
936
937 2012-01-21  Jim Meyering  <meyering@redhat.com>
938
939         bootstrap: fail when bootstrap_post_import_hook fails
940         Otherwise, it's far too easy to miss diagnostics emitted
941         between gnulib-tool's output and that of running configure.
942         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
943
944 2012-01-17  Jim Meyering  <meyering@redhat.com>
945
946         maint: enable sc_trailing_blank
947         * build-aux/pmccabe.css: Remove trailing blanks.
948         * doc/acl-cygwin.txt: Likewise.
949         * doc/gnu-oids.texi: Likewise
950         * cfg.mk: Enable sc_trailing_blank.
951         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
952
953 2012-01-17  Jim Meyering  <meyering@redhat.com>
954
955         maint: enable sc_prohibit_openat_without_use
956         * cfg.mk: Enable sc_prohibit_openat_without_use.
957         Exempt lib/selinux-at.c.
958
959 2012-01-17  Jim Meyering  <meyering@redhat.com>
960
961         maint: enable sc_prohibit_cloexec_without_use
962         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
963         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
964
965 2012-01-17  Jim Meyering  <meyering@redhat.com>
966
967         maint: enable sc_prohibit_intprops_without_use
968         * cfg.mk: Enable sc_prohibit_intprops_without_use
969         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
970
971 2012-01-17  Jim Meyering  <meyering@redhat.com>
972
973         maint: enable sc_prohibit_hash_pjw_without_use
974         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
975         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
976         to match any use of \<hash_pjw\>, i.e., not necessarily with a
977         following " (".
978
979 2012-01-17  Jim Meyering  <meyering@redhat.com>
980
981         maint: enable double-word-prohibiting rule
982         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
983         Exempt three files.
984
985 2012-01-17  Jim Meyering  <meyering@redhat.com>
986
987         maint: remove empty lines at EOF, but excluding modules/*
988         Apply syntax rules at home as well as abroad.  Most changes
989         were induced by running this:
990           make srcdir=. _build-aux=build-aux -f top/maint.mk \
991             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
992             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
993         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
994         Exempt modules/* and two binary files.
995         Also exempt doc/INSTALL*, per request from Bruno Haible.
996         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
997         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
998         * doc/Copyright/request-assign.future: Likewise.
999         * doc/Copyright/request-disclaim.changes: Likewise.
1000         * doc/INSTALL: Likewise.
1001         * doc/INSTALL.ISO: Likewise.
1002         * doc/INSTALL.UTF-8: Likewise.
1003         * doc/acl-cygwin.txt: Likewise.
1004         * doc/acl-resources.txt: Likewise.
1005         * doc/fdl-1.2.texi: Likewise.
1006         * doc/fdl-1.3.texi: Likewise.
1007         * doc/fdl.texi: Likewise.
1008         * lib/argp-pin.c: Likewise.
1009         * lib/round.c: Likewise.
1010         * lib/unicase/u16-totitle.c: Likewise.
1011         * lib/unictype/block_test.c: Likewise.
1012         * lib/uninorm/canonical-decomposition.c: Likewise.
1013         * m4/README: Likewise.
1014         * m4/relocatable-lib.m4: Likewise.
1015         * tests/test-isnand-nolibm.c: Likewise.
1016         * tests/test-isnand.c: Likewise.
1017         * tests/uninorm/NormalizationTest.txt: Likewise.
1018
1019 2012-01-17  Jim Meyering  <meyering@redhat.com>
1020
1021         maint: add framework to run syntax-check rules against gnulib sources
1022         * cfg.mk: New file, to disable all currently-failing tests.
1023         We'll enable them one by one, as they are made to pass.
1024         * Makefile (sc_maint): New rule.
1025
1026 2012-01-21  Bruno Haible  <bruno@clisp.org>
1027
1028         stdint: Add support for Android.
1029         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
1030         include the system's <stdint.h>.
1031         Reported by Simon Josefsson <simon@josefsson.org>.
1032
1033 2012-01-19  Jim Meyering  <meyering@redhat.com>
1034
1035         bootstrap: add bootstrap_post_import_hook
1036         Bison does still need something like the gnulib_mk_hook whose
1037         invocation I had to remove along with slurp in commit 767ccd40.
1038         Technically, we could get along without it, but doing so would
1039         have required living with a warning and a mandatory post-bootstrap
1040         automake rerun.
1041         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
1042         (bootstrap_post_import_hook): New function.
1043         Invoke it after gnulib-tool --import and before autoreconf.
1044
1045 2012-01-18  Jim Meyering  <meyering@redhat.com>
1046
1047         gitlog-to-changelog: don't use "no_"-prefixed variable name
1048         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
1049         to enable both --cluster and --no-cluster.  Change variable name,
1050         s/\$no_cluster/$cluster/, and reverse usage to match.
1051
1052         gitlog-to-changelog: use "||", not "or" in expressions
1053         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
1054         expressions.
1055
1056 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
1057
1058         gitlog-to-changelog: new option --no-cluster
1059         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
1060         clustering of adjacent commit messages.
1061
1062 2012-01-17  Jim Meyering  <meyering@redhat.com>
1063
1064         maint: spell file systems with two words, not one
1065         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
1066         two words, not one.
1067
1068 2012-01-16  Jim Meyering  <meyering@redhat.com>
1069
1070         bootstrap: add a FIXME comment to ensure we eventually remove the hack
1071         * build-aux/bootstrap (gnulib_tool_options): Add comment.
1072
1073 2012-01-16  Eric Blake  <eblake@redhat.com>
1074
1075         bootstrap: cater to autoconf 2.59
1076         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
1077         is not available.
1078
1079         bootstrap: properly check for libtool
1080         * build-aux/bootstrap (libtoolize): Also run libtool when older
1081         usage is detected.
1082
1083 2012-01-15  Bruno Haible  <bruno@clisp.org>
1084
1085         Improve support for MSVC 9.
1086         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
1087         clashes on MSVC.
1088         * lib/fcntl.in.h: Likewise.
1089         * lib/stdlib.in.h: Likewise.
1090         * lib/sys_stat.in.h: Likewise.
1091
1092 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
1093
1094         gnupload: we hold the master copy of this script now
1095         For motivation and more information, see:
1096         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
1097         * build-aux/gnupload: Make it clear in the heading comments that the
1098         master copy of this file is maintained by gnulib.  Since we are at
1099         it, bump its copyright year and ...
1100         ($scriptversion): ... the date in its version.
1101         ($usage): Patches and bug reports should be sent to the gnulib list,
1102         not the automake one.
1103         * config/srclist.txt: Don't try to sync 'gnupload' from automake
1104         anymore.
1105
1106 2012-01-15  Bruno Haible  <bruno@clisp.org>
1107
1108         Fix module 'random'.
1109         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
1110         initstate, setstate are declared.
1111
1112 2012-01-14  Bruno Haible  <bruno@clisp.org>
1113
1114         Tests for module 'random'.
1115         * modules/random-tests: New file.
1116         * tests/test-random.c: New file, based on tests/test-random_r.c.
1117
1118         New module 'random'.
1119         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
1120         declarations.
1121         * lib/random.c: New file, based on glibc/stdlib/random.c.
1122         * m4/random.m4: New file.
1123         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
1124         HAVE_RANDOM.
1125         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
1126         * modules/random: New file.
1127         * config/srclist.txt: Add an entry for random.c.
1128         * doc/posix-functions/random.texi: Mention the 'random' module.
1129         * doc/posix-functions/initstate.texi: Likewise.
1130         * doc/posix-functions/setstate.texi: Likewise.
1131         * doc/posix-functions/srandom.texi: Likewise.
1132
1133 2012-01-12  Bruno Haible  <bruno@clisp.org>
1134
1135         random_r: Use common idioms.
1136         * lib/random_r.c: Include <stdlib.h> first.
1137
1138         random_r: Override incompatible API on AIX, OSF/1.
1139         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
1140         Override the system function if REPLACE_RANDOM_R is 1.
1141         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
1142         and OSF/1, set REPLACE_RANDOM_R.
1143         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
1144         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
1145         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
1146         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
1147         * doc/glibc-functions/random_r.texi: Likewise.
1148         * doc/glibc-functions/setstate_r.texi: Likewise.
1149
1150         random_r: Support for MSVC 9.
1151         * lib/random_r.c: Include stdint.h, not inttypes.h.
1152
1153 2012-01-12  Eric Blake  <eblake@redhat.com>
1154
1155         inet_ntop: guard extra work by IF_LINT
1156         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
1157         better code generation when not checking for warnings.
1158         Suggested by Paul Eggert and Jim Meyering.
1159
1160         strptime: fix regression on mingw
1161         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
1162         Fix regression.  Reported by Bruno Haible.
1163
1164 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
1165             Bruno Haible  <bruno@clisp.org>
1166
1167         copy-file: add error-code-returning variant.
1168         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
1169         (qcopy_file_preserving): New declaration.
1170         * lib/copy-file.c (qcopy_file_preserving): Renamed from
1171         copy_file_preserving. Change return type to 'int'. Don't emit an error
1172         message here.
1173         (copy_file_preserving): New function.
1174         * tests/test-copy-file.c: Include <stdlib.h>.
1175         (main): Test qcopy_file_preserving if the environment variable
1176         NO_STDERR_OUTPUT is set.
1177         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
1178         with NO_STDERR_OUTPUT
1179         * tests/test-copy-file-2.sh: Likewise.
1180
1181 2012-01-10  Bruno Haible  <bruno@clisp.org>
1182
1183         copy-file: Use 'quote' module consistently.
1184         * lib/copy-file.c (copy_file_preserving): Use quote().
1185
1186         copy-file: Refactor.
1187         * lib/copy-file.c: Include quote.h.
1188         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
1189         message here.
1190         * modules/copy-file (Depends-on): Add quote.
1191
1192         acl: Export qcopy_acl.
1193         * lib/acl.h (qcopy_acl): New declaration.
1194         * lib/copy-acl.c (qcopy_acl): Make non-static.
1195
1196         acl: Rename a local variable.
1197         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
1198
1199         acl: Align return values of copy_acl and qcopy_acl.
1200         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
1201         maybe < -1.
1202
1203 2012-01-11  Eric Blake  <eblake@redhat.com>
1204
1205         strptime: silence gcc warnings
1206         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
1207         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
1208         Reported by Daniel P. Berrange.
1209
1210         inet_ntop: silence gcc warning
1211         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
1212         Reported by Daniel P. Berrange.
1213
1214 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
1215
1216         getloadavg test: skip the test on GNU/Linux without /proc mounted
1217         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
1218         file.  When /proc is not mounted, it always fails with ENOENT.
1219         * tests/test-getloadavg.c (main): Treat ENOENT return code from
1220         getloadavg(3) the same way as ENOSYS and ENOTSUP.
1221
1222 2012-01-10  Bruno Haible  <bruno@clisp.org>
1223
1224         regex: Avoid link error on MSVC 9.
1225         * modules/regex (Depends-on): Add wctype.
1226
1227 2012-01-10  Bruno Haible  <bruno@clisp.org>
1228
1229         doc: Mention --with-tests option.
1230         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
1231         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
1232         --with-tests.
1233         Reported by Reuben Thomas.
1234
1235 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
1236
1237         users.txt: order package names lexicographically.
1238         * users.txt: Order package names lexicographically.
1239
1240 2012-01-10  Jim Meyering  <meyering@redhat.com>
1241
1242         maint.mk: fix description in comment
1243         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
1244
1245         ignore-value: remove deprecated ignore_ptr function
1246         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
1247         * NEWS: Note this.
1248
1249 2012-01-09  Jim Meyering  <meyering@redhat.com>
1250
1251         test-init.sh: avoid a subshell
1252         * tests/test-init.sh: Remove protective subshell.
1253         Suggested by Bernhard Voelker.  While a subshell is normally
1254         required to protect against older shells (Solaris, FreeBSD) that
1255         warn about a missing program before performing redirection, the
1256         shell-selection tests performed by init.sh probably exclude any
1257         offending shell.
1258
1259 2012-01-08  Bruno Haible  <bruno@clisp.org>
1260
1261         setlocale tests: Avoid test failure on Solaris 11 2011-11.
1262         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
1263         variable.
1264
1265 2012-01-08  Bruno Haible  <bruno@clisp.org>
1266
1267         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
1268         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1269         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1270         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
1271         macro.
1272         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
1273         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1274         * lib/spawn_faction_addopen.c: Add workaround implementation if
1275         HAVE_WORKING_POSIX_SPAWN.
1276         * modules/spawn (Makefile): Substitute
1277         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
1278         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
1279         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
1280         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
1281         (Depends-on): Update conditions.
1282         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
1283         the Solaris 11 bug.
1284
1285 2012-01-08  Bruno Haible  <bruno@clisp.org>
1286
1287         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
1288         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1289         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1290         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
1291         macro.
1292         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
1293         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1294         * lib/spawn_faction_adddup2.c: Add workaround implementation if
1295         HAVE_WORKING_POSIX_SPAWN.
1296         * modules/spawn (Makefile): Substitute
1297         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
1298         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
1299         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
1300         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
1301         (Depends-on): Update conditions.
1302         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
1303         the Solaris 11 bug.
1304
1305 2012-01-08  Bruno Haible  <bruno@clisp.org>
1306
1307         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
1308         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
1309         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1310         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
1311         HAVE_WORKING_POSIX_SPAWN.
1312         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
1313         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
1314         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1315         * lib/spawn_faction_addclose.c: Add workaround implementation if
1316         HAVE_WORKING_POSIX_SPAWN.
1317         * modules/spawn (Makefile): Substitute
1318         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
1319         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
1320         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
1321         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
1322         (Depends-on): Update conditions.
1323         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
1324         the Solaris 11 bug.
1325
1326 2012-01-08  Bruno Haible  <bruno@clisp.org>
1327
1328         doc: Update for Solaris 11 2011-11.
1329         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
1330         * m4/printf.m4: Update comments.
1331
1332 2012-01-08  Bruno Haible  <bruno@clisp.org>
1333
1334         mktime: Avoid compilation error on Solaris 11.
1335         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
1336
1337 2012-01-08  Bruno Haible  <bruno@clisp.org>
1338
1339         doc: Small fix.
1340         * doc/posix-headers/nl_types.texi: Correct platforms list.
1341
1342 2012-01-08  Simon Josefsson  <simon@josefsson.org>
1343
1344         Add lgpl-3.0 module.
1345         * MODULES.html.sh (Support for building documentation): Add
1346         lgpl-3.0.
1347         * modules/lgpl-3.0: New file.
1348
1349 2012-01-08  Jim Meyering  <meyering@redhat.com>
1350
1351         select.c: indent with spaces, not TABs
1352         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
1353
1354 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1355
1356         quotearg: do not use grave accent for left quote
1357         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
1358         locale_quoting_style.
1359         (quotearg_buffer_restyled): Fix example.
1360         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
1361
1362 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1363
1364         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
1365         Most programs do not have translation catalogs for English and much
1366         less separate catalogs for British and American English.  Drop the
1367         suggestion to translators about these two, and provide it
1368         automatically for Unicode locales.  Like most programs, even those
1369         using American English, we use single quotation marks.  This conflicts
1370         with the American typographic convention, but works better when you
1371         cite the entire error message within double quotes.  It also tries not
1372         to clash with established practice and with what non-gnulib programs
1373         will usually do.
1374         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
1375         using an UTF-8 or GB-18030 locale.  The list of other locales with
1376         quotes was provided by Bruno Haible.
1377         (quotearg_buffer_restyled): Adjust instructions to translators.
1378         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
1379         text, since this would be wrong when using Unicode.
1380         * modules/quotearg: Depend on c-strcaseeq.
1381
1382 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
1383
1384         quotearg: fix Wikipedia link
1385         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
1386
1387 2012-01-07  Simon Josefsson  <simon@josefsson.org>
1388
1389         Fix for mingw with MSVC9.
1390         * m4/ld-version-script.m4: Check that compiler rejects version
1391         scripts with syntax errors.  Reported by Bruno Haible
1392         <bruno@clisp.org>.
1393
1394 2012-01-06  Bruno Haible  <bruno@clisp.org>
1395
1396         Talk about "native Windows API", not "Woe32".
1397         * lib/accept4.c: Update comments to mention native Windows.
1398         * lib/execute.c: Likewise.
1399         * lib/fatal-signal.c: Likewise.
1400         * lib/localcharset.c: Likewise.
1401         * lib/nanosleep.c: Likewise.
1402         * lib/nl_langinfo.c: Likewise.
1403         * lib/pclose.c: Likewise.
1404         * lib/pipe-filter-gi.c: Likewise.
1405         * lib/pipe-filter-ii.c: Likewise.
1406         * lib/pipe.c: Likewise.
1407         * lib/pipe2.c: Likewise.
1408         * lib/popen.c: Likewise.
1409         * lib/progreloc.c: Likewise.
1410         * lib/relocatable.c: Likewise.
1411         * lib/sigaction.c: Likewise.
1412         * lib/sigprocmask.c: Likewise.
1413         * lib/spawn-pipe.h: Likewise.
1414         * lib/spawn-pipe.c: Likewise.
1415         * lib/spawni.c: Likewise.
1416         * lib/stat-time.h: Likewise.
1417         * lib/w32spawn.h: Likewise.
1418         * tests/test-isatty.c: Likewise.
1419         * lib/config.charset: More comments.
1420         * doc/gnulib-intro.texi: Mention native Windows.
1421         * doc/posix-functions/_Exit_C99.texi: Likewise.
1422         * doc/posix-headers/fcntl.texi: Likewise.
1423
1424 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
1425
1426         argp: Avoid crash if translator uses % characters in a translation.
1427         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
1428         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1429
1430 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1431
1432         doc: C11 and C++11 are now official
1433         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
1434         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
1435         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
1436         * modules/stdalign:
1437         Replace references to draft C1X to C11, and to draft C++0X to C++11.
1438
1439 2012-01-06  Bruno Haible  <bruno@clisp.org>
1440
1441         uc-is-grapheme-break tests: Tweak.
1442         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
1443         message.
1444
1445 2012-01-06  Bruno Haible  <bruno@clisp.org>
1446
1447         test-init.sh: correct the test for diff -u
1448         * tests/test-init.sh: Also redirect stdout to /dev/null.
1449
1450 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1451
1452         Use ', not `, for quoting output.
1453         * build-aux/announce-gen (usage, sizes, print_news_deltas)
1454         (print_changelog_deltas, get_tool_versions, main program):
1455         * build-aux/git-version-gen:
1456         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
1457         * build-aux/move-if-change (help):
1458         * build-aux/useless-if-before-free (usage, main program):
1459         * check-module (parse_module_file, usage)
1460         (find_included_lib_files, check_module):
1461         * lib/argmatch.c (main) [TEST]:
1462         * lib/argp-help.c (_help):
1463         * lib/getopt1.c (main) [TEST]:
1464         * lib/git-merge-changelog.c (usage):
1465         * lib/xstrtol-error.c (xstrtol_error):
1466         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
1467         * m4/argz.m4 (gl_FUNC_ARGZ):
1468         * m4/bison.m4 (gl_BISON):
1469         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
1470         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1471         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
1472         * m4/fpending.m4 (gl_PREREQ_FPENDING):
1473         * m4/gc-random.m4 (gl_GC_RANDOM):
1474         * m4/intl.m4 (gt_CHECK_DECL):
1475         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
1476         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
1477         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
1478         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
1479         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
1480         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
1481         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
1482         * tests/test-dirname.c (main):
1483         * tests/test-getpass.c (main):
1484         * tests/test-iconvme.c (main):
1485         * tests/test-parse-datetime.c (LOG):
1486         * tests/test-xstrtoimax.sh:
1487         * tests/test-xstrtol.sh:
1488         * tests/test-xstrtoll.sh:
1489         * tests/test-xstrtoumax.sh:
1490         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
1491         * top/GNUmakefile (abort-due-to-no-makefile):
1492         Quote 'like this', not `like this', as per the recent change to
1493         the GNU coding standards.
1494
1495 2012-01-05  Bruno Haible  <bruno@clisp.org>
1496
1497         strtoimax: Don't force a replacement on systems where intmax_t is int.
1498         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
1499         'intmax_t' is not larger than 'int'.
1500         Reported by Pádraig Brady <P@draigBrady.com>.
1501
1502 2012-01-05  Bruno Haible  <bruno@clisp.org>
1503
1504         doc: Mention NetBSD bugs.
1505         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
1506         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
1507
1508 2012-01-05  Bruno Haible  <bruno@clisp.org>
1509
1510         strtoumax tests: Enhance tests.
1511         * tests/test-strtoumax.c (main): Add tests for large values.
1512
1513 2012-01-05  Bruno Haible  <bruno@clisp.org>
1514
1515         strtoimax: Work around AIX 5.1 bug.
1516         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
1517         definition.
1518         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
1519         Set HAVE_STRTOIMAX.
1520         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
1521         REPLACE_STRTOIMAX.
1522         * modules/inttypes-incomplete (Makefile.am): Substitute
1523         REPLACE_STRTOIMAX.
1524         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
1525         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
1526         (Depends-on): Update conditions.
1527         * tests/test-strtoimax.c (main): Add tests for large values.
1528         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
1529
1530 2012-01-05  Bruno Haible  <bruno@clisp.org>
1531
1532         inttypes: Modernize.
1533         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
1534         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
1535         (Makefile.am): Update inttypes.h rule.
1536
1537 2012-01-05  Jim Meyering  <meyering@redhat.com>
1538
1539         init.sh: don't waste a subshell just to redirect stderr
1540         * tests/init.sh: In testing for diff -u and diff -c, use a
1541         stderr-redirecting exec inside `...` rather than a subshell.
1542
1543         test-init.sh: avoid failure on HP-UX 11.00
1544         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
1545         resolves to diff -c or cmp.  Reported by Bruno Haible.
1546
1547 2012-01-05  Bruno Haible  <bruno@clisp.org>
1548
1549         Tests for module 'strtoull'.
1550         * modules/strtoull-tests: New file.
1551         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
1552
1553 2012-01-05  Bruno Haible  <bruno@clisp.org>
1554
1555         Tests for module 'strtoll'.
1556         * modules/strtoll-tests: New file.
1557         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
1558
1559 2012-01-05  Bruno Haible  <bruno@clisp.org>
1560
1561         Tests for module 'strtoul'.
1562         * modules/strtoul-tests: New file.
1563         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
1564
1565 2012-01-05  Bruno Haible  <bruno@clisp.org>
1566
1567         Tests for module 'strtol'.
1568         * modules/strtol-tests: New file.
1569         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
1570
1571 2012-01-04  Jim Meyering  <meyering@redhat.com>
1572
1573         test-init.sh: accommodate Solaris 5.10's different diff -u output
1574         * tests/test-init.sh: Also exempt @@ lines from the comparison
1575         of diff output, since Solaris 5.10 and GNU diff formats differ.
1576         Reported by Stefano Lattarini.
1577
1578 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1579
1580         test-posixtm: don't assume signed integer wraparound
1581         * tests/test-posixtm.c (main): Don't assume wraparound semantics
1582         after signed integer overflow.  Inspired by (though it may not
1583         fix) Bruno Haible's bug report in
1584         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
1585
1586         Spell out "Windows 9x" and "Windows XP".
1587         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
1588         "Windows 9x" and "WinXP" with "Windows XP".
1589
1590 2012-01-04  Jim Meyering  <meyering@redhat.com>
1591
1592         test-vc-list-files-cvs.sh: remove obsolete comment
1593         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
1594         double exit.  Now that's all encapsulated via skip_ and Exit.
1595
1596 2012-01-04  Bruno Haible  <bruno@clisp.org>
1597
1598         Talk about "native Windows API", not "Win32".
1599         * lib/classpath.c: Update comments to mention native Windows.
1600         * lib/csharpexec.c: Likewise.
1601         * lib/dup2.c: Likewise.
1602         * lib/error.c: Likewise.
1603         * lib/fcntl.c: Likewise.
1604         * lib/filename.h: Likewise.
1605         * lib/findprog.c: Likewise.
1606         * lib/get-rusage-as.c: Likewise.
1607         * lib/get-rusage-data.c: Likewise.
1608         * lib/getpagesize.c: Likewise.
1609         * lib/javaexec.c: Likewise.
1610         * lib/msvc-inval.c: Likewise.
1611         * lib/msvc-nothrow.c: Likewise.
1612         * lib/nanosleep.c: Likewise.
1613         * lib/nonblocking.c: Likewise.
1614         * lib/printf-parse.c: Likewise.
1615         * lib/setlocale.c: Likewise.
1616         * lib/sigaction.c: Likewise.
1617         * lib/strerror_r.c: Likewise.
1618         * lib/tmpdir.c: Likewise.
1619         * lib/vasnprintf.c: Likewise.
1620         * lib/w32spawn.h: Likewise.
1621         * lib/waitpid.c: Likewise.
1622         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
1623         * m4/locale-ar.m4: Likewise.
1624         * m4/locale-fr.m4: Likewise.
1625         * m4/locale-ja.m4: Likewise.
1626         * m4/locale-tr.m4: Likewise.
1627         * m4/locale-zh.m4: Likewise.
1628         * m4/printf.m4: Likewise.
1629         * tests/test-cloexec.c: Likewise.
1630         * tests/test-copy-acl.sh: Likewise.
1631         * tests/test-copy-file.sh: Likewise.
1632         * tests/test-file-has-acl.sh: Likewise.
1633         * tests/test-set-mode-acl.sh: Likewise.
1634         * tests/test-dup-safer.c: Likewise.
1635         * tests/test-dup2.c: Likewise.
1636         * tests/test-dup3.c: Likewise.
1637         * tests/test-fcntl.c: Likewise.
1638         * tests/test-nonblocking-pipe.h: Likewise.
1639         * tests/test-nonblocking-socket.h: Likewise.
1640         * tests/test-pipe.c: Likewise.
1641         * tests/test-pipe2.c: Likewise.
1642         * tests/test-spawn-pipe-child.c: Likewise.
1643         * doc/acl-resources.txt: Likewise.
1644         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1645         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
1646         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
1647         * lib/localcharset.c: Update comments to mention native Windows.
1648         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1649         * lib/localename.c: Likewise.
1650         * lib/progreloc.c: Likewise.
1651         * lib/relocatable.c: Likewise.
1652         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
1653         (windows_compute_revents): Renamed from win32_compute_revents.
1654         (windows_compute_revents_socket): Renamed from
1655         win32_compute_revents_socket.
1656         * lib/select.c: Update comments to mention native Windows.
1657         (windows_poll_handle): Renamed from win32_poll_handle.
1658         * m4/threadlib.m4: Update comments to mention native Windows.
1659         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
1660         --enable-threads=windows instead of --enable-threads=win32. Set
1661         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
1662         * lib/glthread/lock.h: Update comments to mention native Windows.
1663         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
1664         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
1665         USE_WIN32_THREADS.
1666         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
1667         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
1668         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
1669         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
1670         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
1671         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
1672         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
1673         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
1674         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
1675         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
1676         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
1677         * tests/test-tls.c: Likewise.
1678         Rationale:
1679         Microsoft renamed the "Win32 API" to "Windows API", as it is available
1680         on both 32-bit and 64-bit Windows systems.
1681         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
1682         line of distinction is between "native Windows" on one side and Unix/
1683         POSIX systems on the other side. More details in
1684         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
1685         Suggested by Paul Eggert.
1686
1687 2012-01-03  Bruno Haible  <bruno@clisp.org>
1688
1689         isatty: Support for MSVC 9.
1690         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
1691         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
1692         (_isatty_nothrow): New function.
1693         (isatty): Use it instead of _isatty.
1694         (IsConsoleHandle): Add comment, from Paolo Bonzini.
1695         * lib/poll.c (IsConsoleHandle): Likewise.
1696         * lib/select.c (IsConsoleHandle): Likewise.
1697         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
1698         (gl_PREREQ_ISATTY): New macro.
1699         * modules/isatty (Depends-on): Add msvc-inval.
1700         (configure.ac): Invoke gl_PREREQ_ISATTY.
1701
1702 2012-01-03  Jim Meyering  <meyering@redhat.com>
1703
1704         maint.mk: remove temporary transition aid from over 1.5 years ago
1705         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
1706         purpose was to aid in the transition (avoiding silent malfunction)
1707         from that old name to the new _sc_search_regexp.  This shim was
1708         added by commit 219c504b.
1709
1710         init.sh: do not try to accommodate compare arguments starting with "-"
1711         * tests/init.sh (compare_dev_null_): Do not try to accommodate
1712         compare arguments that start with "-".  Besides, we do not worry
1713         about this when invoking diff or cmp; why start now with sed?
1714         Using "--" to separate options from argument would trigger sed
1715         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
1716         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
1717
1718 2012-01-02  Bruno Haible  <bruno@clisp.org>
1719
1720         Enhance tests for module 'isatty'.
1721         * modules/isatty-tests (Depends-on): Add pipe-posix.
1722         * tests/test-isatty.c: Include <fcntl.h>.
1723         (DEV_NULL): New macro.
1724         (main): Test the resut of isatty() also on regular files, pipes, and
1725         /dev/null.
1726
1727         New module 'isatty'.
1728         * lib/unistd.in.h (isatty): New declaration.
1729         * lib/isatty.c: New file, based on an idea of
1730         Bastien Roucariès <roucaries.bastien@gmail.com>.
1731         * m4/isatty.m4: New file.
1732         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
1733         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
1734         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
1735         REPLACE_ISATTY.
1736         * modules/isatty: New file.
1737         * doc/posix-functions/isatty.texi: Mention the new module.
1738         Suggested by Paolo Bonzini.
1739
1740 2012-01-02  Bruno Haible  <bruno@clisp.org>
1741
1742         canonicalize: Tweak 2011-12-29 commit.
1743         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
1744         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
1745
1746 2012-01-02  Jim Meyering  <meyering@redhat.com>
1747
1748         gitlog-to-changelog: describe input syntax in --help output
1749         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
1750
1751         gitlog-to-changelog: fix typo in --help: show backslash before email @
1752         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
1753         in sources, but not in actual output.
1754
1755 2011-12-30  Jim Meyering  <meyering@redhat.com>
1756
1757         gitlog-to-changelog: don't malfunction when name contains %-directive
1758         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
1759         in a name string cause trouble.  E.g., with a user name of "%s",
1760         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
1761
1762 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
1763
1764         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
1765         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
1766         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
1767         the "  (tiny change)" notation that is appended to the standard
1768         ChangeLog "date  name  email" header line.
1769
1770 2012-01-01  Jim Meyering  <meyering@redhat.com>
1771
1772         test-framework-sh: init.sh: fix "make dist" failure
1773         When using gnulib-tool's --with-tests option and any module that
1774         depends on test-framework-sh, "make dist" would fail due to the
1775         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
1776         in the gltests directory, and not in the gllib/ directory.
1777         One way to work around that is to move the EXTRA_DIST += init.sh
1778         from the primary module to the -tests one:
1779         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
1780         * modules/test-framework-sh (Makefile.am): ...not here.
1781         Reported by Tom G. Christensen in
1782         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
1783
1784         version-etc: update copyright year reported by --version
1785         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
1786
1787 2011-12-31  Pádraig Brady  <P@draigBrady.com>
1788
1789         canonicalize: only stat() if required
1790         * lib/canonicalize.c (canonicalize_filename_mode):
1791         Avoid calling l?stat() when both CAN_MISSING,
1792         and CAN_NOLINKS are set, as we neither need
1793         to resolve symlinks or test component existence.
1794
1795 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
1796
1797         doc: cover st_ino issues once; add OpenVMS etc.
1798         * doc/posix-functions/stat.texi (stat):
1799         * doc/posix-functions/lstat.texi (lstat):
1800         * doc/posix-functions/fstatat.texi (fstatat):
1801         * doc/posix-functions/fstat.texi (fstat):
1802         Move general 'struct stat' stuff to sys_stat.texi,
1803         leaving behind a pointer.
1804         * doc/posix-headers/sys_stat.texi (sys/stat.h):
1805         Merge duplicate info about 'struct stat' problems into here.
1806         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
1807         and suggest partial workarounds.
1808
1809         same-inode: port to OpenVMS
1810         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
1811         three st_ino values.
1812
1813 2011-12-30  Pádraig Brady  <P@draigBrady.com>
1814
1815         canonicalize: fix references to stat() and lstat()
1816         * lib/canonicalize.c (canonicalize_filename_mode):
1817         Ensure references always resolve to a replacement
1818         function if required (even via a macro).
1819
1820 2011-12-30  Jim Meyering  <meyering@redhat.com>
1821
1822         gitlog-to-changelog: remove a little duplication
1823         * build-aux/gitlog-to-changelog (main): Grep @lines once,
1824         rather than twice.
1825
1826 2011-12-29  Pádraig Brady  <P@draigBrady.com>
1827
1828         canonicalize: add support for not resolving symlinks
1829         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
1830         indicate we don't want to follow symlinks.  Also
1831         provide CAN_MODE_MASK to aid setting these existing
1832         mutually exclusive values.
1833         * lib/canonicalize.c (canonicalize_filename_mode):
1834         Extract the flags from can_mode parameter, which
1835         are currently just used to select between stat()
1836         and lstat().  Also ensure that mutually exclusive
1837         values are flagged immediately as invalid.
1838         * tests/test-canonicalize.c: Verify symlinks are
1839         not followed, and that invalid flag combinations
1840         are diagnosed.
1841
1842 2011-12-25  Jim Meyering  <meyering@redhat.com>
1843
1844         gitlog-to-changelog: do not clump multi-paragraph entries
1845         Identical header lines (date,name,email+coauthors) are suppressed,
1846         thus putting all entries with those same characteristics under
1847         a single header.  However, when a log entry consists of two or
1848         more paragraphs, it may not be clear where it starts and ends.
1849         This change makes it so that such an entry is always separated
1850         from others by a header line, even when that header would
1851         otherwise be suppressed.
1852         * build-aux/gitlog-to-changelog: Implement the above.
1853         Inspired by a related request from Stefano Lattarini in
1854         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
1855
1856 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1857
1858         announce-gen: fix `cmd' typo in diagnostic
1859         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
1860         diagnostic: a missing '$' meant that the command was not output.
1861
1862 2011-12-23  Jim Meyering  <meyering@redhat.com>
1863
1864         test-framework-sh: distribute init.sh
1865         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
1866         Otherwise, "make -C gnulib-tests check" (at least in grep) would
1867         fail due to the lack of init.sh.
1868
1869         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
1870         * modules/atexit-tests: Rather than listing tests/init.sh,
1871         now that there's a module for it, simply depend on that new module.
1872         * modules/closein-tests: Likewise.
1873         * modules/exclude-tests: Likewise.
1874         * modules/getcwd-tests: Likewise.
1875         * modules/perror-tests: Likewise.
1876         * modules/pread-tests: Likewise.
1877         * modules/pwrite-tests: Likewise.
1878         * modules/vc-list-files-tests: Likewise.
1879         * modules/verify-tests: Likewise.
1880         * modules/xalloc-die-tests: Likewise.
1881         * modules/xstrtoimax-tests: Likewise.
1882         * modules/xstrtol-tests: Likewise.
1883         * modules/xstrtoll-tests: Likewise.
1884         * modules/xstrtoumax-tests: Likewise.
1885         * modules/yesno-tests: Likewise.
1886
1887 2011-12-22  Jim Meyering  <meyering@redhat.com>
1888
1889         test-framework-sh: add minimal tests of init.sh's compare function
1890         * modules/test-framework-sh-tests: New file.
1891         * tests/test-init.sh: New file.
1892
1893         test-framework-sh: new module
1894         * modules/test-framework-sh: New file.
1895         * MODULES.html.sh (Support for maintaining and releasing projects):
1896         List it.
1897
1898         init.sh: do not emit simulated diff output to stderr
1899         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
1900
1901 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
1902
1903         .gitignore: ignore gnulib.dvi and regex.info
1904         * doc/.gitignore:add gnulib.dvi and regex.info
1905
1906 2011-12-22  Jim Meyering  <meyering@redhat.com>
1907
1908         init.sh: correct previous change
1909         * tests/init.sh (compare): My previous change was wrong.
1910         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
1911
1912         init.sh: avoid unwarranted test failure when using "set -e"
1913         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
1914         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
1915         a use like "compare exp out" would get evoke an unconditional failure.
1916
1917 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
1918
1919         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
1920         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
1921         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
1922         autoreconf that did not.
1923         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
1924         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
1925
1926 2011-12-17  Jim Meyering  <meyering@redhat.com>
1927
1928         bootstrap: remove some now-unneeded code
1929         This script arose back when gnulib-tool was young.
1930         Since then, it has seen improvements that render much of this
1931         script unnecessary.  In particular, it can now make symlinks
1932         to the files it uses.  Also, I no longer see as much value in
1933         marking files as read-only via comments.
1934         If you relied on the symlink-creation feature of the preceding
1935         version of this script, you can get most of that functionality
1936         by adding the --symlink option to the definition of
1937         gnulib_tool_option_extras in your bootstrap.conf file.
1938         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
1939         Run autopoint and libtoolize *before* gnulib-tool.
1940         After it, run an abbreviated autoreconf, rather than a loop around
1941         all tools.
1942         (slirp, bt_mark_as_generated): Remove functions.
1943
1944 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1945
1946         ftoastr: fix typo
1947         * lib/ftoastr.h: Fix misspelling in comment.
1948
1949 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
1950
1951         * top/README-release: fix punctuation.
1952
1953 2011-12-17  Jim Meyering  <meyering@redhat.com>
1954
1955         bootstrap: correct the recent buildreq change
1956         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
1957         had no effect.
1958         * build-aux/bootstrap (buildreq): Bracket each search term with
1959         "*...*", so that the shell "case" statement works as intended.
1960         Add comments.
1961
1962 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
1963
1964         build: let bootstrap resort to wget when downloading .po files
1965         * build-aux/bootstrap (download_po_files): Fallback to wget when
1966         downloading the .po files via rsync fails.  This is necessary to
1967         bootstrap from behind a strict firewall.
1968
1969 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
1970
1971         stdint: don't assume C++11 when compiling with g++
1972         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
1973         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
1974         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
1975         work also in C++ before C++11, as that improperly inhibits
1976         generating a substitute stdint.h for that case.
1977
1978 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
1979
1980         alloca: protect comment from gnulib-tool
1981         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
1982         that gnulib-tool doesn't think it's a license, and munge it to
1983         say "GCC version 3".
1984
1985 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
1986
1987         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
1988         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
1989         $(abs_top_builddir) instead of $(top_builddir).
1990
1991 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
1992
1993         strftime-tests: also test nanoseconds
1994         * tests/test-strftime.c (T): Add a test of %N.
1995
1996 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
1997
1998         inttypes, stdint: add C++11 support
1999         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
2000         when including inttypes.h and stdint.h.  Support this change to
2001         the standard.
2002         * doc/posix-headers/inttypes.texi (inttypes.h):
2003         * doc/posix-headers/stdint.texi (stdint.h): Document this.
2004         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
2005         Define if not defined already, for the benefit of pre-C++11 hosts.
2006         Define the standard format macros (e.g., PRId8) always.
2007         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
2008         Likewise, if __cpluspus.  Define the standard constant and limit
2009         macros (e.g., INT8_C, INT8_MAX) always.
2010         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
2011         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
2012         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
2013         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
2014         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
2015         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
2016         Likewise.
2017
2018 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
2019
2020         nonblocking tests: Fix test failure on Linux/PPC.
2021         Suggested by Prerna Saxena in
2022         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
2023         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
2024         Set to 1100000.
2025
2026 2011-12-12  Jim Meyering  <meyering@redhat.com>
2027
2028         argmatch: don't hard-code `' when listing valid option arguments
2029         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
2030         use the quote function to add quotes.  Use fputs rather than
2031         fprintf for the format string with no format directive.
2032
2033 2011-12-07  Eric Blake  <eblake@redhat.com>
2034
2035         bootstrap: detect tools required by gnulib-tool
2036         * build-aux/bootstrap (buildreq): Provide minimum implicit
2037         dependencies.
2038         * DEPENDENCIES: Mention patch as a prereq.
2039
2040 2011-12-04  Bruno Haible  <bruno@clisp.org>
2041
2042         sethostname: Port to Windows platforms.
2043         * lib/sethostname.c: Provide an alternate implementation for Windows
2044         platforms.
2045         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
2046         (main): Skip the test if sethostname() fails with EPERM. On Windows
2047         platforms, don't check the result of gethostname().
2048
2049 2011-12-04  Bruno Haible  <bruno@clisp.org>
2050             Jim Meyering  <meyering@redhat.com>
2051
2052         tests: Avoid spurious error message on platforms without mktemp program.
2053         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
2054
2055 2011-12-04  Bruno Haible  <bruno@clisp.org>
2056
2057         sethostname: Fix documentation.
2058         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
2059         "not fixed" section.
2060
2061 2011-12-03  Bruno Haible  <bruno@clisp.org>
2062
2063         gnulib-tool: Verify that the License field is present and non-empty.
2064         * gnulib-tool (func_get_license_raw): New function, extracted from
2065         func_get_license.
2066         (func_get_license): Use it. Warn if the module is not a test module and
2067         has no license.
2068         Suggested by Jim Meyering.
2069
2070 2011-12-03  Bruno Haible  <bruno@clisp.org>
2071
2072         sethostname tests: Fix link error on mingw.
2073         * tests/test-sethostname1.c: New file, extracted from
2074         tests/test-sethostname.c.
2075         * tests/test-sethostname2.c: New file, extracted from
2076         tests/test-sethostname.c.
2077         * tests/test-sethostname.c: Remove file.
2078         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
2079         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
2080         (Depends-on): Add gethostname.
2081         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
2082         Link the latter with $(GETHOSTNAME_LIB).
2083
2084         sethostname tests: Fix compilation error on mingw.
2085         * tests/test-sethostname.c: Don't include <sys/types.h>.
2086         (geteuid): Use a dummy value without uid_t.
2087         * modules/sethostname-tests (Depends-on): Remove sys_types.
2088
2089         sethostname tests: Avoid a gcc warning.
2090         * tests/test-sethostname.c (main): Remove an unused variable.
2091
2092         Tweak last commit.
2093         * modules/sethostname-tests (Files): Sort by decreasing importance.
2094         (configure.ac): Check for geteuid.
2095         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
2096         the test when there's nothing to test. Drop an unnecessary cast.
2097         Improve an error message. Verify that the final sethostname() call
2098         succeeds.
2099
2100 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2101
2102         Add a test suite for the sethostname module.
2103         * modules/sethostname-tests: New file.  A test program
2104         for the sethostname module.
2105         * tests/test-sethostname.c: Likewise.
2106
2107 2011-12-03  Bruno Haible  <bruno@clisp.org>
2108
2109         Tweak last commit.
2110         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
2111         Fix preprocessor directives indentation. Fix typos.
2112         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
2113         * modules/unistd (Makefile): Likewise.
2114
2115 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2116
2117         Integrate the sethostname module into unistd.
2118         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
2119         into the unistd.h header.
2120         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
2121         preprocessor directives.
2122         * modules/unistd: Setup the Makefile substitutions of the
2123         SETHOSTNAME preprocessor directives.
2124
2125 2011-12-03  Bruno Haible  <bruno@clisp.org>
2126
2127         Tweak last commit.
2128         * lib/sethostname.c: Don't include <string.h>.
2129         (sethostname): No need to copy the argument string to the stack. Don't
2130         call clearerr. Preserve errno when fprintf failed.
2131         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
2132         Don't invoke AC_REPLACE_FUNCS.
2133         * modules/sethostname (Link): Remove empty section.
2134         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
2135         failure problem.
2136
2137 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2138
2139         New module 'sethostname'.
2140         * lib/sethostname.c (sethostname): New file.  Provide sethostname
2141         for systems that lack it.
2142         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
2143         sethostname declaration and function.
2144         * modules/sethostname: New file.  Define the sethostname module.
2145
2146 2011-12-03  Bruno Haible  <bruno@clisp.org>
2147
2148         Tweak last commit.
2149         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
2150
2151 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
2152
2153         Split the HOST_NAME_MAX detection into a separate m4 macro.
2154         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
2155         macro so it can be used by the pending sethostname module.
2156
2157 2011-12-03  Bruno Haible  <bruno@clisp.org>
2158
2159         Fix module descriptions syntax.
2160         * modules/argv-iter (License): Fix syntax.
2161         * modules/di-set (License): Likewise.
2162         * modules/ino-map (License): Likewise.
2163         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
2164
2165 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
2166
2167         stdalign: port to Clang 3.0
2168         Problem reported by Simon Josefsson in
2169         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
2170         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
2171         which has <stdalign.h> but which does not define alignof.
2172         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
2173
2174 2011-12-01  Eric Blake  <eblake@redhat.com>
2175
2176         mktempd: silence dd usage
2177         * build-aux/mktempd (rand_bytes): Silence dd.
2178
2179 2011-11-30  Simon Josefsson  <simon@josefsson.org>
2180
2181         manywarnings: Don't mention gcc version in docstring.
2182         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
2183         Jim Meyering <meyering@redhat.com>.
2184
2185 2011-11-30  Jim Meyering  <meyering@redhat.com>
2186
2187         hash: mark a few floating point constants with "f" suffix
2188         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
2189         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
2190         floating point constants with "f", since they're destined to be
2191         saved/used as "float"s.
2192
2193 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
2194
2195         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
2196         * tests/test-float.c (test_long_double): Correct and re-enable the
2197         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
2198
2199 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
2200
2201         Avoid subtracting two pointers that don't point into the same block.
2202         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
2203         only pointers into the same memory block are subtracted. We cannot
2204         assume that sizeof (ptrdiff_t) == sizeof (void *).
2205
2206 2011-11-29  Eric Blake  <eblake@redhat.com>
2207
2208         maint.mk: add syntax check for use of compare from init.sh
2209         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
2210         moved here from coreutils.
2211
2212         manywarnings: drop -Wunsuffixed-float-constants
2213         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
2214         '1.0D', which is the only way to silence this warning for 'double'.
2215
2216 2011-11-29  Jim Meyering  <meyering@redhat.com>
2217
2218         hash: mark compute_bucket_size with the pure attribute
2219         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
2220
2221         quotearg, propername: correct pragma guard expression
2222         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
2223         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
2224
2225 2011-11-28  Jim Meyering  <meyering@redhat.com>
2226
2227         propername: do not mark proper_name with the const attribute
2228         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
2229         since it examines data pointed to by its parameter.
2230         * lib/propername.c (proper_name): Instead, add a pragma to suppress
2231         the suggestion from -Wsuggest-attribute=const.
2232
2233         propername: mark one more function as const
2234         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
2235
2236 2011-11-27  Jim Meyering  <meyering@redhat.com>
2237
2238         mark functions with const and pure attributes
2239
2240         Mark functions per suggestions from gcc-4.6 when using these options:
2241         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
2242         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
2243         Follow these guidelines: when possible, apply the attribute to
2244         an extern declaration, not to its definition.  Apply it to the
2245         definition only when the definition is static.
2246         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
2247         * lib/argv-iter.h (argv_iter_n_args): Likewise.
2248         * lib/base64.h (isbase64): Likewise.
2249         * lib/basename-lgpl.c (last_component, base_len): Likewise.
2250         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
2251         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
2252         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
2253         (c_tolower, c_toupper): Likewise.
2254         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
2255         * lib/chdir-long.c (find_non_slash): Likewise.
2256         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
2257         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
2258         * lib/file-type.h (file_type): Likewise.
2259         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
2260         * lib/filevercmp.c (verrevcmp): Likewise.
2261         * lib/freadahead.h (freadahead): Likewise.
2262         * lib/fts.c (fts_maxarglen): Likewise.
2263         * lib/hash-pjw.h (hash_pjw): Likewise.
2264         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
2265         * lib/hash.c (is_prime, next_prime): Likewise.
2266         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
2267         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
2268         (hash_table_ok, hash_get_first, hash_string): Likewise.
2269         (compute_bucket_size): Likewise.
2270         * lib/i-ring.h (i_ring_empty): Likewise.
2271         * lib/isnan.c (isnanl): Likewise.
2272         * lib/math.h (isnanl, rpl_isnanl): Likewise.
2273         * lib/memcasecmp.h (memcasecmp): Likewise.
2274         * lib/memchr2.h (memchr2): Likewise.
2275         * lib/memcmp2.h (memcmp2): Likewise.
2276         * lib/parse-datetime.y (lookup_zone): Likewise.
2277         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
2278         [!WINDOWS_SOCKETS]: Likewise.
2279         * lib/strnlen1.h (strnlen1): Likewise.
2280         * lib/uniwidth.in.h (uc_width): Likewise.
2281         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
2282         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
2283         (quoting_options_from_style): Add a comment.
2284         * lib/propername.h (proper_name): Add a comment.
2285
2286 2011-11-27  Bruno Haible  <bruno@clisp.org>
2287
2288         Remove unused macros from !_LIBC code in glibc-borrowed files.
2289         * lib/fnmatch.c (STRCOLL): Remove macro.
2290         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
2291         * lib/glob.c (__stat, __readdir64): Remove macros.
2292         * lib/tempname.c (__open64, __xstat64): Remove macros.
2293         Suggested by Paul Eggert.
2294
2295 2011-11-27  Bruno Haible  <bruno@clisp.org>
2296
2297         getcwd: Fix link error on MSVC 9.
2298         * modules/getcwd (Depends-on): Add readdir, rewinddir.
2299
2300 2011-11-27  Bruno Haible  <bruno@clisp.org>
2301
2302         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
2303         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
2304         HAVE_OPENDIR is 0.
2305         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
2306         HAVE_CLOSEDIR is 0.
2307         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
2308         is 0.
2309         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
2310
2311 2011-11-27  Bruno Haible  <bruno@clisp.org>
2312
2313         getcwd: Fix bug from 2011-08-17.
2314         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
2315         platforms that need it.
2316         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
2317         code of 4 to be a failure, not a success. This ensures that
2318         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
2319
2320 2011-11-27  Bruno Haible  <bruno@clisp.org>
2321
2322         binary-io tests: Avoid test failure on mingw when libtool is used.
2323         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
2324         Don't verify the size of t-bin-out1.tmp here.
2325         * tests/test-binary-io.sh: Verify it here.
2326         Reported by Simon Josefsson.
2327
2328 2011-11-26  Bruno Haible  <bruno@clisp.org>
2329
2330         Fix conflict between two instantiations of module 'unistd'.
2331         * gnulib-tool (func_emit_autoconf_snippet): Substitute
2332         ${include_guard_prefix} also in the autoconf snippet.
2333         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
2334         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
2335         GNULIB_UNISTD_H_GETOPT.
2336         * modules/getopt-posix (configure.ac): Set the
2337         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
2338         * modules/getopt-gnu (configure.ac): Likewise.
2339         * modules/unistd (Makefile.am): Change the substitution value of
2340         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
2341         Reported by Simon Josefsson.
2342
2343 2011-11-25  Bruno Haible  <bruno@clisp.org>
2344
2345         pagealign_alloc: Doc and comments.
2346         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
2347         module.
2348         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
2349
2350 2011-11-25  Jim Meyering  <meyering@redhat.com>
2351
2352         test-update-copyright.sh: avoid false-positive failure
2353         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
2354         around false positive failure on Cygwin/Windows.  The latter was
2355         matching erroneously-created files with names like
2356         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
2357
2358 2011-11-25  Simon Josefsson  <simon@josefsson.org>
2359
2360         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
2361         * m4/valgrind-tests.m4: Check that the parameters that will be
2362         used works, not just a subset of them.  Reported by Bruno Haible
2363         <bruno@clisp.org>.
2364
2365 2011-11-24  Jim Meyering  <meyering@redhat.com>
2366
2367         test-stdalign.c: comment out long double tests
2368         * tests/test-stdalign.c: Don't try to reduce alignment of long double
2369         variables.  That provokes errors like this from gcc-4.7.0 20111124:
2370         error: '_Alignas' specifiers cannot reduce alignment of \
2371         'static_longdouble_alignas'.
2372
2373 2011-11-22  Jim Meyering  <meyering@redhat.com>
2374
2375         init.sh: make "compare /dev/null FILE" output more readable
2376         * tests/init.sh (compare_): Document the preferred order of arguments.
2377         (emit_diff_u_header_): New function.
2378         (compare_dev_null_): Emit a simulated diff, rather than just the
2379         contents of the unexpected file.  Suggestion from Bruno Haible.
2380
2381 2011-11-21  Jim Meyering  <meyering@redhat.com>
2382             Eric Blake  <eblake@redhat.com>
2383
2384         init.sh: work around OSF/1 5.1's mishandling of /dev/null
2385         * tests/init.sh: Make our compare function slightly more portable.
2386         Reported by Bruno Haible in
2387         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
2388
2389 2011-11-21  Simon Josefsson  <simon@josefsson.org>
2390
2391         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
2392         before using it, in code that ends up in config.h.
2393
2394 2011-11-20  Bruno Haible  <bruno@clisp.org>
2395
2396         getcwd: Work around getcwd bug on AIX 5..7.
2397         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
2398         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
2399         Use a different value for gl_cv_func_getcwd_path_max. Move the
2400         definition of HAVE_PARTLY_WORKING_GETCWD from here...
2401         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
2402         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
2403         Define HAVE_MINIMALLY_WORKING_GETCWD.
2404         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
2405         where it is not even minimally working, that is, on AIX.
2406         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
2407         m4/getcwd-path-max.m4.
2408         (main): Update exit code computation.
2409         * doc/posix-functions/getcwd.texi: Mention list of platforms where
2410         getcwd does not handle long file names.
2411
2412 2011-11-20  Bruno Haible  <bruno@clisp.org>
2413
2414         getcwd: Fix bug from 2009-09-10.
2415         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
2416         like "no".
2417
2418 2011-11-20  Simon Josefsson  <simon@josefsson.org>
2419
2420         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
2421
2422 2011-11-20  Bruno Haible  <bruno@clisp.org>
2423
2424         fma tests: Avoid shadowing local variables.
2425         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
2426         expected.
2427
2428 2011-11-20  Bruno Haible  <bruno@clisp.org>
2429
2430         copysignf tests: Fix.
2431         * tests/test-copysignf.c: Fix signature check.
2432
2433 2011-11-20  Bruno Haible  <bruno@clisp.org>
2434
2435         fma: Remove unused code.
2436         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
2437         unused macros.
2438
2439 2011-11-20  Bruno Haible  <bruno@clisp.org>
2440
2441         sethostname: Fix doc about AIX.
2442         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
2443         sethostname; it has it.
2444
2445         sethostname: Mention more portability problems.
2446         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
2447         problem.
2448         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
2449
2450 2011-11-19  Bruno Haible  <bruno@clisp.org>
2451
2452         Depend on module fcntl-h when AT_FDCWD is used.
2453         * modules/utimens (Depends-on): Add fcntl-h.
2454         * modules/areadlinkat (Depends-on): Likewise.
2455         * modules/areadlinkat-with-size (Depends-on): Likewise.
2456         * modules/faccessat (Depends-on): Likewise.
2457         * modules/fchmodat (Depends-on): Likewise.
2458         * modules/fchownat (Depends-on): Likewise.
2459         * modules/getcwd (Depends-on): Likewise.
2460         * modules/mkdirat (Depends-on): Likewise.
2461         * modules/mkfifoat (Depends-on): Likewise.
2462         * modules/readlinkat (Depends-on): Likewise.
2463         * modules/symlinkat (Depends-on): Likewise.
2464         * modules/dup2-tests (Depends-on): Likewise.
2465         * modules/fdutimensat-tests (Depends-on): Likewise.
2466         * modules/futimens-tests (Depends-on): Likewise.
2467
2468 2011-11-19  Bruno Haible  <bruno@clisp.org>
2469
2470         euidaccess: Update a comment.
2471         * lib/euidaccess.c: Update comment about platforms with faccessat.
2472
2473 2011-11-19  Bruno Haible  <bruno@clisp.org>
2474
2475         openat: Fix file list.
2476         * modules/openat (Files): Remove lib/at-func.c.
2477
2478 2011-11-19  Bruno Haible  <bruno@clisp.org>
2479
2480         fstatat: Simplify.
2481         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
2482         gnulib should define rpl_fstatat, there is a
2483         "#define fstatat rpl_fstatat" in <sys/stat.h>.
2484
2485 2011-11-19  Bruno Haible  <bruno@clisp.org>
2486
2487         Ensure 'inline' can be used in tests/test-utimens-common.h.
2488         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
2489         * modules/futimens-tests (configure.ac): Likewise.
2490         * modules/utimens-tests (configure.ac): Likewise.
2491         * modules/utimensat-tests (configure.ac): Likewise.
2492
2493 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2494
2495         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
2496         not hash_insert0.
2497         (hash_insert_if_absent): Doc fix.
2498
2499 2011-11-19  Simon Josefsson  <simon@josefsson.org>
2500
2501         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
2502
2503 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
2504
2505         test-getcwd: disambiguate exit status
2506         * tests/test-getcwd.c (test_long_name): Return 0..7.
2507         (main): Exit with an unambiguous exit status.  The old
2508         code yielded a mysterious mixture of two failure codes.
2509
2510         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
2511         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
2512         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
2513         rpl_fstatat or fstatat.  This should fix the other problem
2514         reported by Kai Habel in
2515         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2516         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
2517         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
2518         and I reproduced it on a Solaris 8 host we still have in production.
2519
2520 2011-11-18  Jim Meyering  <meyering@redhat.com>
2521
2522         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
2523         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
2524         Add a sentence to the comment.
2525         (hash_insert0): New function that simply calls hash_insert_if_absent.
2526         * lib/hash.h (hash_insert_if_absent): Declare it.
2527         (hash_insert0): Add deprecation attribute.
2528         (_GL_ATTRIBUTE_DEPRECATED): Define.
2529         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
2530         not hash_insert0.
2531         * NEWS: Mention it, even though it's not really an incompatible change.
2532
2533 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
2534
2535         openat: avoid compilation failure due to lack of <errno.h> inclusion
2536         * lib/openat.c: Include <errno.h>.
2537
2538 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2539
2540         * modules/getcwd (Depends-on): Add fdopendir.
2541         This fixes one of the two problems reported by Kai Habel in
2542         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
2543
2544         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
2545         stdalign problem reported by Ian Beckwith in
2546         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
2547         * modules/crypto/gc-arcfour (Depends-on):
2548         Depend conditionally on crypto/arcfour.
2549         * modules/crypto/gc-arctwo (Depends-on):
2550         Depend conditionally on crypto/arctwo.
2551         * modules/crypto/gc-des (Depends-on):
2552         Depend conditionally on crypto/des.
2553         * modules/crypto/gc-hmac-md5 (Depends-on):
2554         Depend conditionally on crypto/hmac-md5.
2555         * modules/crypto/gc-hmac-sha1 (Depends-on):
2556         Depend conditionally on crypto/hmac-sha1.
2557         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
2558         * modules/crypto/gc-md4 (Depends-on):
2559         Depend conditionally on crypto/md4.
2560         * modules/crypto/gc-md5 (Depends-on):
2561         Depend conditionally on crypto/md5.
2562         * modules/crypto/gc-rijndael (Depends-on):
2563         Depend conditionally on crypto/rijndael.
2564         * modules/crypto/gc-sha1 (Depends-on):
2565         Depend conditionally on crypto/sha1.
2566         * modules/crypto/gc-arcfour:
2567         * modules/crypto/gc-arctwo:
2568         * modules/crypto/gc-des:
2569         * modules/crypto/gc-hmac-md5:
2570         * modules/crypto/gc-hmac-sha1:
2571         * modules/crypto/gc-md2:
2572         * modules/crypto/gc-md4:
2573         * modules/crypto/gc-md5:
2574         * modules/crypto/gc-rijndael:
2575         * modules/crypto/gc-sha1:
2576         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
2577         now that the conditional dependencies do the work for us.
2578
2579 2011-11-17  Jim Meyering  <meyering@redhat.com>
2580
2581         tests: factor st_ctime-comparison out of two headers
2582         * tests/test-utimens-common.h (ctime_compare): Define.
2583         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
2584         * tests/test-lutimens.h (test_lutimens): Likewise.
2585         * tests/test-utimens.h (test_utimens): Likewise.
2586
2587         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
2588         Invoke the test program via an init.sh-using wrapper.
2589         * tests/test-getcwd.sh: New file.
2590         * modules/getcwd-tests (Files): Add it.
2591         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
2592
2593 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
2594
2595         gitlog-to-changelog: support multi-author commits.
2596         The FSF cares about keeping track of all authors of patches to its
2597         projects, but Git doesn't provide obvious support for multi-author
2598         changesets. Consensus seems to be forming around the use of extra
2599         Signed-off-by inspired lines in the log message formatted as
2600         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
2601         multi-author commits between version control systems.
2602         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
2603         log message and output in standard ChangeLog multi-author format.
2604         Reported by Peter Rosin <peda@lysator.liu.se>
2605
2606 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
2607             Bruno Haible  <bruno@clisp.org>
2608
2609         Fix some modules' file list.
2610         * modules/fstatat (Files): Add m4/lstat.m4.
2611         * modules/openat (Files): Likewise.
2612         * modules/unlinkat (Files): Likewise.
2613
2614 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
2615
2616         maint.mk: fix tight-scope.mk generation in VPATH builds.
2617         * top/maint.mk (tight-scope.mk): Make sure to prefix file
2618         reference with $(srcdir) so that the file is found correctly even
2619         when running `make syntax-check' in a VPATH build.
2620
2621 2011-11-13  Bruno Haible  <bruno@clisp.org>
2622             Jim Meyering  <meyering@redhat.com>
2623
2624         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
2625         * tests/init.sh (compare): Remove "No differences encountered" or
2626         synonymous output from the 'diff' program.
2627
2628 2011-11-13  Bruno Haible  <bruno@clisp.org>
2629
2630         Makefile: Tweak indentation.
2631         * Makefile: Use tab as first character in every line that contains rule
2632         commands.
2633
2634 2011-11-13  Bruno Haible  <bruno@clisp.org>
2635
2636         Syntax check for copyright statements.
2637         * check-copyright: New file.
2638         * Makefile (sc_check_copyright): New rule.
2639
2640 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2641
2642         * build-aux/git-version-gen: Add --prefix to configure the tag
2643         match string.
2644
2645 2011-11-13  Simon Josefsson  <simon@josefsson.org>
2646
2647         * build-aux/git-version-gen: Add --help and --version.
2648
2649 2011-11-12  Jim Meyering  <meyering@redhat.com>
2650
2651         revamp the other test-exclude?.sh scripts to use init.sh, too
2652         * tests/test-exclude1.sh: Use init.sh.
2653         * tests/test-exclude2.sh: Likewise.
2654         * tests/test-exclude3.sh: Likewise.
2655         * tests/test-exclude4.sh: Likewise.
2656         * tests/test-exclude5.sh: Likewise.
2657         * tests/test-exclude6.sh: Likewise.
2658         * tests/test-exclude7.sh: Likewise.
2659         * tests/test-exclude8.sh: Likewise.
2660         * modules/exclude-tests (Files): List init.sh.
2661
2662         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
2663         These shell scripts ignored failure of the binary test-exclude,
2664         so making the latter return 77 didn't cause them to be skipped.
2665         * tests/test-exclude5.sh: Exit with test-exclude's error status
2666         when that program fails.  Revamp to use init.sh.
2667         * tests/test-exclude2.sh: Likewise.
2668
2669         test-exclude: fix a typo
2670         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
2671
2672 2011-11-11  Bruno Haible  <bruno@clisp.org>
2673
2674         obstack: Fix compilation error on MSVC 9.
2675         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
2676
2677 2011-11-11  Jim Meyering  <meyering@redhat.com>
2678
2679         test-exclude: skip tests rather than failing on deficient systems
2680         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
2681         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
2682         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
2683         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
2684
2685 2011-11-10  Bruno Haible  <bruno@clisp.org>
2686
2687         ptsname_r test: Avoid gcc warning on glibc systems.
2688         * tests/test-ptsname_r.c (null_ptr): New function.
2689         (test_errors): Use it.
2690
2691 2011-11-10  Bruno Haible  <bruno@clisp.org>
2692
2693         ptsname_r: Avoid compilation error on OSF/1 5.1.
2694         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
2695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
2696         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
2697         function is not declared or incompatibly declared.
2698         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
2699         * modules/ptsname_r (Depends-on, configure.ac): Update.
2700         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
2701
2702 2011-11-10  Bruno Haible  <bruno@clisp.org>
2703
2704         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
2705         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
2706         When cross-compiling, guess yes on all platforms except AIX.
2707         Reported by Ludovic Courtès <ludo@gnu.org>.
2708
2709 2011-11-09  Bruno Haible  <bruno@clisp.org>
2710
2711         ptsname_r tests: Fix bugs.
2712         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
2713         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
2714
2715 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2716
2717         fstatat: work with cross-compilation
2718         Problem reported by Ludovic Courtès in
2719         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
2720         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
2721         "cross-compiling" and assume the bug is present.  Replace
2722         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
2723         an inverted sense, to be more conservative about our assumptions.
2724         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
2725
2726 2011-11-09  Bruno Haible  <bruno@clisp.org>
2727
2728         Improve MODULES.html output.
2729         * modules/mkfifoat (Description): Use the word "function".
2730         * modules/readlinkat (Description): Likewise.
2731         * modules/symlinkat (Description): Likewise.
2732
2733 2011-11-09  Eric Blake  <eblake@redhat.com>
2734
2735         ptsname_r-tests: new test module
2736         * modules/ptsname_r-tests: New module.
2737         * tests/test-ptsname_r.c: New file.
2738
2739         ptsname_r: new module
2740         * modules/ptsname_r: New module.
2741         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
2742         * lib/ptsname.c (__ptsname_r): Split...
2743         * lib/ptsname_r.c: ...into new file.
2744         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
2745         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
2746         * modules/stdlib (Makefile.am): Substitute witnesses.
2747         * lib/stdlib.in.h (ptsname_r): Declare it.
2748         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
2749         * MODULES.html.sh (Misc): Likewise.
2750         * modules/ptsname (Depends-on): Alter dependency.
2751         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
2752
2753 2011-11-09  Jim Meyering  <meyering@redhat.com>
2754
2755         announce-gen: be more concise when there's only one URL+tarball
2756         * build-aux/announce-gen (get_tool_versions): When you distribute
2757         only one type of tarball, combine the first two "Here are..."
2758         sections and make the key-checking grammar independent of
2759         how many tarballs there are.
2760
2761 2011-11-09  Eric Blake  <eblake@redhat.com>
2762
2763         openpty: provide a stub on mingw
2764         * lib/pty.in.h (includes): Provide forward declarations.
2765         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
2766
2767         raise: fix mingw handling of SIGPIPE
2768         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
2769
2770 2011-11-08  Bruno Haible  <bruno@clisp.org>
2771
2772         More conditional dependencies.
2773         * modules/faccessat (Depends-on): Add conditions.
2774         * modules/fchmodat (Depends-on): Likewise.
2775         * modules/fchownat (Depends-on): Likewise.
2776         * modules/fstatat (Depends-on): Likewise.
2777         * modules/mkfifoat (Depends-on): Likewise.
2778         * modules/readlinkat (Depends-on): Likewise.
2779         * modules/symlinkat (Depends-on): Likewise.
2780         * modules/unlinkat (Depends-on): Likewise.
2781         * modules/utimensat (Depends-on): Likewise.
2782         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
2783         * modules/linkat (Depends-on): Refine the conditions.
2784         * modules/renameat (Depends-on): Likewise.
2785
2786 2011-11-08  Bruno Haible  <bruno@clisp.org>
2787
2788         faccessat: Move AC_LIBOBJ invocation to module description.
2789         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
2790         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
2791         invocation from here...
2792         * modules/faccessat (configure.ac): ... to here. Invoke
2793         gl_PREREQ_FACCESSAT.
2794
2795 2011-11-08  Bruno Haible  <bruno@clisp.org>
2796
2797         faccessat: Simplify autoconf macro.
2798         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
2799         gl_FUNC_EUIDACCESS.
2800
2801 2011-11-08  Bruno Haible  <bruno@clisp.org>
2802
2803         renameat: Fix dependencies.
2804         * modules/renameat (Depends-on): Add stdbool.
2805
2806 2011-11-08  Bruno Haible  <bruno@clisp.org>
2807
2808         mkfifoat: Fix module description.
2809         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
2810         not gl_UNISTD_MODULE_INDICATOR.
2811
2812 2011-11-08  Bruno Haible  <bruno@clisp.org>
2813
2814         fstatat: Remove unused dependency.
2815         * modules/fstatat (Depends-on): Remove fstat.
2816
2817 2011-11-08  Simon Josefsson  <simon@josefsson.org>
2818
2819         GNUmakefile: behave when Makefile is missing.
2820         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
2821
2822 2011-11-08  Bruno Haible  <bruno@clisp.org>
2823
2824         openat: Conditionalize dependencies.
2825         * lib/openat.c: Reduce the scope of some #includes.
2826         * modules/openat (Depends-on): Add conditions.
2827
2828 2011-11-07  Jim Meyering  <meyering@redhat.com>
2829
2830         maint.mk: extract GPG key ID without using a temporary file
2831         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
2832         without using a temporary file.  Based on a suggestion from Werner Koch
2833         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
2834
2835 2011-11-07  Eric Blake  <eblake@redhat.com>
2836
2837         grantpt: fix typo
2838         * lib/stdlib.in.h (grantpt): Check correct function.
2839
2840         maint.mk: silence new syntax check
2841         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
2842
2843 2011-11-06  Bruno Haible  <bruno@clisp.org>
2844
2845         Doc about floating-point and math API.
2846         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
2847         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
2848
2849 2011-11-06  Bruno Haible  <bruno@clisp.org>
2850
2851         stdalign tests: Skip the test when compiled by Sun C.
2852         * tests/test-stdalign.c (main): Skip the test on Sun C.
2853
2854 2011-11-06  Bruno Haible  <bruno@clisp.org>
2855
2856         ansi-c++-opt: Complete the 2011-06-05 change.
2857         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
2858         does not support namespaces, set the variable to "no", not to ":".
2859
2860 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2861
2862         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
2863
2864 2011-11-06  Bruno Haible  <bruno@clisp.org>
2865
2866         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
2867         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
2868         (minus_zerol) [HP-UX]: New macro.
2869         (unary_minus) [HP-UX]: New function.
2870         (copysignl) [HP-UX]: Use unary_minus function.
2871
2872 2011-11-06  Bruno Haible  <bruno@clisp.org>
2873
2874         ldexp, ldexpf, ldexpl: Enhance tests.
2875         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
2876         and tests/test-ldexpl.c.
2877         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
2878         LDEXP, MIN_EXP, MAX_EXP): New macros.
2879         Include test-ldexp.h.
2880         (main): Just call test_function.
2881         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
2882         infinity.h, nan.h.
2883         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2884         MAX_EXP): New macros.
2885         Include test-ldexp.h.
2886         (x, y): Remove variables.
2887         (main): Just call test_function.
2888         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
2889         infinity.h, nan.h.
2890         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
2891         MAX_EXP): New macros.
2892         Include test-ldexp.h.
2893         (x, y): Remove variables.
2894         (main): Just call test_function.
2895         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
2896         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
2897         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2898         (Depends-on): Add isnand-nolibm, signbit, float.
2899         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
2900         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
2901         (Depends-on): Add isnanf-nolibm, signbit, float.
2902
2903 2011-11-06  Bruno Haible  <bruno@clisp.org>
2904
2905         math tests: Cosmetics.
2906         * tests/test-math-c++.cc: Reorder declarations.
2907
2908 2011-11-05  Bruno Haible  <bruno@clisp.org>
2909
2910         fma*: Simplify test.
2911         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
2912         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
2913
2914         Tests for module 'fmal'.
2915         * modules/fmal-tests: New file.
2916         * tests/test-fmal1.c: New file.
2917         * tests/test-fmal2.c: New file.
2918
2919         New module 'fmal'.
2920         * lib/math.in.h (fmal): New declaration.
2921         * lib/fmal.c: New file.
2922         * m4/fmal.m4: New file.
2923         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
2924         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
2925         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
2926         REPLACE_FMAL.
2927         * modules/fmal: New file.
2928         * doc/posix-functions/fmal.texi: Mention the new module and the various
2929         bugs.
2930
2931         Tests for module 'fmaf'.
2932         * modules/fmaf-tests: New file.
2933         * tests/test-fmaf1.c: New file.
2934         * tests/test-fmaf2.c: New file.
2935
2936         New module 'fmaf'.
2937         * lib/math.in.h (fmaf): New declaration.
2938         * lib/fmaf.c: New file.
2939         * m4/fmaf.m4: New file.
2940         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
2941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
2942         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
2943         REPLACE_FMAF.
2944         * modules/fmaf: New file.
2945         * doc/posix-functions/fmaf.texi: Mention the new module and the various
2946         bugs.
2947
2948         Tests for module 'fma'.
2949         * modules/fma-tests: New file.
2950         * tests/test-fma1.c: New file.
2951         * tests/test-fma1.h: New file.
2952         * tests/test-fma2.c: New file.
2953         * tests/test-fma2.h: New file.
2954
2955         New module 'fma'.
2956         * lib/math.in.h (fma): New declaration.
2957         * lib/fma.c: New file.
2958         * m4/fma.m4: New file.
2959         * m4/fegetround.m4: New file.
2960         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
2961         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
2962         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
2963         REPLACE_FMA.
2964         * modules/fma: New file.
2965         * doc/posix-functions/fma.texi: Mention the new module and the various
2966         bugs.
2967
2968         Extend gl_MATHFUNC.
2969         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
2970         Support 'void' as argument type.
2971         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
2972
2973 2011-11-05  Jim Meyering  <meyering@redhat.com>
2974
2975         maint.mk: also prohibit inclusion of dirent.h without use
2976         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
2977
2978 2011-11-05  Bruno Haible  <bruno@clisp.org>
2979
2980         ldexpl tests: Avoid test failure on MSVC 9.
2981         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
2982         value. Needed in order to enforce the conversion from a value greater
2983         than LDBL_MAX to Infinity.
2984
2985 2011-11-05  Bruno Haible  <bruno@clisp.org>
2986
2987         New modules 'at-internal', 'openat-h', split off from module 'openat'.
2988         * modules/at-internal: New file, extracted from modules/openat.
2989         * modules/openat-h: New file.
2990         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
2991         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
2992         * modules/openat (Description): Add reference to POSIX function.
2993         (Files): Remove lib/openat.h, lib/openat-proc.c.
2994         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
2995         intprops, unistd.
2996         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
2997         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
2998         gl_FCNTL_MODULE_INDICATOR.
2999         (Include): Remove unistd.h, openat.h.
3000         * modules/areadlinkat (Files): Add lib/at-func.c.
3001         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3002         openat-die, openat-h, save-cwd.
3003         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
3004         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3005         openat-die, openat-h, save-cwd, unistd.
3006         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
3007         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3008         openat-h, save-cwd. Remove fcntl-h, openat.
3009         * modules/fchmodat (Files): Remove lib/openat.h.
3010         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3011         openat, stdbool, unistd.
3012         * modules/fchownat (Files): Remove lib/openat.h.
3013         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3014         openat, stdbool, sys_stat.
3015         * modules/fdopendir (Files): Remove lib/openat-priv.h,
3016         lib/openat-proc.c.
3017         (Depends-on): Add at-internal.
3018         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
3019         * modules/fstatat (Files): Remove lib/openat.h.
3020         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3021         stdbool, unistd.
3022         * modules/fts (Depends-on): Add openat-h.
3023         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
3024         openat.
3025         * modules/mkdirat (Files): Remove lib/openat.h.
3026         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
3027         openat, stdbool, sys_stat.
3028         * modules/mkfifoat (Files): Add lib/at-func.c.
3029         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3030         openat-h, save-cwd. Remove fcntl-h, openat.
3031         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
3032         * modules/readlinkat (Files): Add lib/at-func.c.
3033         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3034         openat-h, save-cwd. Remove fcntl-h, openat.
3035         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
3036         openat.
3037         * modules/selinux-at (Files): Add lib/at-func.c.
3038         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
3039         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
3040         * modules/symlinkat (Files): Add lib/at-func.c.
3041         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
3042         openat-h, save-cwd. Remove fcntl-h, openat.
3043         * modules/unlinkat (Files): Remove lib/openat.h.
3044         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
3045         stdbool.
3046         * modules/utimensat (Files): Add lib/at-func.c.
3047         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
3048         openat-die, openat-h, save-cwd.
3049         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
3050         * modules/fdutimensat-tests (Depends-on): Add openat.
3051         * modules/fstatat-tests (Depends-on): Add openat-h.
3052         * modules/readlinkat-tests (Depends-on): Add openat.
3053         * modules/symlinkat-tests (Depends-on): Add openat.
3054
3055 2011-11-05  Bruno Haible  <bruno@clisp.org>
3056
3057         openat: Include <stdbool.h>.
3058         * lib/openat.c: Include <stdbool.h>.
3059
3060 2011-11-04  Bruno Haible  <bruno@clisp.org>
3061
3062         fchownat, renameat, unlinkat: Fix dependencies.
3063         * modules/fchownat (Depends-on): Add fstatat.
3064         * modules/renameat (Depends-on): Likewise.
3065         * modules/unlinkat (Depends-on): Likewise.
3066
3067 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
3068
3069         openat: remove direct dependency on dirent
3070         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
3071         and hasn't been needed ever since fdopendir was split into its own
3072         module on 2009-08-31.
3073         * modules/openat (Depends-on): Remove dirent.
3074
3075 2011-11-04  Bruno Haible  <bruno@clisp.org>
3076
3077         renameat: Optimize code size.
3078         * modules/renameat (configure.ac): Don't compile at-func2.c if
3079         REPLACE_RENAMEAT is 1.
3080
3081 2011-11-04  Bruno Haible  <bruno@clisp.org>
3082
3083         openat tests: Fix file list.
3084         * modules/openat-tests (Files): Add tests/test-open.h.
3085
3086 2011-11-04  Bruno Haible  <bruno@clisp.org>
3087
3088         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
3089         * modules/fchmodat (Depends-on): Add openat-die.
3090         * modules/fchownat (Depends-on): Likewise.
3091         * modules/linkat (Depends-on): Likewise.
3092         * modules/renameat (Depends-on): Likewise.
3093         * modules/openat (Depends-on): Add dirent.
3094
3095 2011-11-04  Jim Meyering  <meyering@redhat.com>
3096
3097         at-func*.c: fix comments
3098         * lib/at-func2.c: Correct/improve first-line comment.
3099         * lib/at-func.c: Correct grammar in first-line comment.
3100
3101 2011-11-04  Bruno Haible  <bruno@clisp.org>
3102
3103         New module 'mkdirat', split off from module 'openat'.
3104         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
3105         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
3106         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
3107         * modules/mkdirat: New file, extracted from modules/openat.
3108         * modules/openat (Files): Remove lib/mkdirat.c.
3109         (Depends-on): Remove mkdir.
3110         (configure.ac): Remove AC_LIBOBJ of mkdirat.
3111         (Include): Remove <sys/stat.h>.
3112         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
3113         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
3114         tests/test-mkdir.h.
3115         (Depends-on): Remove ignore-value.
3116         (Makefile.am): Remove rules for test-mkdirat.
3117         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
3118         of module 'openat'.
3119         * NEWS: Mention the change.
3120
3121 2011-11-04  Bruno Haible  <bruno@clisp.org>
3122
3123         closedir: Avoid warning on mingw.
3124         * lib/closedir.c: Include <unistd.h>.
3125
3126 2011-11-04  Bruno Haible  <bruno@clisp.org>
3127
3128         New module 'fstatat', split off from module 'openat'.
3129         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
3130         defined.
3131         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
3132         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
3133         gl_FUNC_FSTATAT.
3134         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
3135         * modules/fstatat: New file, extracted from modules/openat.
3136         * modules/openat (Files): Remove lib/fstatat.c.
3137         (Depends-on): Remove lstat.
3138         (configure.ac): Remove AC_LIBOBJ of fstatat.
3139         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
3140         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
3141         tests/test-lstat.h, tests/test-stat.h.
3142         (Depends-on): Remove getcwd-lgpl.
3143         (Makefile.am): Remove rules for test-fstatat.
3144         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
3145         of module 'openat'.
3146         * NEWS: Mention the change.
3147         * modules/getcwd (Depends-on): Add fstatat.
3148         * modules/linkat (Depends-on): Likewise.
3149         * modules/mkfifoat-tests (Depends-on): Likewise.
3150         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
3151
3152 2011-11-03  Bruno Haible  <bruno@clisp.org>
3153
3154         New module 'unlinkat', split off from module 'openat'.
3155         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
3156         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
3157         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
3158         * modules/unlinkat: New file, extracted from modules/openat. Correct
3159         the dependency conditions.
3160         * modules/openat (Files): Remove lib/unlinkat.c.
3161         (Depends-on): Remove rmdir, unlink.
3162         (configure.ac): Remove AC_LIBOBJ of unlinkat.
3163         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
3164         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
3165         tests/test-rmdir.h, tests/test-unlink.h.
3166         (Depends-on): Remove unlinkdir.
3167         (Makefile.am): Remove rules for test-unlinkat.
3168         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
3169         of module 'openat'.
3170         * NEWS: Mention the change.
3171         * modules/linkat-tests (Depends-on): Add unlinkat.
3172         * modules/mkfifoat-tests (Depends-on): Likewise.
3173         * modules/readlinkat-tests (Depends-on): Likewise.
3174
3175 2011-11-02  Bruno Haible  <bruno@clisp.org>
3176
3177         New module 'fchmodat', split off from module 'openat'.
3178         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
3179         defined.
3180         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
3181         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
3182         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
3183         * modules/fchmodat: New file, extracted from modules/openat.
3184         * modules/openat (Files): Remove lib/fchmodat.c.
3185         (configure.ac): Remove AC_LIBOBJ of fchmodat.
3186         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
3187         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
3188         (Makefile.am): Remove rules for test-fchmodat.
3189         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
3190         of module 'openat'.
3191         * NEWS: Mention the change.
3192
3193 2011-11-02  Jim Meyering  <meyering@redhat.com>
3194
3195         putenv: indent #definition of "environ" to placate cppi
3196         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
3197
3198         gitlog-to-changelog: provide a ChangeLog-repair mechanism
3199         Git logs are often treated as immutable, because editing them
3200         changes the SHA1 checksums of all descendants.  Thus, errors in
3201         git logs tend to stay there forever.  However, when we generate
3202         a ChangeLog file -- typically for distribution -- from that git log,
3203         we can actually make corrections in the generated file.  The key
3204         lies in recording in machine-readable/applicable form the desired
3205         corrections.  See --help for description and an example.
3206         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
3207         (usage): Describe it; alphabetize option descriptions.
3208         (main): Honor the new option, carefully.
3209
3210 2011-11-01  Jim Meyering  <meyering@redhat.com>
3211
3212         gitlog-to-changelog: avoid an infloop
3213         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
3214         that ends up being empty.
3215
3216 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3217
3218         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
3219         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
3220         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
3221         contains (possibly-quoted) backslashes.  This should avoid
3222         all-too-common shell bugs if COMPLICATED contains backslashes in
3223         the "wrong" places.  Reported by David Evans in
3224         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
3225         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
3226         because we want ASCII ranges.  Is there some reason we don't use
3227         the C locale everywhere in this script?
3228         (func_module, top level): Avoid unwanted pathname expansion when
3229         $repo_url_prefix or $repo_url_suffix_repl contain shell
3230         metacharacters like '?' and '*'.
3231
3232 2011-11-01  Bruno Haible  <bruno@clisp.org>
3233
3234         fchownat: Improve description.
3235         * modules/fchownat (Description): Add link to function.
3236
3237 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
3238
3239         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
3240         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
3241         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
3242         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
3243
3244 2011-11-01  Bruno Haible  <bruno@clisp.org>
3245
3246         alignof: Avoid collision with stdalign module.
3247         * lib/alignof.h (alignof): Remove macro.
3248         * NEWS: Mention the change.
3249         Reported by Paul Eggert.
3250
3251 2011-11-01  Bruno Haible  <bruno@clisp.org>
3252
3253         New module 'fchownat', split off from module 'openat'.
3254         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
3255         defined.
3256         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
3257         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
3258         invoke gl_FUNC_FCHOWNAT.
3259         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
3260         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
3261         * modules/fchownat: New file, extracted from modules/openat.
3262         * modules/openat (Files): Remove lib/fchownat.c.
3263         (Depends-on): Remove lchown.
3264         (configure.ac): Remove AC_LIBOBJ of fchownat.
3265         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
3266         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
3267         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
3268         (Depends-on): Remove mgetgroups, usleep, stat-time.
3269         (configure.ac): Remove test for getegid.
3270         (Makefile.am): Remove rules for test-fchownat.
3271         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
3272         of module 'openat'.
3273         * NEWS: Mention the change.
3274
3275 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3276
3277         stdalign: port better to MSVC and to Sun C 5.11
3278         This fixes some of the problems reported by Bruno Haible in
3279         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
3280         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
3281         shortcomings of MSVC and of Sun C 5.11.
3282         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
3283         around __declspec arg.
3284         * modules/stdalign-tests (Files): Add tests/macros.h.
3285         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
3286         Include macros.h, for ASSERT.
3287         (DECLARE_ALIGNED): Remove.
3288         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
3289         to catch bug), and to 1 if not (simplifies the rest of the code).
3290         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
3291         (CHECK_AUTO): Remove.
3292         (CHECK_ALIGNED): Check only the alignment of the static vars,
3293         since auto var alignment isn't supported by Sun C 5.11.
3294         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
3295         ASSERT failures are easier to diagnose.
3296
3297 2011-10-31  Bruno Haible  <bruno@clisp.org>
3298
3299         doc about some IRIX 5.3 problems.
3300         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
3301         on IRIX 5.3.
3302         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
3303         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
3304         5.3.
3305         * doc/posix-functions/grantpt.texi: Likewise.
3306         * doc/posix-functions/unlockpt.texi: Likewise.
3307         * doc/posix-functions/lgamma.texi: Likewise.
3308         * doc/posix-functions/nextafter.texi: Likewise.
3309         * doc/posix-functions/remainder.texi: Likewise.
3310         * doc/posix-functions/select.texi: Mention misplaced declaration on
3311         IRIX 5.3.
3312         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3313
3314 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
3315
3316         gitlog-to-changelog: fix git-log invocation.
3317         git-log mishandles date strings before 1970-01-01 UTC, and there is
3318         no use to specify --since=1970-01-01 by default anyway.
3319         * build-aux/gitlog-to-changelog: By default, when no --since option
3320         was given, do not specify explicit --since option to git-log.
3321
3322 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
3323
3324         gitlog-to-changelog: new option --append-dot.
3325         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
3326         first non-blank line of each commit message terminated with a dot.
3327
3328 2011-10-30  Bruno Haible  <bruno@clisp.org>
3329
3330         ffsl, ffsll: Avoid compilation error due to 'restrict'.
3331         * lib/ffsl.h: Include <config.h>.
3332         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
3333
3334 2011-10-30  Jim Meyering  <meyering@redhat.com>
3335
3336         GNUmakefile: reenable "make syntax-check" for most projects
3337         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
3338         build-aux variable", "syntax-check" would do nothing but succeed with
3339         the "No version control files detected..." diagnostic (unless you
3340         happened to override _build-aux via cfg.mk).
3341         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
3342         to precede inclusion of maint.mk.  Otherwise, these variables would
3343         be used undefined in any project that does not override the default.
3344
3345 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
3346
3347         gitlog-to-changelog: treat a message with only blank lines as empty.
3348         * build-aux/gitlog-to-changelog: Move the code that removes leading and
3349         trailing blank lines before the code that issues a warning about an
3350         empty commit message.
3351
3352 2011-10-30  Jim Meyering  <meyering@redhat.com>
3353
3354         test-parse-datetime.c: avoid new DST-related false positive test failure
3355         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
3356         based on the time/date we'll convert, not the current time.
3357         Otherwise, the moment we cross a DST boundary like today's in
3358         Europe, (CEST to CET), that offset ends up being one hour off.
3359
3360 2011-10-27  Bruno Haible  <bruno@clisp.org>
3361
3362         fstat: Tweak documentation.
3363         * modules/fstat (Description): More precise description.
3364
3365 2011-10-27  Bruno Haible  <bruno@clisp.org>
3366
3367         Update documentation regarding 'largefile' module.
3368         * doc/posix-functions/fstat.texi: Tweak wording.
3369         * doc/posix-functions/opendir.texi: Mention that the module fixes the
3370         problems with huge directories and/or small ino_t types.
3371         * doc/posix-functions/readdir.texi: Likewise.
3372         * doc/posix-functions/rewinddir.texi: Likewise.
3373
3374 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
3375
3376         maint.mk: don't maintain a second build-aux variable.
3377         * maint.mk (build_aux): Removed.  The maintainer-makefile module
3378         depends on GNUmakefile, which already maintains a cfg.mk
3379         overridable $(_build-aux) for projects with a non-standard
3380         build-aux directory location, although without the $(srcdir)
3381         prefix.  Use that variable consistently instead of introducing a
3382         second one.  Adjust all call sites.
3383
3384 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3385
3386         Add stdalign module and use it in other modules.
3387         This is based on a previous proposal by Bruno Haible
3388         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
3389
3390         stdalign: new module
3391         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
3392         * modules/stdalign: New files.
3393         * MODULES.html.sh (c1x_core_properties): Add stdalign.
3394         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
3395
3396         stdalign-tests: new module
3397         * modules/stdalign-tests, tests/test-stdalign.c: New files.
3398
3399         argp: use stdalign
3400         * lib/argp-parse.c: Include <stdalign.h>.
3401         (alignof): Remove.
3402         * modules/argp (Depends-on): Add stdalign.
3403
3404         crypto libraries: use stdalign
3405         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
3406         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
3407         Do not include <stdlib.h> twice, in md4.c.
3408         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
3409         because we are accessing a pointer's bit-pattern, not a size.
3410         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
3411         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
3412         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
3413         * modules/crypto/sha512: Likewise.
3414
3415         sys_socket: use stdalign, not alignof
3416         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
3417         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
3418
3419 2011-10-27  Bruno Haible  <bruno@clisp.org>
3420
3421         raise test: Avoid a test failure on Linux/MIPS.
3422         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
3423         because 99 is a valid signal on Linux/MIPS.
3424
3425 2011-10-27  Bruno Haible  <bruno@clisp.org>
3426
3427         nonblocking tests: Fix test failure on Linux/MIPS.
3428         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
3429         Set to 270000.
3430
3431 2011-10-27  Bruno Haible  <bruno@clisp.org>
3432
3433         utimensat: Work around problem on Linux/hppa.
3434         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
3435         values.
3436         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
3437
3438 2011-10-25  Jim Meyering  <meyering@redhat.com>
3439
3440         maint.mk: fix a bug in sc_prohibit_stddef_without_use
3441         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
3442         after symbols like NULL, size_t, etc.
3443         Reported by Alfred M. Szmidt.
3444
3445         maint.mk: exempt ENODATA from a syntax-check rule
3446         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
3447         from the sc_prohibit_always-defined_macros syntax-check rule.
3448         Add a comment.  See this for more details:
3449         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
3450
3451 2011-10-23  Jim Meyering  <meyering@redhat.com>
3452
3453         fts: close parent dir FD before returning from post-traversal fts_read
3454         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
3455         unlink A, even though an FD open on A remained.  This is suboptimal
3456         (holding a file descriptor open longer than needed), but otherwise not
3457         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
3458         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
3459         that represents a real problem: it causes the removal of A to fail
3460         with e.g., "rm: cannot remove `A': Device or resource busy"
3461
3462         fts visits each directory twice and keeps a cache (fts_fd_ring) of
3463         directory file descriptors.  After completing the final, FTS_DP,
3464         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
3465         cache, but then proceeded to add a new FD to it via the subsequent
3466         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
3467         final file descriptor would be closed only via fts_close's call to
3468         fd_ring_clear.  Now, it is usually closed earlier, via the final
3469         FTS_DP-returning fts_read call.
3470         * lib/fts.c (restore_initial_cwd): New function, converted from
3471         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
3472         Update callers.
3473         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
3474         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
3475
3476 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
3477             Bruno Haible  <bruno@clisp.org>
3478             Jim Meyering  <jim@meyering.net>
3479
3480         readme-release: improve safety of release prep instructions.
3481         * README-release: Don't git pull all branches when only master
3482         is needed for the release process.
3483         Run make maintainer-clean before changing trees and merging.
3484         Don't try to run ./configure right after git pull in case files
3485         that influence the bootstrap process have changed, move the
3486         ./configure step to after running ./bootstrap.
3487         Don't bootstrap "one last time"... it's the first time!
3488
3489 2011-10-22  Bruno Haible  <bruno@clisp.org>
3490
3491         errno, strerror-override: Support for MSVC 10.
3492         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
3493         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
3494         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
3495         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
3496         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
3497         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
3498         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
3499         Assign values compatible with MSVC 10.
3500         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
3501         New macros.
3502         (GNULIB_defined_EWINSOCK): New macro.
3503         * lib/strerror-override.c (strerror_override): Update accordingly.
3504         * lib/strerror-override.h: Likewise.
3505         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
3506         longer equal to the corresponding errno value.
3507         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3508
3509 2011-10-22  Bruno Haible  <bruno@clisp.org>
3510
3511         perror: Recognize when test program crashes.
3512         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
3513         strerror, set gl_cv_func_perror_works to no.
3514         Reported by Daniel Richard G. <skunk@iskunk.org>.
3515
3516         perror: Fix indentation.
3517         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
3518
3519 2011-10-22  Bruno Haible  <bruno@clisp.org>
3520
3521         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
3522         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
3523         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
3524         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
3525         functions, not as a macro.
3526         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
3527         macros.
3528         (isfinite, isinf, isnan, signbit): Check overloaded functions and
3529         absence of macro.
3530         Suggested by Eric Blake.
3531         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3532
3533 2011-10-21  Bruno Haible  <bruno@clisp.org>
3534
3535         relocatable-prog-wrapper: Don't leave object files behind.
3536         * build-aux/install-reloc: Re-synchronize list of .o files to be
3537         removed with list of compilation units.
3538
3539 2011-10-20  Bruno Haible  <bruno@clisp.org>
3540
3541         openpty, posix_openpt: Remove code duplication.
3542         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
3543         * lib/openpty.c: Include <stdlib.h>.
3544         (openpty): Use posix_openpt on all platforms except IRIX.
3545         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
3546
3547 2011-10-20  Bruno Haible  <bruno@clisp.org>
3548
3549         unlockpt: Detect invalid argument.
3550         * lib/unlockpt.c: Include <fcntl.h>.
3551         (unlockpt): Check whether fd is valid, using fcntl().
3552         * modules/unlockpt (Depends-on): Add fcntl-h.
3553
3554 2011-10-20  Bruno Haible  <bruno@clisp.org>
3555
3556         openpty: Avoid compilation error on AIX 6.1.
3557         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
3558
3559 2011-10-20  Bruno Haible  <bruno@clisp.org>
3560
3561         posix_openpt: Support for OpenBSD.
3562         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
3563         (posix_openpt) [OpenBSD]: New code.
3564         * lib/grantpt.c: Include <fcntl.h>.
3565         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
3566         * modules/grantpt (Depends-on): Add fcntl-h.
3567
3568 2011-10-20  Bruno Haible  <bruno@clisp.org>
3569
3570         posix_openpt test: Coding style.
3571         * tests/test-posix_openpt.c: Use GNU coding style.
3572
3573 2011-10-20  Bruno Haible  <bruno@clisp.org>
3574
3575         grantpt: Support --avoid=pt_chown.
3576         * modules/grantpt (Files): Add lib/pty-private.h.
3577
3578 2011-10-20  Bruno Haible  <bruno@clisp.org>
3579
3580         posix_openpt: Fix autoconf macro.
3581         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
3582         unneeded check for _getpty.
3583
3584 2011-10-20  Bruno Haible  <bruno@clisp.org>
3585
3586         openpty: Update comments.
3587         * lib/openpty.c: Add comments about Minix.
3588
3589 2011-10-19  Eric Blake  <eblake@redhat.com>
3590
3591         openpty: relax license
3592         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
3593
3594         pt_chown: use configmake to simplify build
3595         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
3596
3597         ptsname and others: relax license
3598         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
3599         * modules/unlockpt (License): Likewise.
3600         * modules/pt_chown (License): Likewise.
3601         * modules/ptsname (License): Likewise.
3602         * modules/ttyname_r (License): Likewise.
3603
3604 2011-10-19  Jim Meyering  <meyering@redhat.com>
3605
3606         posix_openpt: remove spurious #endif
3607         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
3608
3609 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
3610
3611         maint.mk: Respect $(build_aux) in web-manual rule.
3612         * top/maint.mk (web-manual): Find gen-announce script in user's
3613         $(build_aux) directory instead of hard-coding 'build-aux'.
3614
3615 2011-10-19  Bruno Haible  <bruno@clisp.org>
3616
3617         posix_openpt: Fix compilation error.
3618         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
3619         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
3620         Mention the openpty module as an alternative.
3621
3622 2011-10-19  Bruno Haible  <bruno@clisp.org>
3623
3624         Support for old NeXTstep 3.3 frexp().
3625         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
3626         execution time of the test to 5 seconds.
3627         Reported by Daniel Richard G. <skunk@iskunk.org>.
3628
3629 2011-10-19  Bruno Haible  <bruno@clisp.org>
3630
3631         Support for old NeXTstep 3.3 sed.
3632         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
3633         part, use /.../, not \|...|. Escape periods in the header file name.
3634         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3635         Reported by Daniel Richard G. <skunk@iskunk.org>.
3636
3637 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3638
3639         Support for old NeXTstep 3.3 gcc.
3640         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
3641         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
3642         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
3643         * lib/spawn.in.h (_Restrict_arr_): Likewise.
3644         * lib/regex.h (_Restrict_arr_): Likewise.
3645         * lib/regex_internal.h (re_token_t): Likewise.
3646         * lib/regexec.c (check_node_accept_bytes): Likewise.
3647         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
3648
3649 2011-10-18  Eric Blake  <eblake@redhat.com>
3650
3651         posix_openpt: new module
3652         * modules/posix_openpt: New module.
3653         * m4/posix_openpt.m4: New file.
3654         * lib/posix_openpt.c: Likewise.
3655         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
3656         (gl_STDLIB_H_DEFAULTS): Set defaults.
3657         * modules/stdlib (Makefile.am): Substitute macros.
3658         * lib/stdlib.in.h (posix_openpt): Declare.
3659         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
3660         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
3661         * modules/posix_openpt-tests: New test module.
3662         * tests/test-posix_openpt.c: New test.
3663
3664 2011-10-15  Bruno Haible  <bruno@clisp.org>
3665
3666         xstrtoll: Fix compilation failure.
3667         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
3668         from lib/strtol.c.
3669         * doc/posix-headers/limits.texi: Mention missing numerical limits on
3670         some platforms.
3671         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3672
3673 2011-10-15  Bruno Haible  <bruno@clisp.org>
3674
3675         vasnprintf: Optimize bit search operation.
3676         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
3677         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
3678         gl_DOUBLE_EXPONENT_LOCATION.
3679         * modules/vasnprintf (Files): Add m4/exponentd.m4.
3680         * modules/unistdio/u8-vasnprintf (Files): Likewise.
3681         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
3682         * modules/unistdio/u16-vasnprintf (Files): Likewise.
3683         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
3684         * modules/unistdio/u32-vasnprintf (Files): Likewise.
3685         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
3686         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
3687         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
3688
3689 2011-10-15  Bruno Haible  <bruno@clisp.org>
3690
3691         vasnprintf: Fix comments.
3692         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
3693
3694 2011-10-14  Bruno Haible  <bruno@clisp.org>
3695
3696         Tests for module 'integer_length_ll'.
3697         * modules/integer_length_ll-tests: New file.
3698         * tests/test-integer_length_ll.c: New file.
3699
3700         New module 'integer_length_ll'.
3701         * lib/integer_length_ll.c: New file.
3702         * modules/integer_length_ll: New file.
3703
3704 2011-10-14  Bruno Haible  <bruno@clisp.org>
3705
3706         Tests for module 'integer_length_l'.
3707         * modules/integer_length_l-tests: New file.
3708         * tests/test-integer_length_l.c: New file.
3709
3710         New module 'integer_length_l'.
3711         * lib/integer_length_l.c: New file.
3712         * modules/integer_length_l: New file.
3713
3714 2011-10-14  Bruno Haible  <bruno@clisp.org>
3715
3716         Tests for module 'integer_length'.
3717         * modules/integer_length-tests: New file.
3718         * tests/test-integer_length.c: New file.
3719
3720         New module 'integer_length'.
3721         * lib/integer_length.h: New file.
3722         * lib/integer_length.c: New file.
3723         * modules/integer_length: New file.
3724
3725 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3726
3727         popen: Fix dependency conditions.
3728         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
3729
3730 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
3731
3732         perror: Fix autoconf test.
3733         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
3734         <stdlib.h> and <string.h>.
3735
3736 2011-10-14  Bruno Haible  <bruno@clisp.org>
3737
3738         ffsl: Optimize on 64-bit platforms.
3739         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
3740         unrolling.
3741
3742 2011-10-13  Bruno Haible  <bruno@clisp.org>
3743
3744         ffsl: Optimize on 32-bit platforms.
3745         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
3746         use ffs() without a loop.
3747
3748         ffsl, ffsll: Optimize for GCC.
3749         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
3750         * lib/ffsl.c (GCC_BUILTIN): New macro.
3751         * lib/ffsll.c (GCC_BUILTIN): Likewise.
3752
3753 2011-10-13  Bruno Haible  <bruno@clisp.org>
3754
3755         ffs, bcopy, memset: Support symbol renaming via config.h.
3756         * lib/ffs.c: Include <config.h>.
3757         * lib/bcopy.c: Likewise.
3758         * lib/memset.c: Likewise.
3759
3760 2011-10-10  Bruno Haible  <bruno@clisp.org>
3761
3762         atanl: Simplify for platforms where 'long double' == 'double'.
3763         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3764         alternative implementation.
3765         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3766         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3767         * modules/atanl (Depends-on): Add atan. Update conditions.
3768
3769 2011-10-10  Bruno Haible  <bruno@clisp.org>
3770
3771         acosl: Simplify for platforms where 'long double' == 'double'.
3772         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3773         alternative implementation.
3774         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3775         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3776         * modules/acosl (Depends-on): Add acos. Update conditions.
3777
3778 2011-10-10  Bruno Haible  <bruno@clisp.org>
3779
3780         asinl: Simplify for platforms where 'long double' == 'double'.
3781         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3782         alternative implementation.
3783         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3784         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3785         * modules/asinl (Depends-on): Add asin. Update conditions.
3786
3787 2011-10-10  Bruno Haible  <bruno@clisp.org>
3788
3789         tanl: Simplify for platforms where 'long double' == 'double'.
3790         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3791         implementation.
3792         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3793         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3794         * modules/tanl (Depends-on): Add tan. Update conditions.
3795         (configure.ac): Don't compile trigl.c if
3796         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3797
3798 2011-10-10  Bruno Haible  <bruno@clisp.org>
3799
3800         cosl: Simplify for platforms where 'long double' == 'double'.
3801         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3802         implementation.
3803         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3804         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3805         * modules/cosl (Depends-on): Add cos. Update conditions.
3806         (configure.ac): Don't compile sincosl.c and trigl.c if
3807         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3808
3809 2011-10-10  Bruno Haible  <bruno@clisp.org>
3810
3811         sinl: Simplify for platforms where 'long double' == 'double'.
3812         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3813         implementation.
3814         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3815         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3816         * modules/sinl (Depends-on): Add sin. Update conditions.
3817         (configure.ac): Don't compile sincosl.c and trigl.c if
3818         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3819
3820 2011-10-10  Bruno Haible  <bruno@clisp.org>
3821
3822         logl: Simplify for platforms where 'long double' == 'double'.
3823         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3824         implementation.
3825         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3826         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3827         * modules/logl (Depends-on): Add log. Update conditions.
3828
3829 2011-10-10  Bruno Haible  <bruno@clisp.org>
3830
3831         expl: Simplify for platforms where 'long double' == 'double'.
3832         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
3833         implementation.
3834         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3835         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3836         * modules/expl (Depends-on): Add exp. Update conditions.
3837
3838 2011-10-10  Bruno Haible  <bruno@clisp.org>
3839
3840         sqrtl: Simplify for platforms where 'long double' == 'double'.
3841         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3842         alternative implementation.
3843         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3844         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3845         * modules/sqrtl (Depends-on): Update conditions.
3846
3847 2011-10-10  Bruno Haible  <bruno@clisp.org>
3848
3849         ldexpl: Simplify for platforms where 'long double' == 'double'.
3850         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3851         alternative implementation.
3852         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3853         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3854         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
3855
3856 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
3857
3858         ffsll: set correct witness
3859         * modules/ffsll (configure.ac): Fix typo.
3860
3861 2011-10-10  Bruno Haible  <bruno@clisp.org>
3862
3863         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
3864         * lib/printf-frexpl.c: Include <config.h>.
3865         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3866         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
3867         second time.
3868         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
3869         gl_LONG_DOUBLE_VS_DOUBLE.
3870         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
3871         conditions.
3872
3873 2011-10-10  Bruno Haible  <bruno@clisp.org>
3874
3875         frexpl: Simplify for platforms where 'long double' == 'double'.
3876         * lib/frexpl.c: Include <config.h>.
3877         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3878         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3879         time.
3880         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3881         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3882         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
3883         * modules/frexpl (Depends-on): Add frexp. Update conditions.
3884         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
3885         conditions.
3886
3887 2011-10-10  Jim Meyering  <meyering@redhat.com>
3888
3889         test-renameat: don't leave behind a temporary file
3890         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
3891           ERROR: files left in build directory after distclean:
3892           ./gltests/test-renameat.too
3893           make[1]: *** [distcleancheck] Error 1
3894         Reported by Tom G. Christensen.
3895
3896 2011-10-09  Bruno Haible  <bruno@clisp.org>
3897
3898         rint: Determine RINT_LIBM correctly on AIX 7.
3899         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
3900         directly, not only through a function pointer. Also accept an optional
3901         4th argument with extra code.
3902         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
3903         rintf() call by gcc when optimizing.
3904
3905         mathfunc.m4: Refactor.
3906         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
3907         m4 variable.
3908
3909 2011-10-09  Bruno Haible  <bruno@clisp.org>
3910
3911         rintl: Simplify for platforms where 'long double' == 'double'.
3912         * lib/rintl.c: Include <config.h>.
3913         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3914         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3915         time.
3916         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3917         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3918         * modules/rintl (Depends-on): Add rint. Update conditions.
3919
3920 2011-10-09  Bruno Haible  <bruno@clisp.org>
3921
3922         roundl: Simplify for platforms where 'long double' == 'double'.
3923         * lib/roundl.c: Include <config.h>.
3924         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3925         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3926         time.
3927         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3928         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3929         * modules/roundl (Depends-on): Add round. Update conditions.
3930
3931 2011-10-09  Bruno Haible  <bruno@clisp.org>
3932
3933         truncl: Simplify for platforms where 'long double' == 'double'.
3934         * lib/truncl.c: Include <config.h>.
3935         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3936         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3937         time.
3938         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3939         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3940         * modules/truncl (Depends-on): Add trunc. Update conditions.
3941
3942 2011-10-09  Bruno Haible  <bruno@clisp.org>
3943
3944         ceill: Simplify for platforms where 'long double' == 'double'.
3945         * lib/ceill.c: Include <config.h>.
3946         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3947         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3948         time.
3949         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3950         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3951         * modules/ceill (Depends-on): Add ceil. Update conditions.
3952
3953 2011-10-09  Bruno Haible  <bruno@clisp.org>
3954
3955         floorl: Simplify for platforms where 'long double' == 'double'.
3956         * lib/floorl.c: Include <config.h>.
3957         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
3958         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
3959         time.
3960         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3961         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3962         * modules/floorl (Depends-on): Add floor. Update conditions.
3963
3964 2011-10-09  Bruno Haible  <bruno@clisp.org>
3965
3966         rint: Fix ordering constraints.
3967         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
3968         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3969         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3970
3971 2011-10-09  Bruno Haible  <bruno@clisp.org>
3972
3973         copysignl: Simplify for platforms where 'long double' == 'double'.
3974         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
3975         alternative.
3976         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3977         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
3978         * modules/copysignl (Depends-on): Add copysign. Update conditions.
3979
3980 2011-10-09  Bruno Haible  <bruno@clisp.org>
3981
3982         Tests for module 'rintl'.
3983         * modules/rintl-tests: New file.
3984         * tests/test-rintl.c: New file.
3985
3986         New module 'rintl'.
3987         * lib/math.in.h (rintl): New declaration.
3988         * lib/rintl.c: New file.
3989         * m4/rintl.m4: New file.
3990         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
3991         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
3992         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
3993         * modules/rintl: New file.
3994         * tests/test-math-c++.cc: Check the declaration of rintl.
3995         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
3996         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
3997         * doc/posix-functions/rintl.texi: Mention the new module.
3998
3999 2011-10-09  Bruno Haible  <bruno@clisp.org>
4000
4001         Tests for module 'rintf'.
4002         * modules/rintf-tests: New file.
4003         * tests/test-rintf.c: New file.
4004
4005         New module 'rintf'.
4006         * lib/math.in.h (rintf): New declaration.
4007         * lib/rintf.c: New file.
4008         * m4/rintf.m4: New file.
4009         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
4010         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
4011         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
4012         * modules/rintf: New file.
4013         * tests/test-math-c++.cc: Check the declaration of rintf.
4014         * doc/posix-functions/rintf.texi: Mention the new module.
4015
4016 2011-10-09  Bruno Haible  <bruno@clisp.org>
4017
4018         rint: Support for MSVC.
4019         * lib/math.in.h (rint): New declaration.
4020         * lib/rint.c: New file.
4021         * m4/rint.m4: New file.
4022         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
4023         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
4024         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
4025         * modules/rint (Description): Fix.
4026         (Files): Add lib/rint.c, m4/rint.m4.
4027         (Depends-on): Add math.
4028         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
4029         gl_MATH_MODULE_INDICATOR.
4030         * tests/test-math-c++.cc: Check the declaration of rint.
4031         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4032         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
4033         * doc/posix-functions/rint.texi: Mention the replacement provided by
4034         the module.
4035
4036         rint tests: More tests.
4037         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
4038         minus-zero.h, infinity.h, nan.h.
4039         (main): Skip the test if the current rounding mode is not standard. Add
4040         tests for negative numbers, minus zero, infinity, NaN.
4041         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
4042         tests/nan.h.
4043         (Depends-on): Add isnand-nolibm.
4044
4045 2011-10-09  Bruno Haible  <bruno@clisp.org>
4046
4047         Tests for module 'copysignl'.
4048         * modules/copysignl-tests: New file.
4049         * tests/test-copysignl.c: New file.
4050
4051         New module 'copysignl'.
4052         * lib/math.in.h (copysignl): New declaration.
4053         * lib/copysignl.c: New file.
4054         * m4/copysignl.m4: New file.
4055         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
4056         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
4057         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
4058         HAVE_COPYSIGNL.
4059         * modules/copysignl: New file.
4060         * tests/test-math-c++.cc: Check the declaration of copysignl.
4061         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
4062         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
4063         * doc/posix-functions/copysignl.texi: Mention the new module.
4064
4065 2011-10-09  Bruno Haible  <bruno@clisp.org>
4066
4067         Tests for module 'copysignf'.
4068         * modules/copysignf-tests: New file.
4069         * tests/test-copysignf.c: New file.
4070
4071         New module 'copysignf'.
4072         * lib/math.in.h (copysignf): New declaration.
4073         * lib/copysignf.c: New file.
4074         * m4/copysignf.m4: New file.
4075         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
4076         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
4077         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
4078         HAVE_COPYSIGNF.
4079         * modules/copysignf: New file.
4080         * tests/test-math-c++.cc: Check the declaration of copysignf.
4081         * doc/posix-functions/copysignf.texi: Mention the new module.
4082
4083 2011-10-09  Bruno Haible  <bruno@clisp.org>
4084
4085         Ensure that HAVE_* variables are set to 1 before they are set to 0.
4086         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
4087         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
4088         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4089         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
4090         gl_SIGNAL_H_DEFAULTS.
4091
4092 2011-10-09  Bruno Haible  <bruno@clisp.org>
4093
4094         poll: Make macro safer.
4095         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
4096         ac_cv_header_poll_h is not set.
4097
4098 2011-10-09  Bruno Haible  <bruno@clisp.org>
4099
4100         copysign: Provide replacement.
4101         * lib/math.in.h (copysign): New declaration.
4102         * lib/copysign.c: New file.
4103         * m4/copysign.m4: New file.
4104         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
4105         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
4106         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
4107         HAVE_COPYSIGN.
4108         * modules/copysign (Description): Clarify.
4109         (Files): Add lib/copysign.c, m4/copysign.m4.
4110         (Depends-on): Add math, signbit.
4111         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
4112         gl_MATH_MODULE_INDICATOR.
4113         * tests/test-math-c++.cc: Check the declaration of copysign.
4114         * doc/posix-functions/copysign.texi: Mention the effects of the module
4115         on Minix and MSVC.
4116
4117 2011-10-09  Bruno Haible  <bruno@clisp.org>
4118
4119         isinf: Ensure macro on AIX 5.1.
4120         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
4121         macro.
4122         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
4123
4124 2011-10-09  Bruno Haible  <bruno@clisp.org>
4125
4126         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
4127         * modules/snprintf-posix-tests (configure.ac): Require
4128         gl_LONG_DOUBLE_VS_DOUBLE.
4129         * modules/sprintf-posix-tests (configure.ac): Likewise.
4130         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
4131         * modules/vasprintf-posix-tests (configure.ac): Likewise.
4132         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
4133         * modules/vsprintf-posix-tests (configure.ac): Likewise.
4134         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
4135         tests on platforms where 'long double' is the same as 'double'.
4136         * tests/test-sprintf-posix.h (test_function): Likewise.
4137         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4138         * tests/test-vasprintf-posix.c (test_function): Likewise.
4139
4140         *printf: Fix for platforms where 'long double' == 'double'.
4141         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
4142         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
4143         * modules/dprintf-posix (Files): Add m4/math_h.m4.
4144         * modules/fprintf-posix (Files): Likewise.
4145         * modules/obstack-printf-posix (Files): Likewise.
4146         * modules/snprintf-posix (Files): Likewise.
4147         * modules/sprintf-posix (Files): Likewise.
4148         * modules/vasnprintf (Files): Likewise.
4149         * modules/vasnprintf-posix (Files): Likewise.
4150         * modules/vasprintf-posix (Files): Likewise.
4151         * modules/vdprintf-posix (Files): Likewise.
4152         * modules/vfprintf-posix (Files): Likewise.
4153         * modules/vsnprintf-posix (Files): Likewise.
4154         * modules/vsprintf-posix (Files): Likewise.
4155         * modules/unistdio/u8-vasnprintf (Files): Likewise.
4156         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
4157         * modules/unistdio/u16-vasnprintf (Files): Likewise.
4158         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
4159         * modules/unistdio/u32-vasnprintf (Files): Likewise.
4160         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
4161         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
4162
4163         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
4164         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
4165         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
4166         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
4167         'long double'.
4168         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
4169
4170         isinf: Fix for platforms where 'long double' == 'double'.
4171         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4172         Don't blindly assume 80-bit 'long double'.
4173
4174         isfinite: Fix for platforms where 'long double' == 'double'.
4175         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
4176         Don't blindly assume 80-bit 'long double'.
4177
4178         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
4179         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
4180         * modules/isfinite-tests (configure.ac): Require
4181         gl_LONG_DOUBLE_VS_DOUBLE.
4182         * modules/isinf-tests (configure.ac): Likewise.
4183         * modules/isnan-tests (configure.ac): Likewise.
4184         * modules/isnanl-tests (configure.ac): Likewise.
4185         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
4186         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
4187         tests on platforms where 'long double' is the same as 'double'.
4188         * tests/test-isinf.c (test_isinfl): Likewise.
4189         * tests/test-isnan.c (test_long_double): Likewise.
4190         * tests/test-isnanl.h (main): Likewise.
4191
4192 2011-10-08  Bruno Haible  <bruno@clisp.org>
4193
4194         Tests for module 'tanhf'.
4195         * modules/tanhf-tests: New file.
4196         * tests/test-tanhf.c: New file.
4197
4198         New module 'tanhf'.
4199         * lib/math.in.h (tanhf): New declaration.
4200         * lib/tanhf.c: New file.
4201         * m4/tanhf.m4: New file.
4202         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
4203         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
4204         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
4205         * modules/tanhf: New file.
4206         * tests/test-math-c++.cc: Check the declaration of tanhf.
4207         * doc/posix-functions/tanhf.texi: Mention the new module.
4208
4209         tanh: Use a .m4 file.
4210         * m4/tanh.m4: New file.
4211         * modules/tanh (Files): Add it.
4212         (configure.ac): Just invoke gl_FUNC_TANH.
4213
4214 2011-10-08  Bruno Haible  <bruno@clisp.org>
4215
4216         Tests for module 'coshf'.
4217         * modules/coshf-tests: New file.
4218         * tests/test-coshf.c: New file.
4219
4220         New module 'coshf'.
4221         * lib/math.in.h (coshf): New declaration.
4222         * lib/coshf.c: New file.
4223         * m4/coshf.m4: New file.
4224         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
4225         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
4226         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
4227         * modules/coshf: New file.
4228         * tests/test-math-c++.cc: Check the declaration of coshf.
4229         * doc/posix-functions/coshf.texi: Mention the new module.
4230
4231         cosh: Use a .m4 file.
4232         * m4/cosh.m4: New file.
4233         * modules/cosh (Files): Add it.
4234         (configure.ac): Just invoke gl_FUNC_COSH.
4235
4236 2011-10-08  Bruno Haible  <bruno@clisp.org>
4237
4238         Tests for module 'sinhf'.
4239         * modules/sinhf-tests: New file.
4240         * tests/test-sinhf.c: New file.
4241
4242         New module 'sinhf'.
4243         * lib/math.in.h (sinhf): New declaration.
4244         * lib/sinhf.c: New file.
4245         * m4/sinhf.m4: New file.
4246         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
4247         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
4248         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
4249         * modules/sinhf: New file.
4250         * tests/test-math-c++.cc: Check the declaration of sinhf.
4251         * doc/posix-functions/sinhf.texi: Mention the new module.
4252
4253         sinh: Use a .m4 file.
4254         * m4/sinh.m4: New file.
4255         * modules/sinh (Files): Add it.
4256         (configure.ac): Just invoke gl_FUNC_SINH.
4257
4258 2011-10-08  Bruno Haible  <bruno@clisp.org>
4259
4260         Tests for module 'atan2f'.
4261         * modules/atan2f-tests: New file.
4262         * tests/test-atan2f.c: New file.
4263
4264         New module 'atan2f'.
4265         * lib/math.in.h (atan2f): New declaration.
4266         * lib/atan2f.c: New file.
4267         * m4/atan2f.m4: New file.
4268         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
4269         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
4270         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
4271         * modules/atan2f: New file.
4272         * tests/test-math-c++.cc: Check the declaration of atan2f.
4273         * doc/posix-functions/atan2f.texi: Mention the new module.
4274
4275         atan2: Use a .m4 file.
4276         * m4/atan2.m4: New file.
4277         * modules/atan2 (Files): Add it.
4278         (configure.ac): Just invoke gl_FUNC_ATAN2.
4279
4280 2011-10-08  Bruno Haible  <bruno@clisp.org>
4281
4282         Tests for module 'atanf'.
4283         * modules/atanf-tests: New file.
4284         * tests/test-atanf.c: New file.
4285
4286         New module 'atanf'.
4287         * lib/math.in.h (atanf): New declaration.
4288         * lib/atanf.c: New file.
4289         * m4/atanf.m4: New file.
4290         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
4291         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
4292         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
4293         * modules/atanf: New file.
4294         * tests/test-math-c++.cc: Check the declaration of atanf.
4295         * doc/posix-functions/atanf.texi: Mention the new module.
4296
4297         atan: Use a .m4 file.
4298         * m4/atan.m4: New file.
4299         * modules/atan (Files): Add it.
4300         (configure.ac): Just invoke gl_FUNC_ATAN.
4301
4302 2011-10-08  Bruno Haible  <bruno@clisp.org>
4303
4304         Tests for module 'acosf'.
4305         * modules/acosf-tests: New file.
4306         * tests/test-acosf.c: New file.
4307
4308         New module 'acosf'.
4309         * lib/math.in.h (acosf): New declaration.
4310         * lib/acosf.c: New file.
4311         * m4/acosf.m4: New file.
4312         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
4313         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
4314         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
4315         * modules/acosf: New file.
4316         * tests/test-math-c++.cc: Check the declaration of acosf.
4317         * doc/posix-functions/acosf.texi: Mention the new module.
4318
4319         acos: Use a .m4 file.
4320         * m4/acos.m4: New file.
4321         * modules/acos (Files): Add it.
4322         (configure.ac): Just invoke gl_FUNC_ACOS.
4323
4324 2011-10-08  Bruno Haible  <bruno@clisp.org>
4325
4326         Tests for module 'asinf'.
4327         * modules/asinf-tests: New file.
4328         * tests/test-asinf.c: New file.
4329
4330         New module 'asinf'.
4331         * lib/math.in.h (asinf): New declaration.
4332         * lib/asinf.c: New file.
4333         * m4/asinf.m4: New file.
4334         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
4335         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
4336         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
4337         * modules/asinf: New file.
4338         * tests/test-math-c++.cc: Check the declaration of asinf.
4339         * doc/posix-functions/asinf.texi: Mention the new module.
4340
4341         asin: Use a .m4 file.
4342         * m4/asin.m4: New file.
4343         * modules/asin (Files): Add it.
4344         (configure.ac): Just invoke gl_FUNC_ASIN.
4345
4346 2011-10-08  Bruno Haible  <bruno@clisp.org>
4347
4348         Tests for module 'tanf'.
4349         * modules/tanf-tests: New file.
4350         * tests/test-tanf.c: New file.
4351
4352         New module 'tanf'.
4353         * lib/math.in.h (tanf): New declaration.
4354         * lib/tanf.c: New file.
4355         * m4/tanf.m4: New file.
4356         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
4357         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
4358         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
4359         * modules/tanf: New file.
4360         * tests/test-math-c++.cc: Check the declaration of tanf.
4361         * doc/posix-functions/tanf.texi: Mention the new module.
4362
4363         tan: Use a .m4 file.
4364         * m4/tan.m4: New file.
4365         * modules/tan (Files): Add it.
4366         (configure.ac): Just invoke gl_FUNC_TAN.
4367
4368 2011-10-08  Bruno Haible  <bruno@clisp.org>
4369
4370         Tests for module 'cosf'.
4371         * modules/cosf-tests: New file.
4372         * tests/test-cosf.c: New file.
4373
4374         New module 'cosf'.
4375         * lib/math.in.h (cosf): New declaration.
4376         * lib/cosf.c: New file.
4377         * m4/cosf.m4: New file.
4378         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
4379         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
4380         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
4381         * modules/cosf: New file.
4382         * tests/test-math-c++.cc: Check the declaration of cosf.
4383         * doc/posix-functions/cosf.texi: Mention the new module.
4384
4385         cos: Use a .m4 file.
4386         * m4/cos.m4: New file.
4387         * modules/cos (Files): Add it.
4388         (configure.ac): Just invoke gl_FUNC_COS.
4389
4390 2011-10-08  Bruno Haible  <bruno@clisp.org>
4391
4392         Tests for module 'sinf'.
4393         * modules/sinf-tests: New file.
4394         * tests/test-sinf.c: New file.
4395
4396         New module 'sinf'.
4397         * lib/math.in.h (sinf): New declaration.
4398         * lib/sinf.c: New file.
4399         * m4/sinf.m4: New file.
4400         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
4401         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
4402         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
4403         * modules/sinf: New file.
4404         * tests/test-math-c++.cc: Check the declaration of sinf.
4405         * doc/posix-functions/sinf.texi: Mention the new module.
4406
4407         sin: Use a .m4 file.
4408         * m4/sin.m4: New file.
4409         * modules/sin (Files): Add it.
4410         (configure.ac): Just invoke gl_FUNC_SIN.
4411
4412 2011-10-08  Bruno Haible  <bruno@clisp.org>
4413
4414         Tests for module 'powf'.
4415         * modules/powf-tests: New file.
4416         * tests/test-powf.c: New file.
4417
4418         New module 'powf'.
4419         * lib/math.in.h (powf): New declaration.
4420         * lib/powf.c: New file.
4421         * m4/powf.m4: New file.
4422         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
4423         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
4424         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
4425         * modules/powf: New file.
4426         * tests/test-math-c++.cc: Check the declaration of powf.
4427         * doc/posix-functions/powf.texi: Mention the new module.
4428
4429         pow: Use a .m4 file.
4430         * m4/pow.m4: New file.
4431         * modules/pow (Files): Add it.
4432         (configure.ac): Just invoke gl_FUNC_POW.
4433
4434 2011-10-08  Bruno Haible  <bruno@clisp.org>
4435
4436         Tests for module 'log10f'.
4437         * modules/log10f-tests: New file.
4438         * tests/test-log10f.c: New file.
4439
4440         New module 'log10f'.
4441         * lib/math.in.h (log10f): New declaration.
4442         * lib/log10f.c: New file.
4443         * m4/log10f.m4: New file.
4444         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
4445         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
4446         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
4447         * modules/log10f: New file.
4448         * tests/test-math-c++.cc: Check the declaration of log10f.
4449         * doc/posix-functions/log10f.texi: Mention the new module.
4450
4451         log10: Use a .m4 file.
4452         * m4/log10.m4: New file.
4453         * modules/log10 (Files): Add it.
4454         (configure.ac): Just invoke gl_FUNC_LOG10.
4455
4456 2011-10-08  Bruno Haible  <bruno@clisp.org>
4457
4458         Tests for module 'logf'.
4459         * modules/logf-tests: New file.
4460         * tests/test-logf.c: New file.
4461
4462         New module 'logf'.
4463         * lib/math.in.h (logf): New declaration.
4464         * lib/logf.c: New file.
4465         * m4/logf.m4: New file.
4466         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
4467         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
4468         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
4469         * modules/logf: New file.
4470         * tests/test-math-c++.cc: Check the declaration of logf.
4471         * doc/posix-functions/logf.texi: Mention the new module.
4472
4473         log: Use a .m4 file.
4474         * m4/log.m4: New file.
4475         * modules/log (Files): Add it.
4476         (configure.ac): Just invoke gl_FUNC_LOG.
4477
4478 2011-10-08  Bruno Haible  <bruno@clisp.org>
4479
4480         Tests for module 'expf'.
4481         * modules/expf-tests: New file.
4482         * tests/test-expf.c: New file.
4483
4484         New module 'expf'.
4485         * lib/math.in.h (expf): New declaration.
4486         * lib/expf.c: New file.
4487         * m4/expf.m4: New file.
4488         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
4489         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
4490         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
4491         * modules/expf: New file.
4492         * tests/test-math-c++.cc: Check the declaration of expf.
4493         * doc/posix-functions/expf.texi: Mention the new module.
4494
4495         exp: Use a .m4 file.
4496         * m4/exp.m4: New file.
4497         * modules/exp (Files): Add it.
4498         (configure.ac): Just invoke gl_FUNC_EXP.
4499
4500 2011-10-08  Bruno Haible  <bruno@clisp.org>
4501
4502         Tests for module 'sqrtf'.
4503         * modules/sqrtf-tests: New file.
4504         * tests/test-sqrtf.c: New file.
4505
4506         New module 'sqrtf'.
4507         * lib/math.in.h (sqrtf): New declaration.
4508         * lib/sqrtf.c: New file.
4509         * m4/sqrtf.m4: New file.
4510         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
4511         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
4512         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
4513         * modules/sqrtf: New file.
4514         * tests/test-math-c++.cc: Check the declaration of sqrtf.
4515         * doc/posix-functions/sqrtf.texi: Mention the new module.
4516
4517 2011-10-08  Bruno Haible  <bruno@clisp.org>
4518
4519         Tests: Avoid link failures w.r.t. libintl.
4520         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
4521         $(LIBINTL).
4522         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
4523         $(LIBINTL).
4524         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
4525         against $(LIBINTL).
4526         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
4527         $(LIBINTL).
4528         * modules/openat-tests (Makefile.am): Link test-fchmodat against
4529         $(LIBINTL).
4530         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
4531
4532 2011-10-08  Bruno Haible  <bruno@clisp.org>
4533
4534         pow tests: Defeat compiler optimizations.
4535         * tests/test-pow.c (main): Assign arguments to x and y before use.
4536
4537 2011-10-08  Bruno Haible  <bruno@clisp.org>
4538
4539         gnulib-tool: Improve last commit.
4540         * gnulib-tool (func_modules_transitive_closure): Simplify code.
4541         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
4542         ignore dependencies that are not among the modules list.
4543
4544 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
4545
4546         gnulib-tool: don't follow dependencies to avoided modules
4547         This fixes a bug that is related to the previous one.
4548         * gnulib-tool (func_modules_transitive_closure)
4549         (func_emit_autoconf_snippets):
4550         Check whether a dependency is acceptable before using it.
4551         (--extract-dependencies): Report an error if --avoid is also used,
4552         since this combination of options is not yet supported.
4553
4554         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
4555         Problem reported by Peter Dyballa in
4556         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
4557         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
4558         when echoing "$condition".
4559
4560 2011-10-07  Bruno Haible  <bruno@clisp.org>
4561
4562         Fix documentation about math functions on MacOS X.
4563         * doc/posix-functions/exp2.texi: Don't say the function is missing on
4564         MacOS X 10.5.
4565         * doc/posix-functions/fdim.texi: Likewise.
4566         * doc/posix-functions/feclearexcept.texi: Likewise.
4567         * doc/posix-functions/fegetenv.texi: Likewise.
4568         * doc/posix-functions/fegetround.texi: Likewise.
4569         * doc/posix-functions/feholdexcept.texi: Likewise.
4570         * doc/posix-functions/feraiseexcept.texi: Likewise.
4571         * doc/posix-functions/fesetenv.texi: Likewise.
4572         * doc/posix-functions/fesetround.texi: Likewise.
4573         * doc/posix-functions/fetestexcept.texi: Likewise.
4574         * doc/posix-functions/feupdateenv.texi: Likewise.
4575         * doc/posix-functions/fmax.texi: Likewise.
4576         * doc/posix-functions/fmin.texi: Likewise.
4577         * doc/posix-functions/log2.texi: Likewise.
4578         * doc/posix-functions/modff.texi: Likewise.
4579         * doc/posix-functions/nan.texi: Likewise.
4580         * doc/posix-functions/nanf.texi: Likewise.
4581         * doc/posix-functions/nextafterf.texi: Likewise.
4582         * doc/posix-functions/remquo.texi: Likewise.
4583
4584 2011-10-07  Bruno Haible  <bruno@clisp.org>
4585
4586         modff: Drop assumption about library that defines modff.
4587         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
4588         AC_CHECK_FUNCS.
4589         * modules/modff (Files): Add m4/mathfunc.m4.
4590
4591 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
4592
4593         raise tests: Avoid a GCC warning.
4594         * tests/test-raise.c (handler): Use _Noreturn.
4595
4596 2011-10-07  Bruno Haible  <bruno@clisp.org>
4597
4598         Tests for module 'ldexpf'.
4599         * modules/ldexpf-tests: New file.
4600         * tests/test-ldexpf.c: New file.
4601
4602         New module 'ldexpf'.
4603         * lib/math.in.h (ldexpf): New declaration.
4604         * lib/ldexpf.c: New file.
4605         * m4/ldexpf.m4: New file.
4606         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
4607         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
4608         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
4609         * modules/ldexpf: New file.
4610         * tests/test-math-c++.cc: Check the declaration of ldexpf.
4611         * doc/posix-functions/ldexpf.texi: Mention the new module.
4612
4613 2011-10-06  Bruno Haible  <bruno@clisp.org>
4614
4615         frexpf: Work around problems on IRIX and mingw.
4616         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
4617         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
4618         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
4619         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
4620         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
4621         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
4622         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
4623
4624 2011-10-06  Bruno Haible  <bruno@clisp.org>
4625
4626         fabsf: Drop assumption about library that defines fabsf.
4627         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
4628         AC_CHECK_FUNCS.
4629         * modules/fabsf (Files): Add m4/mathfunc.m4.
4630
4631 2011-10-06  Bruno Haible  <bruno@clisp.org>
4632
4633         frexpf: Drop assumption about library that defines frexpf.
4634         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
4635         'int *', 'float *', 'long double *', 'float', 'long double'.
4636         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
4637         AC_CHECK_FUNCS.
4638         * modules/frexpf (Files): Add m4/mathfunc.m4.
4639
4640         Tests for module 'frexpf'.
4641         * modules/frexpf-tests: New file.
4642         * tests/test-frexpf.c: New file.
4643
4644         New module 'frexpf'.
4645         * lib/math.in.h (frexpf): New declaration.
4646         * lib/frexpf.c: New file.
4647         * m4/frexpf.m4: New file.
4648         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
4649         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
4650         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
4651         * modules/frexpf: New file.
4652         * tests/test-math-c++.cc: Check the declaration of frexpf.
4653         * doc/posix-functions/frexpf.texi: Mention the new module.
4654
4655 2011-10-06  Bruno Haible  <bruno@clisp.org>
4656
4657         math: Sort function declarations of math.in.h.
4658         * lib/math.in.h (frexp, logb): Move declarations.
4659
4660 2011-10-05  Bruno Haible  <bruno@clisp.org>
4661
4662         Tests for module 'modff'.
4663         * modules/modff-tests: New file.
4664         * tests/test-modff.c: New file.
4665
4666         New module 'modff'.
4667         * lib/math.in.h (modff): New declaration.
4668         * lib/modff.c: New file.
4669         * m4/modff.m4: New file.
4670         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
4671         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
4672         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
4673         * modules/modff: New file.
4674         * tests/test-math-c++.cc: Check the declaration of modff.
4675         * doc/posix-functions/modff.texi: Mention the new module.
4676
4677         modf tests: Make test sharper.
4678         * tests/test-modf.c (main): Strengthen upper bound.
4679
4680         modf: Use a .m4 file.
4681         * m4/modf.m4: New file.
4682         * modules/modf (Files): Add it.
4683         (configure.ac): Just invoke gl_FUNC_MODF.
4684
4685 2011-10-05  Bruno Haible  <bruno@clisp.org>
4686
4687         Tests for module 'fmodf'.
4688         * modules/fmodf-tests: New file.
4689         * tests/test-fmodf.c: New file.
4690
4691         New module 'fmodf'.
4692         * lib/math.in.h (fmodf): New declaration.
4693         * lib/fmodf.c: New file.
4694         * m4/fmodf.m4: New file.
4695         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
4696         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
4697         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
4698         * modules/fmodf: New file.
4699         * tests/test-math-c++.cc: Check the declaration of fmodf.
4700         * doc/posix-functions/fmodf.texi: Mention the new module.
4701
4702         fmod: Use a .m4 file.
4703         * m4/fmod.m4: New file.
4704         * modules/fmod (Files): Add it.
4705         (configure.ac): Just invoke gl_FUNC_FMOD.
4706
4707 2011-10-05  Bruno Haible  <bruno@clisp.org>
4708
4709         Tests for module 'fabsf'.
4710         * modules/fabsf-tests: New file.
4711         * tests/test-fabsf.c: New file.
4712
4713         New module 'fabsf'.
4714         * lib/math.in.h (fabsf): New declaration.
4715         * lib/fabsf.c: New file.
4716         * m4/fabsf.m4: New file.
4717         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
4718         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
4719         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
4720         * modules/fabsf: New file.
4721         * tests/test-math-c++.cc: Check the declaration of fabsf.
4722         * doc/posix-functions/fabsf.texi: Mention the new module.
4723
4724         fabs: Use a .m4 file.
4725         * m4/fabs.m4: New file.
4726         * modules/fabs (Files): Add it.
4727         (configure.ac): Just invoke gl_FUNC_FABS.
4728
4729 2011-10-05  Jim Meyering  <meyering@redhat.com>
4730
4731         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
4732         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
4733         ls -lL regression introduced in coreutils-8.12, it does so at the
4734         cost of an additional stat call in the common case.  Besides, now
4735         that the kernel change that prompted commit 95f7c57f has been reverted
4736         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
4737         we have no use for commit 95f7c57f, "file-has-acl: use
4738         acl_extended_file_nofollow if available".
4739
4740 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
4741
4742         file-has-acl: revert unintended change in behavior of ls -L
4743         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
4744         derived from...
4745         (file_has_acl): ...code here.  Call it.
4746         This problem was introduced with 2011-07-22 commit 95f7c57f,
4747         "file-has-acl: use acl_extended_file_nofollow if available".
4748         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
4749
4750 2011-10-03  Bruno Haible  <bruno@clisp.org>
4751
4752         poll: Avoid link errors on MSVC.
4753         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
4754         * modules/poll (Depends-on): Add sockets.
4755         (Link): New section.
4756         * NEWS: Mention the change.
4757         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
4758         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
4759         $(LIB_POLL) instead of $(LIBSOCKET).
4760
4761 2011-10-03  Bruno Haible  <bruno@clisp.org>
4762
4763         sys_select tests: Fix link error on MSVC 9.
4764         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
4765         with $(LIB_SELECT) instead of $(LIBSOCKET).
4766
4767 2011-10-03  Bruno Haible  <bruno@clisp.org>
4768
4769         sys_select: Fix compilation error on mingw.
4770         * lib/sys_select.in.h: On native Windows, include <io.h>.
4771
4772 2011-10-03  Bruno Haible  <bruno@clisp.org>
4773
4774         wmemset: Support for MSVC.
4775         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
4776         whether wmemset() exists.
4777
4778 2011-10-03  Bruno Haible  <bruno@clisp.org>
4779
4780         wmemmove: Support for MSVC.
4781         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
4782         whether wmemmove() exists.
4783
4784 2011-10-03  Bruno Haible  <bruno@clisp.org>
4785
4786         wmemcpy: Support for MSVC.
4787         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
4788         whether wmemcpy() exists.
4789
4790 2011-10-03  Bruno Haible  <bruno@clisp.org>
4791
4792         wmemcmp: Support for MSVC.
4793         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
4794         whether wmemcmp() exists.
4795
4796 2011-10-03  Bruno Haible  <bruno@clisp.org>
4797
4798         wmemchr: Support for MSVC.
4799         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
4800         whether wmemchr() exists.
4801
4802 2011-10-03  Bruno Haible  <bruno@clisp.org>
4803
4804         glthread/*, strsignal: Support for MSVC.
4805         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
4806         including <winsock.h> on MSVC 9.
4807         * lib/glthread/lock.h: Likewise.
4808         * lib/glthread/thread.h: Likewise.
4809         * lib/glthread/tls.h: Likewise.
4810         * lib/glthread/yield.h: Likewise.
4811         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
4812         if HAVE_UNISTD_H is false.
4813         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
4814
4815 2011-10-03  Bruno Haible  <bruno@clisp.org>
4816
4817         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
4818         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
4819         Set to 100000.
4820
4821 2011-10-03  Bruno Haible  <bruno@clisp.org>
4822
4823         acl: Fix specification.
4824         * lib/file-has-acl.c (file_has_acl): Fix specification.
4825
4826 2011-10-03  Bruno Haible  <bruno@clisp.org>
4827
4828         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
4829         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
4830         (compute_curr_prefix, shared_library_fullname,
4831         find_shared_library_fullname, get_shared_library_fullname, relocate):
4832         Use it together with PIC && INSTALLDIR.
4833         Reported by <jojelino@gmail.com>
4834         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
4835
4836 2011-10-01  Jim Meyering  <meyering@redhat.com>
4837
4838         maint.mk: adjust a release-related rule not to require use of gzip
4839         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
4840         Instead, check each file in $(DIST_ARCHIVES).  This is better for
4841         projects that build only .tar.xz files.  Also fix an erroneous test.
4842
4843         test-linkat: don't leave behind a temporary file
4844         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
4845         Otherwise, coreutils' "make distcheck" would fail with this:
4846           Only in /c/cu/tests/torture/coreutils/test/\
4847             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
4848           make[2]: *** [my-distcheck] Error 1
4849
4850         float, math: add omitted file
4851         * lib/itold.c: Add file, required for yesterday's float change.
4852
4853 2011-10-01  Bruno Haible  <bruno@clisp.org>
4854
4855         isinf: Fix for OpenBSD/x86.
4856         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
4857         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
4858         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
4859
4860 2011-10-01  Bruno Haible  <bruno@clisp.org>
4861
4862         isfinite: Fix syntax error in configure test.
4863         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
4864
4865         isfinite: Fix typo.
4866         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
4867         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
4868
4869 2011-10-01  Bruno Haible  <bruno@clisp.org>
4870
4871         nonblocking tests: Fix test failure on Linux/IA-64.
4872         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
4873         Set to 270000.
4874
4875 2011-10-01  Bruno Haible  <bruno@clisp.org>
4876
4877         mkfifoat tests: Fix a test failure on mingw.
4878         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
4879         with error ENOSYS.
4880
4881 2011-09-30  Bruno Haible  <bruno@clisp.org>
4882
4883         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
4884         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
4885         'long double'. Set REPLACE_ITOLD.
4886         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
4887         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
4888         * lib/itold.c: New file.
4889         * modules/float (Files): Add lib/itold.c.
4890         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
4891         (Makefile.am): Substitute REPLACE_ITOLD.
4892         * modules/math (Depends-on): Add float.
4893         (Makefile.am): Substitute REPLACE_ITOLD.
4894         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
4895         * doc/posix-headers/math.texi: Likewise.
4896         * doc/posix-functions/logl.texi: Likewise.
4897
4898 2011-09-30  Bruno Haible  <bruno@clisp.org>
4899
4900         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
4901         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
4902         Set to 140000.
4903
4904 2011-09-30  Bruno Haible  <bruno@clisp.org>
4905
4906         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
4907         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
4908         invocation, say "right after AC_PROG_CC_STDC", not "right after
4909         AC_PROG_CC".
4910         Reported by Gary V. Vaughan <gary@gnu.org>.
4911
4912 2011-09-30  Bruno Haible  <bruno@clisp.org>
4913
4914         Centralize C99 requirement.
4915         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
4916         * modules/stdarg (configure.ac-early): Invoke it instead of
4917         AC_PROG_CC_STDC.
4918         Reported by Gary V. Vaughan and Paul Eggert.
4919
4920 2011-09-29  Bruno Haible  <bruno@clisp.org>
4921
4922         float: Fix LDBL_MAX value on Linux/PowerPC.
4923         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
4924         on Linux/PowerPC.
4925         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
4926         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
4927         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
4928         platform.
4929         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
4930
4931 2011-09-29  Bruno Haible  <bruno@clisp.org>
4932
4933         doc: Improve doc about gl_EARLY.
4934         * doc/gnulib-tool.texi (Initial import): Mention where to place an
4935         AC_PROG_CC_STDC invocation.
4936         Reported by Gary V. Vaughan <gary@gnu.org>.
4937
4938 2011-09-28  Bruno Haible  <bruno@clisp.org>
4939
4940         fgetc, fputc, fread, fwrite tests: Fix link error.
4941         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
4942         on non-MSVC platforms.
4943         * tests/test-fputc.c (main): Likewise.
4944         * tests/test-fread.c (main): Likewise.
4945         * tests/test-fwrite.c (main): Likewise.
4946         Reported by Jim Meyering.
4947
4948 2011-09-27  Bruno Haible  <bruno@clisp.org>
4949
4950         fputc, fwrite tests: Avoid test failure on MSVC.
4951         * tests/test-fgetc.c: Include msvc-inval.h.
4952         (main): Invoke gl_msvc_inval_ensure_handler.
4953         * tests/test-fputc.c: Include msvc-inval.h.
4954         (main): Invoke gl_msvc_inval_ensure_handler.
4955         * tests/test-fread.c: Include msvc-inval.h.
4956         (main): Invoke gl_msvc_inval_ensure_handler.
4957         * tests/test-fwrite.c: Include msvc-inval.h.
4958         (main): Invoke gl_msvc_inval_ensure_handler.
4959         * modules/fgetc-tests (Depends-on): Add msvc-inval.
4960         * modules/fputc-tests (Depends-on): Likewise.
4961         * modules/fread-tests (Depends-on): Likewise.
4962         * modules/fwrite-tests (Depends-on): Likewise.
4963
4964 2011-09-27  Bruno Haible  <bruno@clisp.org>
4965
4966         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
4967         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
4968         (raise): Remove older, duplicated declaration.
4969         (_gl_raise_SIGPIPE): New declaration.
4970         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
4971         (rpl_raise): Remove function.
4972         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
4973         a gnulib-defined SIGPIPE here.
4974         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
4975         'sigprocmask' has detected missing signal-blocking and the module
4976         'sigpipe' is enabled.
4977         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
4978
4979 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
4980
4981         base64-tests: avoid memory leak
4982         * tests/test-base64.c (main): Plug memory leak.
4983
4984         base32: new module
4985         * modules/base32: New module.
4986         * lib/base32.c: New file.
4987         * lib/base32.h: Likewise.
4988         * m4/base32.m4: Likewise.
4989         * modules/base32-tests: New test.
4990         * tests/test-base32.c: Likewise.
4991         * MODULES.html.sh (Misc): Mention it.
4992
4993 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4994
4995         gnulib: use more-standard license notice wording
4996         * gnulib-tool (func_emit_copyright_notice): When emitting a
4997         license notice into a file, use the standard wording as suggested
4998         by the current information for GNU maintainers, except say "file"
4999         rather than "program".  The new wording gives a license version
5000         number, which addresses an issue raised by Glenn Morris in
5001         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
5002         * m4/onceonly.m4: Use that same wording here, too.
5003
5004         dup2: minor simplification
5005         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
5006         as lib/dup2.c no longer uses 'inline'.
5007
5008 2011-09-25  Bruno Haible  <bruno@clisp.org>
5009
5010         strings: Fix compilation error on MSVC.
5011         * lib/strings.in.h: Include <stddef.h> for size_t.
5012
5013 2011-09-25  Bruno Haible  <bruno@clisp.org>
5014
5015         fflush et al.: Document limitation on MSVC.
5016         * doc/posix-functions/fflush.texi: Document possible crash in handling
5017         mode other than DEFAULT_HANDLING.
5018         * doc/posix-functions/fgetc.texi: Likewise.
5019         * doc/posix-functions/fputc.texi: Likewise.
5020         * doc/posix-functions/fread.texi: Likewise.
5021         * doc/posix-functions/fwrite.texi: Likewise.
5022
5023 2011-09-25  Bruno Haible  <bruno@clisp.org>
5024
5025         msvc-inval: Allow three invalid parameter handling modes.
5026         * lib/msvc-inval.h: Don't include <stdlib.h> here.
5027         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
5028         macros.
5029         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
5030         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
5031         SANE_LIBRARY_HANDLING as a no-op.
5032         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
5033         <stdlib.h>.
5034         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
5035
5036 2011-09-25  Bruno Haible  <bruno@clisp.org>
5037
5038         msvc-inval: Make handler multithread-safe.
5039         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
5040         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
5041         declarations.
5042         (gl_msvc_inval_current): New declaration.
5043         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5044         Operate on the structure returned by gl_msvc_inval_current().
5045         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
5046         Remove varaiables.
5047         (tls_index, tls_initialized): New variables.
5048         (not_per_thread): New variable.
5049         (gl_msvc_inval_current): New function.
5050         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
5051         returned by gl_msvc_inval_current().
5052
5053 2011-09-25  Bruno Haible  <bruno@clisp.org>
5054
5055         msvc-inval: Install handler globally.
5056         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
5057         !_MSC_VER.
5058         (gl_msvc_invalid_parameter_handler): Remove declaration.
5059         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
5060         declarations.
5061         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
5062         Install the handler globally, don't uninstall it.
5063         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
5064         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
5065         currently valid, call RaiseException instead.
5066         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
5067         for !_MSC_VER.
5068
5069 2011-09-25  Bruno Haible  <bruno@clisp.org>
5070
5071         strerror_r-posix: Fix for MSVC 9.
5072         * lib/strerror_r.c (local_snprintf): New function.
5073         (snprintf): Define to local_snprintf, not to _snprintf.
5074
5075 2011-09-25  Bruno Haible  <bruno@clisp.org>
5076
5077         ftruncate: Support for MSVC 9.
5078         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
5079         (chsize_nothrow): New function.
5080         (chsize): Redefine as a macro.
5081         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
5082         * modules/ftruncate (Depends-on): Add msvc-inval.
5083
5084 2011-09-25  Bruno Haible  <bruno@clisp.org>
5085
5086         New module 'fstat'.
5087         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
5088         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
5089         * lib/fchdir.c (rpl_fstat): Remove function.
5090         * m4/fstat.m4: New file.
5091         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
5092         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
5093         declared.
5094         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
5095         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
5096         * modules/fstat: New file.
5097         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
5098         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
5099         is set.
5100         * doc/posix-functions/fstat.texi: Mention the new module and the
5101         problem on MSVC.
5102         * NEWS: Mention the change.
5103         * modules/acl (Depends-on): Add fstat.
5104         * modules/chdir-safer (Depends-on): Likewise.
5105         * modules/chown (Depends-on): Likewise.
5106         * modules/copy-file (Depends-on): Likewise.
5107         * modules/fchdir (Depends-on): Likewise.
5108         * modules/fdopendir (Depends-on): Likewise.
5109         * modules/fopen (Depends-on): Likewise.
5110         * modules/fts (Depends-on): Likewise.
5111         * modules/getcwd (Depends-on): Likewise.
5112         * modules/isapipe (Depends-on): Likewise.
5113         * modules/linkat (Depends-on): Likewise.
5114         * modules/lseek (Depends-on): Likewise.
5115         * modules/mkdir-p (Depends-on): Likewise.
5116         * modules/open (Depends-on): Likewise.
5117         * modules/openat (Depends-on): Likewise.
5118         * modules/read-file (Depends-on): Likewise.
5119         * modules/renameat (Depends-on): Likewise.
5120         * modules/utimens (Depends-on): Likewise.
5121
5122 2011-09-25  Bruno Haible  <bruno@clisp.org>
5123
5124         linkat: Fix compilation on MSVC 9.
5125         * lib/linkat.c: Don't include <stdint.h>.
5126
5127 2011-09-25  Bruno Haible  <bruno@clisp.org>
5128
5129         fclose: Support for MSVC 9.
5130         * lib/fclose.c: Include msvc-inval.h.
5131         (fclose_nothrow): New function.
5132         (rpl_fclose): Use it.
5133         * modules/fclose (Depends-on): Add msvc-inval.
5134         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
5135
5136 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
5137
5138         dup2: minor simplifications
5139         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
5140         that it's a performance win.
5141         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
5142         ! defined __CYGWIN__)" to "ifdef F_GETFL".
5143
5144 2011-09-24  Jim Meyering  <meyering@redhat.com>
5145
5146         test-futimens: avoid a warning from gcc -Wshadow
5147         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
5148         to avoid a shadowing warning.
5149
5150 2011-09-24  Bruno Haible  <bruno@clisp.org>
5151
5152         fdopen: Support for MSVC 9.
5153         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
5154         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
5155         * lib/fdopen.c: Include msvc-inval.h.
5156         (fdopen_nothrow): New function.
5157         (rpl_fdopen): Use it.
5158         * modules/fdopen (Depends-on): Add msvc-inval.
5159         * modules/fclose-tests (Depends-on): Add fdopen.
5160         * modules/fflush-tests (Depends-on): Likewise.
5161         * modules/fgetc-tests (Depends-on): Likewise.
5162         * modules/fputc-tests (Depends-on): Likewise.
5163         * modules/fread-tests (Depends-on): Likewise.
5164         * modules/freopen-tests (Depends-on): Likewise.
5165         * modules/fseeko-tests (Depends-on): Likewise.
5166         * modules/ftello-tests (Depends-on): Likewise.
5167         * modules/fwrite-tests  (Depends-on): Likewise.
5168         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
5169
5170 2011-09-24  Bruno Haible  <bruno@clisp.org>
5171
5172         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
5173         * modules/fgetc-tests (Depends-on): Add unistd.
5174         * modules/fputc-tests (Depends-on): Likewise.
5175         * modules/fread-tests (Depends-on): Likewise.
5176         * modules/fwrite-tests (Depends-on): Likewise.
5177
5178 2011-09-24  Bruno Haible  <bruno@clisp.org>
5179
5180         dup: Simplify autoconf test.
5181         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
5182         on gl_MSVC_INVAL's result.
5183
5184 2011-09-24  Bruno Haible  <bruno@clisp.org>
5185
5186         Tests for function fwrite().
5187         * modules/fwrite-tests: New file.
5188         * tests/test-fwrite.c: New file.
5189         * modules/stdio-tests (Depends-on): Add fwrite-tests.
5190
5191         Tests for function fread().
5192         * modules/fread-tests: New file.
5193         * tests/test-fread.c: New file.
5194         * modules/stdio-tests (Depends-on): Add fread-tests.
5195
5196         Activate fputc tests.
5197         * modules/stdio-tests (Depends-on): Add fputc-tests.
5198
5199         Enhance fgetc, fputc tests.
5200         * tests/test-fgetc.c (main): Also test the stream's error indicator.
5201         * tests/test-fputc.c (main): Likewise.
5202
5203 2011-09-24  Bruno Haible  <bruno@clisp.org>
5204
5205         write: Support for MSVC 9.
5206         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5207         is not 1.
5208         * lib/write.c (write_nothrow): New function.
5209         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
5210         not 1. Use write_nothrow.
5211         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
5212         invalid parameter handler.
5213         (gl_PREREQ_WRITE): New macro.
5214         * modules/write (Depends-on): Add msvc-inval.
5215         (configure.ac): Invoke gl_PREREQ_WRITE.
5216         * doc/posix-functions/write.texi: Mention the problem on MSVC.
5217
5218 2011-09-24  Bruno Haible  <bruno@clisp.org>
5219
5220         read: Fix last commit.
5221         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
5222
5223 2011-09-24  Bruno Haible  <bruno@clisp.org>
5224
5225         dup2: Fix last commit.
5226         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
5227         (rpl_dup2): Disable fcntl workaround on native Windows.
5228
5229         sigprocmask: Make code safer.
5230         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
5231         section that changes macro definitions for this compilation unit.
5232
5233 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
5234
5235         dup2: clarify by coalescing Windows-specific material
5236         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
5237         "msvc-nothrow.h"' to the Windows-specific section, so that the
5238         Emacs source need not contain these include files.
5239         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
5240         Windows-specific fixes into this function rather than just the
5241         nothrow fix, as this shortens and clarifies the code.  Always
5242         define as a function, as that's a bit cleaner than having it be
5243         sometimes a function and sometimes a macro.
5244         (rpl_dup2): Move the Windows-specific stuff out of here and into
5245         ms_windows_dup2.  Don't protect the Haiku-related fix with
5246         "#if !defined __linux__", as the same code also works around
5247         a Linux kernel bug, and it doesn't add any system calls on any
5248         platform.  Add comment about FreeBSD 6.1.
5249
5250         sigprocmask: move #include directive
5251         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
5252         Windows-specific section, so that the Emacs source need not
5253         contain msvc-inval.h.
5254
5255 2011-09-23  Bruno Haible  <bruno@clisp.org>
5256
5257         read: Support for MSVC 9.
5258         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
5259         is not 1.
5260         * lib/read.c (read_nothrow): New function.
5261         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
5262         read_nothrow.
5263         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
5264         invalid parameter handler.
5265         (gl_PREREQ_READ): New macro.
5266         * modules/read (Depends-on): Add msvc-inval.
5267         (configure.ac): Invoke gl_PREREQ_READ.
5268         * doc/posix-functions/read.texi: Mention the problem on MSVC.
5269
5270 2011-09-23  Bruno Haible  <bruno@clisp.org>
5271
5272         close: Support for MSVC 9.
5273         * lib/close.c: Include <errno.h>, msvc-inval.h.
5274         (close_nothrow): New function.
5275         (rpl_close): Use it.
5276         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
5277         invalid parameter handler.
5278         * modules/close (Depends-on): Add msvc-inval.
5279         * modules/dup2-tests (Depends-on): Add close.
5280         * modules/dup3-tests (Depends-on): Likewise.
5281         * modules/fcntl-tests (Depends-on): Likewise.
5282         * modules/spawn-pipe-tests (Depends-on): Likewise.
5283         * modules/unistd-safer-tests (Depends-on): Likewise.
5284         * doc/posix-functions/close.texi: Mention the problem on MSVC.
5285
5286 2011-09-23  Bruno Haible  <bruno@clisp.org>
5287
5288         New module 'dup'.
5289         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
5290         Allow replacement.
5291         * lib/dup.c: New file.
5292         * lib/fchdir.c (rpl_dup): Remove function.
5293         * m4/dup.m4: New file.
5294         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
5295         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
5296         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
5297         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
5298         * modules/dup: New file.
5299         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
5300         'dup' module is in use.
5301         * modules/fdopendir (Depends-on): Add dup.
5302         * modules/fdutimensat-tests (Depends-on): Likewise.
5303         * modules/fts (Depends-on): Likewise.
5304         * modules/futimens-tests (Depends-on): Likewise.
5305         * modules/posix_spawnp-tests (Depends-on): Likewise.
5306         * modules/unistd-safer-tests (Depends-on): Likewise.
5307         * modules/utimens-tests (Depends-on): Likewise.
5308         * doc/posix-functions/dup.texi: Mention the new module and the problem
5309         on MSVC.
5310
5311 2011-09-23  Bruno Haible  <bruno@clisp.org>
5312
5313         getdtablesize: Support for MSVC 9.
5314         * lib/getdtablesize.c: Include msvc-inval.h.
5315         (_setmaxstdio_nothrow): New function.
5316         (_setmaxstdio): Redefine it.
5317         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
5318         * modules/getdtablesize (Depends-on): Add msvc-inval.
5319         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
5320
5321 2011-09-23  Bruno Haible  <bruno@clisp.org>
5322
5323         signal-h: Rename from signal.
5324         * modules/signal-h: Renamed from modules/signal.
5325         * modules/pthread_sigmask (Depends-on): Update.
5326         * modules/raise (Depends-on): Likewise.
5327         * modules/sigaction (Depends-on): Likewise.
5328         * modules/sigpipe (Depends-on): Likewise.
5329         * modules/sigprocmask (Depends-on): Likewise.
5330         * modules/sys_select (Depends-on): Likewise.
5331         * modules/signal-h-tests: Renamed from modules/signal-tests.
5332         (Files, Depends-on, Makefile.am): Update.
5333         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
5334         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
5335         (Files, Makefile.am): Update.
5336         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
5337         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
5338         * modules/signal: New placeholder file.
5339         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
5340         * doc/posix-headers/signal.texi: Update.
5341         * NEWS: Mention the change.
5342
5343 2011-09-23  Bruno Haible  <bruno@clisp.org>
5344
5345         sigprocmask: Avoid crashes through signal() on MSVC 9.
5346         * lib/sigprocmask.c: Include msvc-inval.h.
5347         (signal_nothrow): New function.
5348         (signal): Redefine it.
5349         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
5350         * modules/sigprocmask (Depends-on): Add msvc-inval.
5351         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
5352
5353 2011-09-23  Bruno Haible  <bruno@clisp.org>
5354
5355         Tests for module 'raise'.
5356         * modules/raise-tests: New file.
5357         * tests/test-raise.c: New file.
5358
5359         raise: Support for MSVC.
5360         * lib/signal.in.h (raise): New declaration.
5361         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
5362         for native Windows platforms.
5363         * m4/raise.m4: New file.
5364         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
5365         HAVE_RAISE, REPLACE_RAISE.
5366         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
5367         REPLACE_RAISE.
5368         * modules/raise (Status, Notice): Remove fields.
5369         (Files): Add m4/raise.m4.
5370         (Depends-on): Add signal, msvc-inval.
5371         (configure.ac): Use the common idioms.
5372         (Maintainer): Add me.
5373         * tests/test-signal-c++.cc: Check the signature of raise.
5374         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
5375
5376 2011-09-23  Bruno Haible  <bruno@clisp.org>
5377
5378         pipe2: Fix compilation on pre-C99 compilers.
5379         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
5380
5381 2011-09-23  Bruno Haible  <bruno@clisp.org>
5382
5383         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
5384         * lib/msvc-nothrow.h: New file.
5385         * lib/msvc-nothrow.c: New file.
5386         * m4/msvc-nothrow.m4: New file.
5387         * modules/msvc-nothrow: New file.
5388         * lib/dup2.c: Include msvc-nothrow.h.
5389         (rpl_dup2): No need to protect _get_osfhandle call here.
5390         * lib/accept4.c: Include msvc-nothrow.h.
5391         * lib/error.c: Likewise.
5392         * lib/fcntl.c: Likewise.
5393         * lib/lseek.c: Likewise.
5394         * lib/nonblocking.c: Likewise.
5395         * lib/poll.c: Likewise.
5396         * lib/read.c: Likewise.
5397         * lib/select.c: Likewise.
5398         * lib/sockets.h: Likewise.
5399         * lib/sockets.c: Likewise.
5400         * lib/stdio-read.c: Likewise.
5401         * lib/stdio-write.c: Likewise.
5402         * lib/write.c: Likewise.
5403         * lib/w32sock.h: Likewise.
5404         * lib/w32spawn.h: Likewise.
5405         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
5406         * lib/fsync.c: Likewise.
5407         * lib/isapipe.c: Likewise.
5408         * modules/dup2 (Depends-on): Add msvc-nothrow.
5409         * modules/accept4 (Depends-on): Likewise.
5410         * modules/error (Depends-on): Likewise.
5411         * modules/fcntl (Depends-on): Likewise.
5412         * modules/lseek (Depends-on): Likewise.
5413         * modules/nonblocking (Depends-on): Likewise.
5414         * modules/poll (Depends-on): Likewise.
5415         * modules/read (Depends-on): Likewise.
5416         * modules/select (Depends-on): Likewise.
5417         * modules/sockets (Depends-on): Likewise.
5418         * modules/sigpipe (Depends-on): Likewise.
5419         * modules/write (Depends-on): Likewise.
5420         * modules/accept (Depends-on): Likewise.
5421         * modules/bind (Depends-on): Likewise.
5422         * modules/connect (Depends-on): Likewise.
5423         * modules/gethostname (Depends-on): Likewise.
5424         * modules/getpeername (Depends-on): Likewise.
5425         * modules/getsockname (Depends-on): Likewise.
5426         * modules/getsockopt (Depends-on): Likewise.
5427         * modules/ioctl (Depends-on): Likewise.
5428         * modules/listen (Depends-on): Likewise.
5429         * modules/recv (Depends-on): Likewise.
5430         * modules/recvfrom (Depends-on): Likewise.
5431         * modules/send (Depends-on): Likewise.
5432         * modules/sendto (Depends-on): Likewise.
5433         * modules/setsockopt (Depends-on): Likewise.
5434         * modules/shutdown (Depends-on): Likewise.
5435         * modules/socket (Depends-on): Likewise.
5436         * modules/execute (Depends-on): Likewise.
5437         * modules/spawn-pipe (Depends-on): Likewise.
5438         * modules/flock (Depends-on): Likewise.
5439         * modules/fsync (Depends-on): Likewise.
5440         * modules/isapipe (Depends-on): Likewise.
5441         * tests/test-cloexec.c: Include msvc-nothrow.h.
5442         * tests/test-dup-safer.c: Likewise.
5443         * tests/test-dup2.c: Likewise.
5444         * tests/test-dup3.c: Likewise.
5445         * tests/test-fcntl.c: Likewise.
5446         * tests/test-pipe.c: Likewise.
5447         * tests/test-pipe2.c: Likewise.
5448         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
5449         * modules/unistd-safer-tests (Depends-on): Likewise.
5450         * modules/dup2-tests (Depends-on): Likewise.
5451         * modules/dup3-tests (Depends-on): Likewise.
5452         * modules/fcntl-tests (Depends-on): Likewise.
5453         * modules/pipe-posix-tests (Depends-on): Likewise.
5454         * modules/pipe2-tests (Depends-on): Likewise.
5455
5456 2011-09-23  Bruno Haible  <bruno@clisp.org>
5457
5458         dup2: Make code more maintainable.
5459         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
5460         (rpl_dup2): Use it.
5461         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
5462         * modules/dup2 (configure.ac): Invoke it.
5463         Reported by Paul Eggert.
5464
5465 2011-09-23  Bruno Haible  <bruno@clisp.org>
5466
5467         msvc-inval: Fix compilation error.
5468         * lib/msvc-inval.h: Include <excpt.h>.
5469
5470 2011-09-23  Bruno Haible  <bruno@clisp.org>
5471
5472         mkdir: Tweak for MSVC 9.
5473         * lib/sys_stat.in.h: Update comments.
5474         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
5475
5476         Tests for module 'chdir'.
5477         * modules/chdir-tests: New file.
5478         * tests/test-chdir.c: New file.
5479
5480         New module 'chdir'.
5481         * modules/chdir: New file.
5482         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
5483         (chdir): New declaration.
5484         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
5485         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
5486         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
5487         * tests/test-unistd-c++.cc: Check signature of chdir.
5488         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
5489         * modules/chdir-long (Depends-on): Add chdir.
5490         * modules/fchdir (Depends-on): Likewise.
5491         * modules/rename (Depends-on): Likewise.
5492         * modules/savewd (Depends-on): Likewise.
5493
5494         rmdir: Support for mingw, MSVC 9.
5495         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
5496         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
5497
5498         getcwd: Tweak for MSVC 9.
5499         * lib/unistd.in.h: Update comments.
5500         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
5501
5502 2011-09-22  Bruno Haible  <bruno@clisp.org>
5503
5504         strerror_r-posix: Avoid a link error on MSVC.
5505         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
5506         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
5507
5508 2011-09-22  Bruno Haible  <bruno@clisp.org>
5509
5510         select: Avoid link errors on MSVC.
5511         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
5512         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
5513         * modules/pselect (Link): Likewise.
5514         * NEWS: Mention the change.
5515         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
5516         test-select-stdin against $(LIB_SELECT).
5517         * modules/pselect-tests (Makefile.am): Link test-pselect against
5518         $(LIB_SELECT).
5519
5520 2011-09-22  Bruno Haible  <bruno@clisp.org>
5521
5522         select: Avoid compilation error on MSVC.
5523         * lib/select.c: Don't include <stdbool.h>.
5524
5525 2011-09-21  Bruno Haible  <bruno@clisp.org>
5526
5527         Consolidate all uses of PATH_MAX in *.m4 files.
5528         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
5529         macros.
5530         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
5531         and gl_PATHMAX_SNIPPET.
5532         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5533         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5534         * modules/chdir-long (Files): Add m4/pathmax.m4.
5535         * modules/getcwd (Files): Likewise.
5536
5537 2011-09-21  Bruno Haible  <bruno@clisp.org>
5538
5539         ftruncate: Un-deprecate, concentrate on Win32 support.
5540         * modules/ftruncate (Status, Notice): Remove sections.
5541         (Depends-on): Add largefile.
5542         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
5543         non-mingw platforms.
5544         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
5545         include <io.h>.
5546         * modules/perror-tests (Depends-on): Add ftruncate.
5547         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
5548         'ftruncate' module.
5549
5550 2011-09-21  Bruno Haible  <bruno@clisp.org>
5551
5552         Add dependencies to new dirent related modules.
5553         * modules/opendir (Depends-on): Add closedir.
5554         * modules/getcwd (Depends-on): Add opendir, closedir.
5555         * modules/dirent-safer-tests (Depends-on): Likewise.
5556         * modules/fdopendir-tests (Depends-on): Likewise.
5557         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
5558         * modules/renameat-tests (Depends-on): Likewise.
5559
5560 2011-09-21  Bruno Haible  <bruno@clisp.org>
5561
5562         opendir: Avoid compilation error on mingw.
5563         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
5564         * modules/opendir (Depends-on): Add unistd.
5565
5566 2011-09-21  Bruno Haible  <bruno@clisp.org>
5567
5568         ftruncate tests: Avoid a test failure on mingw.
5569         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
5570
5571 2011-09-21  Bruno Haible  <bruno@clisp.org>
5572
5573         select tests: Avoid test failures on OSF/1 5.1 and mingw.
5574         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
5575         native Windows.
5576
5577 2011-09-21  Bruno Haible  <bruno@clisp.org>
5578
5579         New module 'fdopen'.
5580         * lib/stdio.in.h (fdopen): New declaration.
5581         * lib/fdopen.c: New file.
5582         * m4/fdopen.m4: New file.
5583         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
5584         REPLACE_FDOPEN.
5585         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
5586         REPLACE_FDOPEN.
5587         * modules/fdopen: New file.
5588         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
5589         * tests/test-stdio-c++.cc: Check signature of fdopen.
5590         * doc/posix-functions/fdopen.texi: Mention the new module.
5591
5592 2011-09-21  Bruno Haible  <bruno@clisp.org>
5593
5594         unlockpt tests: Avoid test failure on NetBSD 5.1.
5595         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
5596         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
5597
5598 2011-09-21  Bruno Haible  <bruno@clisp.org>
5599
5600         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
5601         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
5602         * tests/test-getlogin_r.c (main): Likewise.
5603
5604 2011-09-20  Bruno Haible  <bruno@clisp.org>
5605
5606         time tests: Don't require pid_t.
5607         * doc/posix-headers/time.texi: Revert last change.
5608         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
5609         * tests/test-time.c: Comment out the check for pid_t.
5610
5611 2011-09-20  Bruno Haible  <bruno@clisp.org>
5612
5613         fsync tests: Avoid a test failure on mingw.
5614         * tests/test-fsync.c (main): Allow a failure with EIO.
5615
5616 2011-09-20  Bruno Haible  <bruno@clisp.org>
5617
5618         euidaccess: Update comments.
5619         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
5620
5621 2011-09-20  Bruno Haible  <bruno@clisp.org>
5622
5623         Ensure EBADF returns for socket functions on mingw.
5624         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
5625         descriptor is invalid.
5626         * lib/bind.c (rpl_bind): Likewise.
5627         * lib/connect.c (rpl_connect): Likewise.
5628         * lib/getpeername.c (rpl_getpeername): Likewise.
5629         * lib/getsockname.c (rpl_getsockname): Likewise.
5630         * lib/getsockopt.c (rpl_getsockopt): Likewise.
5631         * lib/listen.c (rpl_listen): Likewise.
5632         * lib/recv.c (rpl_recv): Likewise.
5633         * lib/recvfrom.c (rpl_recvfrom): Likewise.
5634         * lib/send.c (rpl_send): Likewise.
5635         * lib/sendto.c (rpl_sendto): Likewise.
5636         * lib/setsockopt.c (rpl_setsockopt): Likewise.
5637         * lib/shutdown.c (rpl_shutdown): Likewise.
5638
5639 2011-09-20  Bruno Haible  <bruno@clisp.org>
5640
5641         select tests: EBADF tests.
5642         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
5643         test_bad_fd): New functions.
5644         (test_function): Invoke also test_bad_fd.
5645
5646 2011-09-20  Bruno Haible  <bruno@clisp.org>
5647
5648         Tests for module 'posix_spawn_file_actions_addopen.
5649         * modules/posix_spawn_file_actions_addopen-tests: New file.
5650         * tests/test-posix_spawn_file_actions_addopen.c: New file.
5651
5652         Tests for module 'posix_spawn_file_actions_adddup2'.
5653         * modules/posix_spawn_file_actions_adddup2-tests: New file.
5654         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
5655
5656         Tests for module 'posix_spawn_file_actions_addclose'.
5657         * modules/posix_spawn_file_actions_addclose-tests: New file.
5658         * tests/test-posix_spawn_file_actions_addclose.c: New file.
5659
5660 2011-09-20  Bruno Haible  <bruno@clisp.org>
5661
5662         Tests for module 'unlockpt'.
5663         * modules/unlockpt-tests: New file.
5664         * tests/test-unlockpt.c: New file.
5665         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
5666
5667         Tests for module 'grantpt'.
5668         * modules/grantpt-tests: New file.
5669         * tests/test-grantpt.c: New file.
5670         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
5671
5672 2011-09-20  Bruno Haible  <bruno@clisp.org>
5673
5674         freopen tests: EBADF tests.
5675         * tests/test-freopen.c: Include errno.h, unistd.h.
5676         (main): Add tests for EBADF, commented out for the moment.
5677
5678         fclose tests: EBADF tests.
5679         * tests/test-fclose.c (main): Add tests for EBADF.
5680
5681         fflush tests: EBADF tests.
5682         * tests/test-fflush.c: Include errno.h, macros.h.
5683         (main): Add tests for EBADF.
5684
5685         ftello tests: EBADF tests.
5686         * tests/test-ftello4.sh: New file.
5687         * tests/test-ftello4.c: New file.
5688         * modules/ftello-tests (Files): Add them.
5689         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
5690
5691         fseeko tests: EBADF tests.
5692         * tests/test-fseeko4.sh: New file.
5693         * tests/test-fseeko4.c: New file.
5694         * modules/fseeko-tests (Files): Add them.
5695         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
5696
5697         Tests for function fputc().
5698         * modules/fputc-tests: New file.
5699         * tests/test-fputc.c: New file.
5700         * modules/stdio-tests (Depends-on): Add fputc-tests.
5701
5702         Tests for function fgetc().
5703         * modules/fgetc-tests: New file.
5704         * tests/test-fgetc.c: New file.
5705         * modules/stdio-tests (Depends-on): Add fgetc-tests.
5706
5707         Tests for function fdopen().
5708         * modules/fdopen-tests: New file.
5709         * tests/test-fdopen.c: New file.
5710         * modules/stdio-tests (Depends-on): Add fdopen-tests.
5711
5712         Tests for module 'vdprintf'.
5713         * modules/vdprintf-tests: New file.
5714         * tests/test-vdprintf.c: New file.
5715
5716         Tests for module 'dprintf'.
5717         * modules/dprintf-tests: New file.
5718         * tests/test-dprintf.c: New file.
5719
5720 2011-09-20  Bruno Haible  <bruno@clisp.org>
5721
5722         Tests for module 'ioctl'.
5723         * modules/ioctl-tests: New file.
5724         * tests/test-ioctl.c: New file.
5725
5726 2011-09-20  Bruno Haible  <bruno@clisp.org>
5727
5728         fcntl tests: EBADF tests.
5729         * tests/test-fcntl.c (main): Add more tests for EBADF.
5730
5731 2011-09-20  Bruno Haible  <bruno@clisp.org>
5732
5733         utimensat tests: EBADF tests.
5734         * tests/test-utimensat.c (main): Add tests for EBADF.
5735
5736         renameat tests: EBADF tests.
5737         * tests/test-renameat.c (main): Add tests for EBADF.
5738
5739         mkfifoat tests: EBADF tests.
5740         * tests/test-mkfifoat.c (main): Add tests for EBADF.
5741
5742         readlinkat tests: EBADF tests.
5743         * tests/test-readlinkat.c (main): Add tests for EBADF.
5744
5745         symlinkat tests: EBADF tests.
5746         * tests/test-symlinkat.c (main): Add tests for EBADF.
5747
5748         linkat tests: EBADF tests.
5749         * tests/test-linkat.c (main): Add tests for EBADF.
5750
5751         Tests for module 'faccessat'.
5752         * modules/faccessat-tests: New file.
5753         * tests/test-faccessat.c: New file.
5754
5755         fdopendir tests: EBADF tests.
5756         * tests/test-fdopendir.c (main): Add more tests for EBADF.
5757
5758         openat tests: EBADF tests.
5759         * tests/test-fchownat.c (main): Add tests for EBADF.
5760         * tests/test-fstatat.c (main): Likewise.
5761         * tests/test-mkdirat.c (main): Likewise.
5762         * tests/test-openat.c (main): Likewise.
5763         * tests/test-unlinkat.c (main): Likewise.
5764         * tests/test-fchmodat.c: New file.
5765         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
5766         (Makefile.am): Also run 'test-fchmodat'.
5767
5768 2011-09-20  Bruno Haible  <bruno@clisp.org>
5769
5770         utimens, futimens, fdutimensat tests: EBADF tests.
5771         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
5772
5773         Tests for function fstat().
5774         * modules/fstat-tests: New file.
5775         * tests/test-fstat.c: New file.
5776         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
5777
5778 2011-09-20  Bruno Haible  <bruno@clisp.org>
5779
5780         test-ttyname_r tests: EBADF tests.
5781         * tests/test-ttyname_r.c (main): Add tests for EBADF.
5782
5783         Tests for module 'isatty'.
5784         * modules/isatty-tests: New file.
5785         * tests/test-isatty.c: New file.
5786
5787         Tests for module 'write'.
5788         * modules/write-tests: New file.
5789         * tests/test-write.c: New file.
5790
5791         Tests for module 'read'.
5792         * modules/read-tests: New file.
5793         * tests/test-read.c: New file.
5794
5795         pwrite tests: EBADF tests.
5796         * tests/test-pwrite.c (main): Add tests for EBADF.
5797
5798         pread tests: EBADF tests.
5799         * tests/test-pread.c (main): Add tests for EBADF.
5800
5801         lseek tests: EBADF tests.
5802         * tests/test-lseek.c (main): Add more tests for EBADF.
5803
5804         Tests for module 'ftruncate'.
5805         * modules/ftruncate-tests: New file.
5806         * tests/test-ftruncate.sh: New file.
5807         * tests/test-ftruncate.c: New file.
5808
5809         fsync tests: EBADF tests.
5810         * tests/test-fsync.c (main): Add more tests for EBADF.
5811
5812         fdatasync tests: EBADF tests.
5813         * tests/test-fdatasync.c (main): Add more tests for EBADF.
5814
5815         Tests for module 'fchown'.
5816         * modules/fchown-tests: New file.
5817         * tests/test-fchown.c: New file.
5818
5819         Tests for module 'fchmod'.
5820         * modules/fchmod-tests: New file.
5821         * tests/test-fchmod.c: New file.
5822
5823         fchdir tests: EBADF tests.
5824         * tests/test-fchdir.c (main): Add more tests for EBADF.
5825
5826         dup2 tests: EBADF tests.
5827         * tests/test-dup2.c (main): Add more tests for EBADF.
5828
5829         Tests for module 'dup'.
5830         * modules/dup-tests: New file.
5831         * tests/test-dup.c: New file.
5832
5833         Tests for module 'close'.
5834         * modules/close-tests: New file.
5835         * tests/test-close.c: New file.
5836
5837 2011-09-20  Bruno Haible  <bruno@clisp.org>
5838
5839         Tests for module 'shutdown'.
5840         * modules/shutdown-tests: New file.
5841         * tests/test-shutdown.c: New file.
5842
5843         Tests for module 'setsockopt'.
5844         * modules/setsockopt-tests: New file.
5845         * tests/test-setsockopt.c: New file.
5846
5847         Tests for module 'sendto'.
5848         * modules/sendto-tests: New file.
5849         * tests/test-sendto.c: New file.
5850
5851         Tests for module 'send'.
5852         * modules/send-tests: New file.
5853         * tests/test-send.c: New file.
5854
5855         Tests for module 'recvfrom'.
5856         * modules/recvfrom-tests: New file.
5857         * tests/test-recvfrom.c: New file.
5858
5859         Tests for module 'recv'.
5860         * modules/recv-tests: New file.
5861         * tests/test-recv.c: New file.
5862
5863         Tests for module 'listen'.
5864         * modules/listen-tests: New file.
5865         * tests/test-listen.c: New file.
5866
5867         Tests for module 'getsockopt'.
5868         * modules/getsockopt-tests: New file.
5869         * tests/test-getsockopt.c: New file.
5870
5871         Tests for module 'getsockname'.
5872         * modules/getsockname-tests: New file.
5873         * tests/test-getsockname.c: New file.
5874
5875         Tests for module 'getpeername'.
5876         * modules/getpeername-tests: New file.
5877         * tests/test-getpeername.c: New file.
5878
5879         Tests for module 'connect'.
5880         * modules/connect-tests: New file.
5881         * tests/test-connect.c: New file.
5882
5883         Tests for module 'bind'.
5884         * modules/bind-tests: New file.
5885         * tests/test-bind.c: New file.
5886
5887         accept4 tests: Fix for native Windows.
5888         * tests/test-accept4.c: Include sockets.h.
5889         (main): Invoke gl_sockets_startup.
5890         * modules/accept4-tests (Depends-on): Add sockets.
5891
5892         accept tests: Fix for native Windows.
5893         * tests/test-accept.c: Include sockets.h.
5894         (main): Invoke gl_sockets_startup.
5895         * modules/accept-tests (Depends-on): Add sockets.
5896
5897 2011-09-19  Bruno Haible  <bruno@clisp.org>
5898
5899         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
5900         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
5901         do...while(0).
5902         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
5903         Suggested by Paul Eggert.
5904
5905 2011-09-19  Bruno Haible  <bruno@clisp.org>
5906
5907         sched: Ensure pid_t is defined.
5908         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
5909         not define pid_t.
5910         * lib/sched.in.h: Include <sys/types.h>.
5911         * doc/posix-headers/sched.texi: Mention the pid_t problem.
5912         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5913
5914 2011-09-19  Bruno Haible  <bruno@clisp.org>
5915
5916         msvc-inval: Ensure the entire expansion is a single statement.
5917         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
5918         of braces.
5919
5920 2011-09-19  Jim Meyering  <meyering@redhat.com>
5921
5922         tests: use printf, not echo in init.sh's warn_ function
5923         * tests/init.sh (warn_): Use printf, not echo.  The latter would
5924         misbehave when given strings containing a backslash or starting
5925         with e.g., -n.  James Youngman suggested setting IFS.
5926
5927 2011-09-19  Eric Blake  <eblake@redhat.com>
5928
5929         futimens: enhance test
5930         * tests/test-futimens.h (test_futimens): Also check for EBADF on
5931         closed non-negative fd.
5932
5933         date: accept 'hence' as opposite of 'ago'
5934         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
5935         * tests/test-parse-datetime.c (main): Enhance test.
5936         Suggested by Jesse Wilson.
5937
5938 2011-09-19  Jim Meyering  <meyering@redhat.com>
5939
5940         getcwd: don't fail in a deep directory on a system without openat
5941         Before this change, getcwd would fail when called from a directory
5942         of depth PATH_MAX / 3 or greater.  That was due to the fact that
5943         the non-openat implementation used "..", "../..", "../../..", etc.
5944         to access ancestor directories.  With too many, that string would
5945         be longer than PATH_MAX.
5946         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
5947         using gnulib's openat replacement.
5948         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
5949         we're using the replacement function.
5950
5951 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
5952
5953         maint.mk: avoid warnings from perl about missing files
5954         * top/maint.mk (def_sym_regex): Ignore files listed in
5955         $(gl_other_headers_) that do not exist, say because a project
5956         does not use a corresponding module.
5957
5958 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5959
5960         stat: use pathmax.h only if needed
5961         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
5962         This is better for Emacs, which does not have a mingw port and
5963         therefore can avoid the pathmax module.
5964
5965         utimens: remove dependency on dup2
5966         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
5967         to work around the Linux kernel bug.
5968         * modules/utimens (Depends-on): Remove dup2.
5969
5970 2011-09-18  Bruno Haible  <bruno@clisp.org>
5971
5972         inet_ntop, inet_pton: Look for it also in libresolv.
5973         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
5974         libnsl, search for it in libresolv.
5975         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5976         Needed on Solaris 7.
5977
5978 2011-09-18  Bruno Haible  <bruno@clisp.org>
5979
5980         accept, accept4 tests: Avoid link error on Solaris.
5981         * modules/accept-tests (Makefile.am): Link test-accept against
5982         $(LIBSOCKET).
5983         * modules/accept4-tests (Makefile.am): Link test-accept4 against
5984         $(LIBSOCKET).
5985
5986         accept4: Avoid link error on Solaris.
5987         * modules/accept4 (Link): New section.
5988
5989         socket functions: Avoid link errors on Solaris.
5990         * modules/accept (Depends-on): Add socketlib.
5991         (Link): New section.
5992         * modules/bind (Depends-on): Add socketlib.
5993         (Link): New section.
5994         * modules/connect (Depends-on): Add socketlib.
5995         (Link): New section.
5996         * modules/getpeername (Depends-on): Add socketlib.
5997         (Link): New section.
5998         * modules/getsockname (Depends-on): Add socketlib.
5999         (Link): New section.
6000         * modules/getsockopt (Depends-on): Add socketlib.
6001         (Link): New section.
6002         * modules/listen (Depends-on): Add socketlib.
6003         (Link): New section.
6004         * modules/recv (Depends-on): Add socketlib.
6005         (Link): New section.
6006         * modules/recvfrom (Depends-on): Add socketlib.
6007         (Link): New section.
6008         * modules/send (Depends-on): Add socketlib.
6009         (Link): New section.
6010         * modules/sendto (Depends-on): Add socketlib.
6011         (Link): New section.
6012         * modules/setsockopt (Depends-on): Add socketlib.
6013         (Link): New section.
6014         * modules/shutdown (Depends-on): Add socketlib.
6015         (Link): New section.
6016         * modules/socket (Depends-on): Add socketlib.
6017         (Link): New section.
6018
6019 2011-09-18  Bruno Haible  <bruno@clisp.org>
6020
6021         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
6022         * tests/test-ptsname.c (main): Terminate the test if it takes longer
6023         than 5 seconds.
6024         * modules/ptsname-tests (configure.ac): Test for alarm.
6025
6026 2011-09-18  Bruno Haible  <bruno@clisp.org>
6027
6028         posix_spawn_file_actions_add*: Fix module dependencies.
6029         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
6030         posix_spawn_file_actions_init.
6031         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
6032         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
6033
6034 2011-09-18  Bruno Haible  <bruno@clisp.org>
6035
6036         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
6037         * tests/test-rename.h (test_rename): Allow error code EEXIST.
6038         * tests/test-renameat.c (main): Likewise.
6039
6040 2011-09-18  Bruno Haible  <bruno@clisp.org>
6041
6042         Tests for module 'accept4'.
6043         * modules/accept4-tests: New file.
6044         * tests/test-accept4.c: New file.
6045
6046 2011-09-18  Bruno Haible  <bruno@clisp.org>
6047
6048         Tests for module 'accept'.
6049         * modules/accept-tests: New file.
6050         * tests/test-accept.c: New file.
6051
6052 2011-09-18  Bruno Haible  <bruno@clisp.org>
6053
6054         dup2: Support for MSVC.
6055         * lib/dup2.c: Include msvc-inval.h.
6056         (rpl_dup2): Handle invalid parameter notifications during dup2 and
6057         _get_osfhandle calls.
6058         * modules/dup2 (Depends-on): Add msvc-inval.
6059         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
6060
6061         New module 'msvc-inval'.
6062         * lib/msvc-inval.h: New file.
6063         * lib/msvc-inval.c: New file.
6064         * m4/msvc-inval.m4: New file.
6065         * modules/msvc-inval: New file.
6066
6067 2011-09-17  Bruno Haible  <bruno@clisp.org>
6068
6069         Tests for module 'pclose'.
6070         * modules/pclose-tests: New file.
6071
6072         New module 'pclose'.
6073         * lib/stdio.in.h (pclose): New declaration.
6074         * lib/pclose.c: New file.
6075         * m4/pclose.m4: New file.
6076         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
6077         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
6078         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
6079         * modules/pclose: New file.
6080         * modules/popen-tests (Depends-on): Add pclose.
6081         * modules/popen-safer-tests (Depends-on): Likewise.
6082         * doc/posix-functions/pclose.texi: Mention the new module.
6083
6084 2011-09-17  Bruno Haible  <bruno@clisp.org>
6085
6086         popen: Support for MSVC.
6087         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
6088         * lib/popen.c (popen): Provide alternate definition for native Windows.
6089         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
6090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
6091         * modules/popen (Depends-on, configure.ac): Update condition.
6092         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
6093         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
6094         fixed.
6095
6096 2011-09-17  Bruno Haible  <bruno@clisp.org>
6097
6098         isnanl, isnand, isnanf: Work around MSVC bug.
6099         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
6100
6101 2011-09-17  Bruno Haible  <bruno@clisp.org>
6102
6103         sys_socket tests: Fix recent mistake.
6104         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
6105
6106 2011-09-17  Bruno Haible  <bruno@clisp.org>
6107
6108         putenv: Support for MSVC.
6109         * modules/putenv (Depends-on): Add environ.
6110         * lib/putenv.c (environ): Disable declaration.
6111         * lib/unistd.in.h: Update comment.
6112
6113 2011-09-17  Bruno Haible  <bruno@clisp.org>
6114
6115         math: Avoid macro redefinition warnings on MSVC.
6116         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
6117         Undefine before redefining.
6118
6119 2011-09-17  Bruno Haible  <bruno@clisp.org>
6120
6121         doc: Mention functions which are declared as macros.
6122         * doc/posix-functions/*[fl].texi: Mention that some functions are
6123         defined as macros with arguments only.
6124
6125 2011-09-17  Bruno Haible  <bruno@clisp.org>
6126
6127         Add dependencies to new dirent related modules.
6128         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
6129         * modules/fts (Depends-on): Likewise.
6130         * modules/glob (Depends-on): Likewise.
6131         * modules/savedir (Depends-on): Likewise.
6132         * modules/scandir (Depends-on): Likewise.
6133         * modules/dirent-safer (Depends-on): Add opendir, closedir.
6134         * modules/fdopendir (Depends-on): Add opendir.
6135
6136 2011-09-17  Bruno Haible  <bruno@clisp.org>
6137
6138         inet_pton: Support for MSVC on Windows Vista or newer.
6139         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
6140         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
6141         HAVE_DECL_INET_PTON is defined.
6142         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6143         On platforms with <winsock2.h>, test whether inet_pton is declared in
6144         <ws2tcpip.h>. If so, arrange to replace it.
6145         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6146         REPLACE_INET_PTON.
6147         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
6148         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
6149         (Depends-on, configure.ac): Update condition.
6150         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
6151
6152 2011-09-17  Bruno Haible  <bruno@clisp.org>
6153
6154         inet_ntop: Support for MSVC on Windows Vista or newer.
6155         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
6156         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
6157         HAVE_DECL_INET_NTOP is defined.
6158         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
6159         On platforms with <winsock2.h>, test whether inet_ntop is declared in
6160         <ws2tcpip.h>. If so, arrange to replace it.
6161         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
6162         REPLACE_INET_NTOP.
6163         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
6164         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
6165         (Depends-on, configure.ac): Update condition.
6166         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
6167
6168 2011-09-16  Eric Blake  <eblake@redhat.com>
6169
6170         test-fsync: yet another enhancement
6171         * tests/test-fsync.c (main): Also test behavior on read-only text
6172         file.
6173
6174 2011-09-16  Bruno Haible  <bruno@clisp.org>
6175
6176         Enhance fsync, fdatasync tests.
6177         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
6178         * tests/test-fdatasync.c (main): Likewise.
6179
6180 2011-09-16  Bruno Haible  <bruno@clisp.org>
6181
6182         Support for MSVC compiler: Ensure mode_t gets defined.
6183         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
6184         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6185         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6186         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
6187         * tests/test-fcntl-h.c: Check that mode_t is defined.
6188         * tests/test-sys_stat.c: Likewise.
6189         * tests/test-sys_types.c: Likewise.
6190         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
6191         * doc/posix-headers/sys_stat.texi: Likewise.
6192         * doc/posix-headers/sys_types.texi: Likewise.
6193
6194 2011-09-16  Bruno Haible  <bruno@clisp.org>
6195
6196         sys_stat: Support for MSVC.
6197         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
6198         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
6199         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
6200         MSVC.
6201
6202 2011-09-16  Bruno Haible  <bruno@clisp.org>
6203
6204         Support for MSVC compiler: Ensure off_t gets defined.
6205         * lib/unistd.in.h: Include <sys/types.h>.
6206         * tests/test-fcntl-h.c: Check that off_t is defined.
6207         * tests/test-sys_stat.c: Likewise.
6208         * tests/test-sys_types.c: Likewise.
6209
6210 2011-09-16  Eric Blake  <eblake@redhat.com>
6211
6212         fdatasync: port to Solaris
6213         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
6214         * modules/fdatasync (Link): Document it.
6215         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
6216
6217         fdatasync: port to MacOS X 10.7
6218         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
6219         declared.
6220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
6221         * modules/unistd (Makefile.am): Substitute it.
6222         * lib/unistd.in.h (fdatasync): Declare on MacOS.
6223         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
6224
6225         fdatasync: minor improvements
6226         * modules/fdatasync (Depends-on): Add condition for fsync.
6227         * lib/fdatasync.c (fdatasync): Add comment.
6228         * tests/test-unistd-c++.cc: Test fdatasync.
6229
6230         unistd: update refs to newer POSIX
6231         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
6232         Suggested by Bruno Haible.
6233
6234         fdatasync: new module
6235         * modules/fsync (Description): Document difference to fdatasync.
6236         * modules/fdatasync: New module.
6237         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
6238         * lib/fdatasync.c (fdatasync): Likewise.
6239         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
6240         defaults.
6241         * modules/unistd (Makefile.am): Set witnesses.
6242         * lib/unistd.in.h (fdatasync): Declare.
6243         * MODULES.html.sh: Document it.
6244         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
6245         * modules/fdatasync-tests: New test.
6246         * tests/test-fdatasync.c: Likewise.
6247
6248 2011-09-16  Eric Blake  <eblake@redhat.com>
6249
6250         test-fsync: enhance tests
6251         * modules/fsync-tests (Depends-on): Add errno, for mingw.
6252         * tests/test-fsync.c (main): Enhance test.
6253
6254 2011-09-15  Bruno Haible  <bruno@clisp.org>
6255
6256         Support for MSVC compiler: Ensure ssize_t gets defined.
6257         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
6258         * doc/posix-headers/stdio.texi: Likewise.
6259         * modules/stdio (Depends-on): Add ssize_t.
6260         * modules/sys_socket (Depends-on): Likewise.
6261         * modules/sys_types (Depends-on): Likewise.
6262         * modules/sys_uio (Depends-on): Likewise.
6263         * modules/unistd (Depends-on): Likewise.
6264         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
6265         * tests/test-sys_types.c: Check that ssize_t is defined.
6266
6267 2011-09-14  Bruno Haible  <bruno@clisp.org>
6268
6269         Avoid using #, the m4 comment starter character, near brackets.
6270         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
6271         delimiter character in sed expressions.
6272         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
6273         Suggested by Eric Blake.
6274
6275         Properly quote AC_CHECK_DECLS' 4th argument.
6276         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
6277         argument.
6278         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6279         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6280         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6281         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6282         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
6283         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
6284         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
6285         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
6286         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
6287         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6288         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
6289         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6290         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
6291         * m4/isinf.m4 (gl_ISINF): Likewise.
6292         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6293         * m4/readutmp.m4 (gl_READUTMP): Likewise.
6294         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
6295         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6296         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6297         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6298         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6299         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6300         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
6301         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6302         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6303         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6304         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
6305         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6306         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6307         Reported by Eric Blake.
6308
6309         Properly quote AC_CHECK_DECL's 4th argument.
6310         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
6311         argument.
6312         * m4/argp.m4 (gl_ARGP): Likewise.
6313         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6314         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6315         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6316         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6317         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
6318         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
6319         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6320         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
6321         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
6322         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6323         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6324         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6325         Reported by Eric Blake.
6326
6327 2011-09-14  Eric Blake  <eblake@redhat.com>
6328
6329         opendir: avoid compile warning
6330         * lib/opendir.c (includes): Always include errno.h.
6331         Reported by Tatsuro MATSUOKA.
6332
6333 2011-09-14  Jim Meyering  <meyering@redhat.com>
6334
6335         maint.mk: sc_tight_scope: propagate failure from sub-make
6336         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
6337         Reported by Martin von Gagern.
6338
6339 2011-09-13  Bruno Haible  <bruno@clisp.org>
6340
6341         tempname: Support for MSVC.
6342         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
6343         MSVC.
6344         * modules/tempname (Depends-on): Add fcntl-h.
6345
6346 2011-09-13  Bruno Haible  <bruno@clisp.org>
6347
6348         sys_time: Support for MSVC.
6349         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
6350         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
6351         include <winsock2.h>.
6352         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
6353         function declarations that collide with POSIX.
6354         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
6355         (Makefile.am): Substitute HAVE_WINSOCK2_H.
6356
6357 2011-09-13  Bruno Haible  <bruno@clisp.org>
6358
6359         stat: Support for MSVC.
6360         * lib/stat.c: Include pathmax.h.
6361         * modules/stat (Depends-on): Add pathmax.
6362
6363         pathmax: Support for native Windows.
6364         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
6365
6366 2011-09-12  Bruno Haible  <bruno@clisp.org>
6367
6368         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
6369         * lib/dirent.in.h (struct dirent): New type.
6370         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
6371         DT_WHT): New macros.
6372         (DIR): New type.
6373         (opendir, closedir): Declare only if the module 'opendir' is enabled.
6374         (readdir, rewinddir): New declarations.
6375         * lib/dirent-private.h: New file.
6376         * lib/opendir.c: New file.
6377         * lib/readdir.c: New file.
6378         * lib/rewinddir.c: New file.
6379         * lib/closedir.c: New file.
6380         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
6381         * m4/opendir.m4: New file.
6382         * m4/readdir.m4: New file.
6383         * m4/rewinddir.m4: New file.
6384         * m4/closedir.m4: New file.
6385         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
6386         REPLACE_CLOSEDIR here.
6387         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
6388         readdir, rewinddir are declared.
6389         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
6390         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
6391         HAVE_REWINDDIR, HAVE_CLOSEDIR.
6392         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
6393         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
6394         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
6395         * modules/opendir: New file.
6396         * modules/readdir: New file.
6397         * modules/rewinddir: New file.
6398         * modules/closedir: New file.
6399         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
6400         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
6401         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
6402         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
6403         * NEWS: Mention the 'fchdir' change.
6404
6405 2011-09-11  Bruno Haible  <bruno@clisp.org>
6406
6407         asm-underscore.m4: Support for MSVC.
6408         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
6409         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
6410
6411 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
6412
6413         Doc about crypt functions.
6414         * doc/posix-functions/crypt.texi: Expand range of glibc versions
6415         needing for _GNU_SOURCE to get crypt.
6416         * doc/posix-functions/encrypt.texi: Likewise.
6417         * doc/posix-functions/setkey.texi: Likewise.
6418
6419 2011-09-11  Bruno Haible  <bruno@clisp.org>
6420
6421         doc: Update regarding MSVC 9.
6422         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
6423         tested".
6424         * doc/posix-functions/*.texi: Update with info about MSVC 9.
6425         * doc/posix-headers/*.texi: Likewise.
6426         * doc/pastposix-functions/*.texi: Likewise.
6427         * doc/glibc-functions/*.texi: Likewise.
6428         * doc/glibc-headers/*.texi: Likewise.
6429
6430 2011-09-11  Bruno Haible  <bruno@clisp.org>
6431
6432         unistd et al.: Don't assume <unistd.h> exists.
6433         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
6434         does not exist.
6435         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
6436         exist. But include <stdlib.h>.
6437         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
6438         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
6439         symlink() does not exist.
6440         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
6441         include <io.h> instead.
6442         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
6443         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
6444         include <direct.h> instead.
6445         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6446         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6447         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
6448         <io.h> instead.
6449         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
6450         correctly if the system does not have hard links.
6451         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
6452         <direct.h> instead.
6453         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
6454         it when looking for function declarations.
6455         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
6456         <direct.h> and <io.h> instead.
6457         * doc/posix-headers/unistd.texi: More details about MSVC problem.
6458
6459 2011-09-11  Bruno Haible  <bruno@clisp.org>
6460
6461         strcase: Support for MSVC.
6462         * modules/strcase (Status, Notice): Remove obsoletion mark.
6463         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
6464         * doc/posix-functions/strncasecmp.texi: Likewise.
6465
6466         strings: Don't assume <strings.h> exists.
6467         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
6468         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
6469         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
6470         * doc/posix-headers/strings.texi: Mention the MSVC problem.
6471
6472 2011-09-11  Bruno Haible  <bruno@clisp.org>
6473
6474         dirent: Don't assume <dirent.h> exists.
6475         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
6476         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
6477         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
6478         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
6479
6480 2011-09-11  Bruno Haible  <bruno@clisp.org>
6481
6482         Fix wint_t on MSVC.
6483         * lib/wchar.in.h (wint_t): On MSVC, override it.
6484         * lib/wctype.in.h (wint_t): Likewise.
6485         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
6486         MSVC.
6487         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
6488         * doc/posix-headers/wctype.texi: Likewise.
6489
6490 2011-09-11  Bruno Haible  <bruno@clisp.org>
6491
6492         sys_types: Fix typo.
6493         * lib/sys_types.in.h: Fix typo in comment.
6494         Reported by Paul Eggert.
6495
6496         Support for MSVC compiler: Ensure size_t gets defined.
6497         * modules/strings (Depends-on): Add 'sys_types'.
6498         * modules/sys_uio (Depends-on): Likewise.
6499         * lib/sys_uio.in.h: Update comment.
6500
6501         C++ tests for module 'sys_types'.
6502         * modules/sys_types-c++-tests: New file.
6503         * tests/test-sys_types-c++.cc: New file.
6504
6505         Tests for module 'sys_types'.
6506         * modules/sys_types-tests: New file.
6507         * tests/test-sys_types.c: New file.
6508
6509         New module 'sys_types'.
6510         * lib/sys_types.in.h: New file.
6511         * m4/sys_types_h.m4: New file.
6512         * modules/sys_types: New file.
6513         * doc/posix-headers/sys_types.texi: Mention the new module and the
6514         size_t problem on MSVC 9.
6515
6516 2011-09-11  Bruno Haible  <bruno@clisp.org>
6517
6518         Support for MSVC compiler: Avoid division by a literal 0.
6519         * lib/math.in.h (NAN): Define through a function call also on MSVC.
6520         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
6521         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
6522         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
6523         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
6524         * tests/infinity.h: New file.
6525         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
6526         on MSVC.
6527         * tests/test-ceilf1.c: Include infinity.h.
6528         (main): Use Infinityf.
6529         * tests/test-ceil1.c: Include infinity.h.
6530         (main): Use Infinityd.
6531         * tests/test-ceill.c: Include infinity.h.
6532         (main): Use Infinityl.
6533         * tests/test-dprintf-posix.c: Include infinity.h.
6534         (test_function): Use Infinityd.
6535         * tests/test-floorf1.c: Include infinity.h.
6536         (main): Use Infinityf.
6537         * tests/test-floor1.c: Include infinity.h.
6538         (main): Use Infinityd.
6539         * tests/test-floorl.c: Include infinity.h.
6540         (main): Use Infinityl.
6541         * tests/test-fprintf-posix.c: Include infinity.h.
6542         (test_function): Use Infinityd.
6543         * tests/test-frexp.c: Include infinity.h.
6544         (main): Use Infinityd.
6545         * tests/test-frexpl.c: Include infinity.h.
6546         (main): Use Infinityl.
6547         * tests/test-isfinite.c: Include infinity.h.
6548         (test_isfinitef): Use Infinityf.
6549         (test_isfinited): Use Infinityd.
6550         (test_isfinitel): Use Infinityl.
6551         * tests/test-isinf.c: Include infinity.h.
6552         (test_isinff): Use Infinityf.
6553         (test_isinfd): Use Infinityd.
6554         (test_isinfl): Use Infinityl.
6555         * tests/test-isnan.c: Include infinity.h.
6556         (test_float): Use Infinityf.
6557         (test_double): Use Infinityd.
6558         (test_long_double): Use Infinityl.
6559         * tests/test-isnanf.h: Include infinity.h.
6560         (main): Use Infinityf.
6561         * tests/test-isnand.h: Include infinity.h.
6562         (main): Use Infinityd.
6563         * tests/test-isnanl.h: Include infinity.h.
6564         (main): Use Infinityl.
6565         * tests/test-ldexpl.c: Include infinity.h.
6566         (main): Use Infinityl.
6567         * tests/test-printf-posix.h: Include infinity.h.
6568         (test_function): Use Infinityd.
6569         * tests/test-roundf1.c: Include infinity.h.
6570         (main): Use Infinityf.
6571         * tests/test-round1.c: Include infinity.h.
6572         (main): Use Infinityd.
6573         * tests/test-roundl.c: Include infinity.h.
6574         (main): Use Infinityl.
6575         * tests/test-signbit.c: Include infinity.h.
6576         (test_signbitf): Use Infinityf.
6577         (test_signbitd): Use Infinityd.
6578         (test_signbitl): Use Infinityl.
6579         * tests/test-snprintf-posix.h: Include infinity.h.
6580         (test_function): Use Infinityd, Infinityl.
6581         * tests/test-sprintf-posix.h: Include infinity.h.
6582         (test_function): Use Infinityd, Infinityl.
6583         * tests/test-truncf1.c: Include infinity.h.
6584         (main): Use Infinityf.
6585         * tests/test-trunc1.c: Include infinity.h.
6586         (main): Use Infinityd.
6587         * tests/test-truncl.c: Include infinity.h.
6588         (main): Use Infinityl.
6589         * tests/test-vasnprintf-posix.c: Include infinity.h.
6590         (test_function): Use Infinityd, Infinityl.
6591         * tests/test-vasprintf-posix.c: Include infinity.h.
6592         (test_function): Use Infinityd, Infinityl.
6593         * modules/ceilf-tests (Files): Add tests/infinity.h.
6594         * modules/ceil-tests (Files): Likewise.
6595         * modules/ceill-tests (Files): Likewise.
6596         * modules/dprintf-posix-tests (Files): Likewise.
6597         * modules/floorf-tests (Files): Likewise.
6598         * modules/floor-tests (Files): Likewise.
6599         * modules/floorl-tests (Files): Likewise.
6600         * modules/fprintf-posix-tests (Files): Likewise.
6601         * modules/frexp-tests (Files): Likewise.
6602         * modules/frexp-nolibm-tests (Files): Likewise.
6603         * modules/frexpl-tests (Files): Likewise.
6604         * modules/frexpl-nolibm-tests (Files): Likewise.
6605         * modules/isfinite-tests (Files): Likewise.
6606         * modules/isinf-tests (Files): Likewise.
6607         * modules/isnan-tests (Files): Likewise.
6608         * modules/isnanf-tests (Files): Likewise.
6609         * modules/isnanf-nolibm-tests (Files): Likewise.
6610         * modules/isnand-tests (Files): Likewise.
6611         * modules/isnand-nolibm-tests (Files): Likewise.
6612         * modules/isnanl-tests (Files): Likewise.
6613         * modules/isnanl-nolibm-tests (Files): Likewise.
6614         * modules/ldexpl-tests (Files): Likewise.
6615         * modules/printf-posix-tests (Files): Likewise.
6616         * modules/roundf-tests (Files): Likewise.
6617         * modules/round-tests (Files): Likewise.
6618         * modules/roundl-tests (Files): Likewise.
6619         * modules/signbit-tests (Files): Likewise.
6620         * modules/snprintf-posix-tests (Files): Likewise.
6621         * modules/sprintf-posix-tests (Files): Likewise.
6622         * modules/truncf-tests (Files): Likewise.
6623         * modules/trunc-tests (Files): Likewise.
6624         * modules/truncl-tests (Files): Likewise.
6625         * modules/vasnprintf-posix-tests (Files): Likewise.
6626         * modules/vasprintf-posix-tests (Files): Likewise.
6627         * modules/vdprintf-posix-tests (Files): Likewise.
6628         * modules/vfprintf-posix-tests (Files): Likewise.
6629         * modules/vprintf-posix-tests (Files): Likewise.
6630         * modules/vsnprintf-posix-tests (Files): Likewise.
6631         * modules/vsprintf-posix-tests (Files): Likewise.
6632         * modules/xprintf-posix-tests (Files): Likewise.
6633
6634 2011-09-11  Bruno Haible  <bruno@clisp.org>
6635
6636         Ensure pid_t gets defined.
6637         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
6638         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
6639         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6640         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6641         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
6642         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
6643         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
6644         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6645         * tests/test-fcntl-h.c: Check that pid_t is defined.
6646         * tests/test-sched.c: Likewise.
6647         * tests/test-termios.c: Likewise.
6648         * tests/test-time.c: Likewise.
6649         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
6650         * doc/posix-headers/signal.texi: Likewise.
6651         * doc/posix-headers/sys_types.texi: Likewise.
6652         * doc/posix-headers/time.texi: Likewise.
6653
6654 2011-09-11  Bruno Haible  <bruno@clisp.org>
6655
6656         acl: Fix compilation on Solaris 10 (older version).
6657         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
6658         of ACE_EVERYONE.
6659         * lib/set-mode-acl.c (qset_acl): Likewise.
6660         Reported by Christian Jullien <eligis@orange.fr>.
6661
6662 2011-09-10  Bruno Haible  <bruno@clisp.org>
6663
6664         iconv, unsetenv: Add support for MSVC compiler.
6665         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
6666         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
6667
6668 2011-09-10  Bruno Haible  <bruno@clisp.org>
6669
6670         *printf: Add support for MSVC compiler.
6671         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
6672         handles the exception caused by the %n directive. When cross-compiling,
6673         guess no on native Windows.
6674         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
6675         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
6676         emulate it through vsnprintf.
6677         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
6678         * doc/posix-functions/dprintf.texi: Update documentation regarding
6679         MSVC 9.
6680         * doc/posix-functions/fprintf.texi: Likewise.
6681         * doc/posix-functions/printf.texi: Likewise.
6682         * doc/posix-functions/snprintf.texi: Likewise.
6683         * doc/posix-functions/sprintf.texi: Likewise.
6684         * doc/posix-functions/swprintf.texi: Likewise.
6685         * doc/posix-functions/vdprintf.texi: Likewise.
6686         * doc/posix-functions/vfprintf.texi: Likewise.
6687         * doc/posix-functions/vprintf.texi: Likewise.
6688         * doc/posix-functions/vsnprintf.texi: Likewise.
6689         * doc/posix-functions/vsprintf.texi: Likewise.
6690         * doc/glibc-functions/asprintf.texi: Likewise.
6691         * doc/glibc-functions/obstack_printf.texi: Likewise.
6692         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6693         * doc/glibc-functions/vasprintf.texi: Likewise.
6694
6695 2011-09-10  Bruno Haible  <bruno@clisp.org>
6696
6697         nocrash: Add support for native Windows.
6698         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
6699
6700 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
6701             Bruno Haible  <bruno@clisp.org>
6702
6703         absolute-header, include-next: Add support for MSVC compiler.
6704         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
6705         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
6706         directory separator in #line directives.
6707         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
6708         recognize also backslash as directory separator in #line directives.
6709
6710 2011-09-08  Jim Meyering  <meyering@redhat.com>
6711
6712         maint.mk: mark the post-release commit log with "maint: " prefix
6713         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
6714         one-line commit-log summary.
6715
6716 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
6717             Bruno Haible  <bruno@clisp.org>
6718
6719         Doc about crypt functions.
6720         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
6721         systems.
6722         * doc/posix-functions/encrypt.texi: Likewise.
6723         * doc/posix-functions/setkey.texi: Likewise.
6724
6725 2011-09-08  Simon Josefsson  <simon@josefsson.org>
6726
6727         * lib/gc.h: Fix copyright header.
6728
6729 2011-09-07  Bruno Haible  <bruno@clisp.org>
6730
6731         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
6732         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
6733         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
6734
6735 2011-09-07  Bruno Haible  <bruno@clisp.org>
6736
6737         openat: Work around compilation error with OSF/1 5.1 DTK cc.
6738         * lib/fopen.c: Use different syntax for include of <stdio.h>.
6739         * lib/freopen.c: Likewise.
6740         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
6741         * lib/lstat.c: Likewise.
6742         * lib/stat.c: Likewise.
6743         * lib/open.c: Use different syntax for include of <fcntl.h>.
6744         * lib/openat.c: Include fcntl.h again, explicitly.
6745
6746 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
6747
6748         parse-datetime: document the newly accepted format
6749         * doc/parse-datetime.texi (Combined date and time of day items):
6750         New section.
6751
6752 2011-09-06  Bruno Haible  <bruno@clisp.org>
6753
6754         acl: Fix a test failure on newer Solaris 10 with ZFS.
6755         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
6756         ENOSYS as no ACL.
6757         Reported by Jim Meyering.
6758
6759 2011-09-06  Bruno Haible  <bruno@clisp.org>
6760
6761         acl: Update for AIX >= 5.3 with NFS.
6762         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
6763         ENOSYS as no ACL.
6764
6765         acl: Fix a test failure on AIX >= 5.3 with NFS.
6766         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
6767         as no ACL.
6768
6769 2011-09-06  Bruno Haible  <bruno@clisp.org>
6770
6771         acl: Fix a test failure on IRIX 6.5 with NFS.
6772         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
6773         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
6774         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
6775         * lib/copy-acl.c (qcopy_acl): Likewise.
6776
6777 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
6778
6779         openat: port to AIX 7.1 with large files
6780         AIX 7.1 does a "#define openat open64at" if large files are in use,
6781         so we can't simply #undef openat.  Use the orig_openat trick (similar
6782         to orig_open in lib/open.c) to work around the problem.  Problem
6783         reported by Kevin Brott for GNU tar, in the thread containing
6784         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
6785         * lib/openat.c (__need_system_fcntl_h): Define first.
6786         Include <fcntl.h> and <sys/types.h> before undefining.
6787         (orig_openat) [HAVE_OPENAT]: New inline function.
6788         (openat) [HAVE_OPENAT]: Do not undef.
6789         (rpl_openat): Use orig_openat, not openat.
6790
6791 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
6792             Bruno Haible  <bruno@clisp.org>
6793
6794         acl: Avoid errors on NonStop Kernel.
6795         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
6796         ENOTSUP errors.
6797
6798 2011-09-05  Bruno Haible  <bruno@clisp.org>
6799
6800         acl: Clean up Solaris code.
6801         * lib/acl-internal.h: Remove no-op #if.
6802         * lib/file-has-acl.c: Likewise.
6803         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
6804         * lib/copy-acl.c (qcopy_acl): Likewise.
6805
6806 2011-09-05  Bruno Haible  <bruno@clisp.org>
6807
6808         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
6809         binaries built on the original Solaris 10.
6810         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
6811         trivial.
6812
6813 2011-09-05  Bruno Haible  <bruno@clisp.org>
6814
6815         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6816         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
6817         10.
6818         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
6819         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
6820         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
6821         instead of acl_get, facl_get, acl_set, facl_set.
6822
6823 2011-09-05  Bruno Haible  <bruno@clisp.org>
6824
6825         copy-file: Try unit tests on more file systems.
6826         * tests/test-copy-file-1.sh: New file.
6827         * tests/test-copy-file-2.sh: New file.
6828         * modules/copy-file-tests (Files): Add them.
6829         (Makefile.am): Add them to TESTS.
6830
6831         acl: Try unit tests on more file systems.
6832         * tests/test-file-has-acl-1.sh: New file.
6833         * tests/test-file-has-acl-2.sh: New file.
6834         * tests/test-set-mode-acl-1.sh: New file.
6835         * tests/test-set-mode-acl-2.sh: New file.
6836         * tests/test-copy-acl-1.sh: New file.
6837         * tests/test-copy-acl-2.sh: New file.
6838         * modules/acl-tests (Files): Add them.
6839         (Makefile.am): Add them to TESTS.
6840
6841 2011-09-04  Bruno Haible  <bruno@clisp.org>
6842
6843         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
6844         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
6845         10.
6846         (OLD_ALLOW, OLD_DENY): New macros.
6847         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
6848         ACE_ACCESS_ALLOWED_ACE_TYPE.
6849         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
6850         ACE_ACCESS_DENIED_ACE_TYPE.
6851         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
6852         (NEW_ACE_EXECUTE): Fix value.
6853         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
6854         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
6855         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
6856         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
6857         NEW_ACE_SYNCHRONIZE): New macros.
6858         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
6859         instead of acl_fromtext, acl_set, facl_set.
6860         Fixes a coreutils/tests/cp/perm failure.
6861
6862 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
6863
6864         openat: test for fstatat (..., 0) bug
6865         Further testing with tar suggests that fstatat (..., 0)
6866         does not work in general, on AIX 7.1; see
6867         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
6868         So, give up entirely on AIX 7.1's fstatat, and fall back on our
6869         replacement fstatat (which is what older AIX releases were using
6870         anyway).
6871         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
6872         use is now changed to orig_fstatat.  This was probably the right
6873         thing to do anyway.
6874         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
6875         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
6876         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
6877         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
6878         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
6879         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
6880         if the bug is found.
6881
6882         openat: test for fstatat (AT_FDCWD, ..., 0) bug
6883         This tests for another fstatat bug on AIX 7.1:
6884         fstatat (AT_FDCWD, ..., 0) does not work.  See
6885         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
6886         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
6887         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
6888         (rpl_fstatat): Adjust so that it works around either (or both)
6889         bugs if present.
6890         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
6891
6892 2011-09-03  Karl Berry  <karl@gnu.org>
6893
6894         * doc/regex.texi (Character Class Operators): Avoid literal ":"
6895         in index entries.
6896
6897 2011-09-02  Bruno Haible  <bruno@clisp.org>
6898
6899         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
6900         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
6901         values of AR, ARFLAGS, RANLIB.
6902         Reported by John W. Eaton <jwe@gnu.org> for Octave.
6903
6904 2011-09-02  Bruno Haible  <bruno@clisp.org>
6905
6906         Find 'ar' program that fits with --host argument.
6907         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
6908
6909 2011-09-02  Bruno Haible  <bruno@clisp.org>
6910
6911         tests: init.sh: Support any non-GNU diff.
6912         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
6913         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
6914         Solaris 8.
6915
6916 2011-09-02  Bruno Haible  <bruno@clisp.org>
6917
6918         tests: init.sh: work also with any non-GNU diff that supports -u
6919         * tests/init.sh: Relax check for diff -u support.
6920         Rather than checking for GNU diff via --version, simply check
6921         for support for -u itself.  Useful at least on OpenBSD 4.9,
6922         AIX 7.1, IRIX 6.5, and Solaris 10.
6923
6924 2011-09-01  Bruno Haible  <bruno@clisp.org>
6925
6926         strtoimax, strtoumax: Document problem on HP-UX 11.
6927         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
6928         * doc/posix-functions/strtoumax.texi: Likewise.
6929
6930 2011-09-01  Bruno Haible  <bruno@clisp.org>
6931
6932         strtoumax: Avoid link error on OSF/1 with DTK cc.
6933         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
6934         defined as a function.
6935         * modules/strtoumax (Depends-on, configure.ac): Test only whether
6936         strtoumax is defined, not whether it is declared.
6937
6938 2011-09-01  Bruno Haible  <bruno@clisp.org>
6939
6940         strtoimax: Avoid link error on OSF/1 with DTK cc.
6941         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
6942         defined as a function.
6943         * modules/strtoimax (Depends-on, configure.ac): Test only whether
6944         strtoimax is defined, not whether it is declared.
6945
6946 2011-09-01  Bruno Haible  <bruno@clisp.org>
6947
6948         imaxdiv: Avoid link error on OSF/1 with DTK cc.
6949         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
6950         as a function.
6951         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
6952         whether it is declared.
6953
6954 2011-09-01  Bruno Haible  <bruno@clisp.org>
6955
6956         imaxabs: Avoid link error on OSF/1 with DTK cc.
6957         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
6958         as a function.
6959         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
6960         whether it is declared.
6961
6962 2011-09-01  Bruno Haible  <bruno@clisp.org>
6963
6964         Tests for module 'strtoumax'.
6965         * modules/strtoumax-tests: New file.
6966         * tests/test-strtoumax.c: New file.
6967
6968         Tests for module 'strtoimax'.
6969         * modules/strtoimax-tests: New file.
6970         * tests/test-strtoimax.c: New file.
6971
6972         Tests for module 'imaxdiv'.
6973         * modules/imaxdiv-tests: New file.
6974         * tests/test-imaxdiv.c: New file.
6975
6976         Tests for module 'imaxabs'.
6977         * modules/imaxabs-tests: New file.
6978         * tests/test-imaxabs.c: New file.
6979
6980 2011-09-01  Bruno Haible  <bruno@clisp.org>
6981
6982         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
6983         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
6984         pthread_create.
6985
6986 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6987
6988         openat: work around AIX 7.1 fstatat issue
6989         This should fix the problem that was not properly fixed
6990         in the previous change, dated 2011-08-30.
6991         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
6992         __need_system_stat_h defined.
6993         (orig_fstatat) [HAVE_FSTATAT]: New function.
6994         (rpl_fstatat): Go back to the old way of doing things,
6995         except call orig_fstatat instead of fstatat.
6996         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
6997         Remove unnecessary check whether fstatat fills in st_size etc.
6998
6999 2011-09-01  Bruno Haible  <bruno@clisp.org>
7000
7001         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
7002         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
7003         just include the system's header.
7004
7005 2011-08-31  Jim Meyering  <meyering@redhat.com>
7006
7007         tests: avoid spurious assertion failure in test-float.c on ppc64
7008         * tests/test-float.c (test_long_double): Comment out an assertion,
7009         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
7010         with gcc-4.4.4.
7011
7012         maint: indent with spaces, not TABs
7013         I need to get in the habit of running gnulib's "make check".
7014         Both of these would have been caught.
7015         * m4/largefile.m4: Indent with spaces, not TABs.
7016         * lib/parse-datetime.y (iso_8601_time): Likewise.
7017         Spotted by Pádraig Brady.
7018
7019         test-parse-datetime.c: accommodate a relatively strict gcc warning
7020         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
7021         to avoid a warning from gcc's -Werror=missing-declarations.
7022         Insert a few spaces-before-funcall-parenthesis.
7023
7024 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
7025
7026         parse-datetime: accept ISO 8601 date and time rep with "T" separator
7027         The parser now accepts ISO 8601 date-time strings with "T" as the
7028         separator.  It has long parsed dates like "2004-02-29 16:21:42"
7029         with a space between the date and time strings.  Now it also parses
7030         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
7031         variants like "2004-02-29T16:21:42.333-07:00"
7032         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
7033         of day representation using the 'T' separator character.
7034         * doc/parse-datetime.texi (General date syntax): replace use of
7035         deprecated --iso-8601 option with --rfc-3339 in example of date
7036         command output formats that can be parsed.
7037         * tests/test-parse-datetime.c (tm_diff): New function, taken from
7038         lib/parse-datetime.y.
7039         (gmt_offset): New function.
7040         (main): Add additional test cases to validate ISO8601 extended
7041         date and time of day parsing.
7042
7043 2011-08-31  Bruno Haible  <bruno@clisp.org>
7044
7045         freopen: Documentation.
7046         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
7047         name.
7048         Reported by Claudio Bley <claudio.bley@gmail.com>.
7049
7050 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
7051
7052         freopen: Don't crash if the filename argument is NULL.
7053         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
7054         NULL.
7055
7056 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
7057
7058         openat: work around AIX 7.1 fstatat bug
7059         Problem reported by Kevin Brott for GNU tar, in the thread containing
7060         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
7061         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
7062         FSTATAT_ST_SIZE_ETC_BROKEN.
7063         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
7064         rpl_fstatat.
7065         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
7066         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
7067         AC_CHECK_FUNCS_ONCE for fstatat.
7068         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
7069         fchmodat, mkdirat, openat and unlinkat.
7070
7071 2011-08-30  Bruno Haible  <bruno@clisp.org>
7072
7073         Avoid endless recursions if config.h includes some header files.
7074         * lib/fopen.c (__need_FILE): Define already before including config.h.
7075         * lib/freopen.c (__need_FILE): Likewise.
7076         * lib/open.c (__need_system_fcntl_h): Likewise.
7077         * lib/stat.c (__need_system_sys_stat_h): Likewise.
7078         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
7079         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7080
7081 2011-08-25  Karl Berry  <karl@gnu.org>
7082
7083         * config/srclist.txt (ylwrap): new try.
7084         * build-aux/ylwrap: new file.
7085
7086 2011-08-23  Bruno Haible  <bruno@clisp.org>
7087
7088         tmpdir: Use a good default directory on native Windows.
7089         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
7090         (P_tmpdir): Default to _P_tmpdir on native Windows.
7091         (path_search): On native Windows, try the value returned by GetTempPath
7092         before trying P_tmpdir.
7093         * modules/tmpdir (Depends-on): Add pathmax.
7094         Suggested by John Darrington <john@darrington.wattle.id.au>.
7095
7096 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
7097
7098         doc: fix typo in README-release
7099         * top/README-release: Capitalize first word of a sentence.
7100
7101 2011-08-19  Jim Meyering  <meyering@redhat.com>
7102
7103         fts: do not exhaust memory when processing million-entry directories
7104         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
7105         directory would require about 256*N bytes of memory.  Thus, it was
7106         easy to construct a directory too large to be processed by any of
7107         those tools.  With this change, fts' maximum memory utilization is
7108         now limited to around 30MB.
7109         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
7110         (fts_read): When we've processed the final entry (i.e., when
7111         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
7112         using the parent entry to read any remaining entries.  Dispatch
7113         depending on what fts_build returns:
7114         - NULL+stop, aka failure: stop
7115         - NULL otherwise: move up in the dir hierarchy
7116         - non-NULL: handle this new entry
7117         (fts_build): Declare and use new local, continue_readdir.
7118         Prepare to be called from fts_read, when the entries
7119         from a partially-read directory have just been exhausted.
7120         In that case, we'll skip the opendir and instead use the parent's
7121         fts_dirp and derive dir_fd from that.
7122         Finally, in the readdir loop, if we read max_entries entries,
7123         exit the loop ensuring *not* to call closedir.  This is required
7124         so that fts_dirp can be reused on a subsequent call.
7125         Prompted by Ben England's report of memory exhaustion in find
7126         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
7127
7128         maint: fts: move decl of `dp' down into while loop; split a long line
7129         * lib/fts.c (fts_build): No semantic change.
7130
7131         fts: add/use new struct member, fts_dirp
7132         We are about to use this to manage any directory with
7133         too many entries to read all of them into memory at once.
7134         To do that, we'll need to save the DIR* pointer in each
7135         affected FTSENT struct.
7136         * lib/fts_.h: Include <dirent.h>.
7137         (struct FTSENT) [fts_dirp]: New member.
7138         * lib/fts.c (closedir_and_clear): Define.
7139         Use it in place of closedir so that we are sure to
7140         clear the new fts_dirp member when done with it.
7141         (fts_alloc): Initialize the new member.
7142         (fts_lfree): Free, if needed.
7143
7144         maint: fts: give __opendir2 a new parameter and rename
7145         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
7146         than surreptitiously using sole caller's "dir_fd".
7147         (fts_opendir): Rename from __opendir2.
7148
7149         maint: fts.c: remove __opendir2's now-unused parameter, oflag
7150         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
7151
7152         maint: fts.c: correct off-by-one indentation
7153         * lib/fts.c (fts_build): Correct indentation, change style
7154         of a couple of block comments, and bracing style.
7155
7156         maint: fts.c: move __opendir2 #define "up" out of function body
7157         * lib/fts.c (__opendir2): Move "up".  No semantic change.
7158
7159         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
7160         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
7161         out for a long time and besides was useful only on BSD systems.
7162
7163 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7164
7165         regex: port to Stratus OpenVOS
7166         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
7167         define to empty, rather than attempting nonportable optimizations.
7168         Problem reported by Paul Green in:
7169         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
7170         and fix suggested by Eric Blake in:
7171         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
7172
7173 2011-08-17  Eric Blake  <eblake@redhat.com>
7174
7175         getcwd: fix test failures on mingw
7176         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
7177         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
7178         test if long directory cannot be created, and allow mingw errno.
7179
7180         getcwd-lgpl: fix m4 to match relaxed test for BSD
7181         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
7182         (gl_FUNC_GETCWD_SIGNATURE): New macro.
7183         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
7184         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
7185         signature problem.
7186
7187         getcwd: fix compilation on mingw64
7188         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
7189         getcwd.
7190         Reported by Marc-André Lureau.
7191
7192         pipe2: silence compiler warning
7193         * lib/pipe2.c (pipe2): Hide label if it is not used.
7194
7195 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
7196
7197         relocatable-prog: fix link error
7198         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
7199         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
7200         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
7201         into modules/relocatable-lib without noticing that
7202         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
7203         also needs to build relocatable.c.
7204
7205 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
7206
7207         getaddrinfo: fix sh typo in gai_strerrorA decl checking
7208         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
7209         shell code: it contained a 'break' that was not in a loop.
7210         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
7211         via a shell-language loop; this may have been true in old Autoconf
7212         versions, but it's not true in Autoconf 2.68.  I found this bug
7213         when testing coreutils git on Solaris 8, whose shell complains
7214         about the syntax error.
7215
7216 2011-08-12  Simon Josefsson  <simon@josefsson.org>
7217
7218         * lib/base64.c: Fix comment to reference RFC 4648.
7219         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
7220         <gvtulder@gmail.com>.
7221
7222 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7223
7224         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
7225
7226         po/Makefile.in.in: fix make -q problem
7227         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
7228         rule, since there's no file named 'check-macro-version' and its
7229         use as a file breaks make -q.
7230         (all): Don't depend on check-macro-version.
7231         (CHECK_MACRO_VERSION): New macro.
7232         (stamp-po): Use it.
7233
7234         configmake: fix make -q problem
7235         * modules/configmake (configmake.h): Update configmake.h's time stamp
7236         even if the file does not change.  Otherwise, 'make -q' fails.
7237         Problem reported by Simon Josefsson in
7238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
7239
7240 2011-08-11  Jim Meyering  <meyering@redhat.com>
7241
7242         git-version-gen: correct the advice in a comment
7243         * build-aux/git-version-gen: Correct comment.
7244         Don't recommend to list .tarball-version in .gitignore.
7245
7246 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7247
7248         base64: fix off-by-one buffer size bug
7249         Problem and (trivial) fix reported by Gijs van Tulder in
7250         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
7251         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
7252         * tests/test-base64.c (main): Catch the bug.
7253
7254 2011-08-10  Eric Blake  <eblake@redhat.com>
7255
7256         closein: correct comments
7257         * lib/closein.c (close_stdin): Improve comments.
7258
7259 2011-08-09  Bruno Haible  <bruno@clisp.org>
7260
7261         More tests for 'fseeko'.
7262         * tests/test-fseeko3.c: New file, from Eric Blake.
7263         * tests/test-fseeko3.sh: New file.
7264         * modules/fseeko-tests (Files): Add them.
7265         (TESTS): Add test-fseeko3.sh.
7266         (check_PROGRAMS): Add test-fseeko3.
7267
7268 2011-08-09  Eric Blake  <eblake@redhat.com>
7269
7270         fseeko: remove unneeded hack
7271         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
7272
7273         fseeko: fix bug on glibc
7274         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
7275         Reported by John W. Eaton.
7276
7277 2011-08-08  Bruno Haible  <bruno@clisp.org>
7278
7279         unictype/base: Fix interoperability with preinstalled libunistring.
7280         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
7281         Reported by Simon Josefsson.
7282
7283 2011-08-08  Bruno Haible  <bruno@clisp.org>
7284
7285         iswblank: Detect declaration correctly.
7286         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
7287         AC_CHECK_DECLS invocation.
7288
7289 2011-08-08  Bruno Haible  <bruno@clisp.org>
7290
7291         tcgetsid: Detect declaration correctly.
7292         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
7293         AC_CHECK_DECLS invocation.
7294         Reported by Simon Josefsson.
7295
7296 2011-08-08  Eric Blake  <eblake@redhat.com>
7297
7298         largefile: fix typo that regressed large file support
7299         * modules/largefile (configure.ac-early): Fix section name.
7300
7301 2011-08-06  Karl Berry  <karl@gnu.org>
7302
7303         * MODULES.html.sh (func_all_files): _Noreturn is no longer
7304         a separate module.
7305
7306 2011-08-05  Simon Josefsson  <simon@josefsson.org>
7307
7308         openat: Fix warnings and commens when building unlinkat.c on Hurd.
7309         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
7310         get prototype for free.
7311
7312 2011-08-04  Bruno Haible  <bruno@clisp.org>
7313
7314         Tests for module 'pathmax'.
7315         * modules/pathmax-tests: New file.
7316         * tests/test-pathmax.c: New file.
7317
7318         canonicalize-lgpl: Support larger filenames on the Hurd.
7319         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
7320         Reported by Paul Eggert.
7321
7322         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
7323         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
7324         * lib/chdir-long.h: Include pathmax.h.
7325         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
7326         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
7327         (PATH_MAX): Remove code that is done by pathmax.h.
7328         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
7329         * lib/tmpfile.c: Add a comment.
7330         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
7331         * modules/chdir-long (Depends-on): Add pathmax.
7332         * modules/getcwd (Depends-on): Add pathmax.
7333         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
7334         is not defined.
7335         * doc/posix-headers/limits.texi: Mention the pathmax module.
7336         * NEWS: Mention the change.
7337
7338 2011-08-02  Bruno Haible  <bruno@clisp.org>
7339
7340         pthread_sigmask: Actually use results of gl_THREADLIB.
7341         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
7342         gl_THREADLIB, not gl_[]THREADLIB.
7343         Reported by Eric Blake.
7344
7345 2011-08-02  Jim Meyering  <meyering@redhat.com>
7346
7347         maint.mk: relax the default _gl_TS_function_match regexp
7348         * top/maint.mk (_gl_TS_function_match): Don't require at least one
7349         space between function name and "(" in an "extern" declaration.
7350         That would fail to match a decl with no space there: extern void foo();
7351
7352 2011-07-31  Iain Nicol  <iain@thenicols.net>
7353
7354         git-version-gen: document that EXTRA_DIST must include .version
7355         * build-aux/git-version-gen: In the how-to-use comment, document
7356         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
7357         will fail when run from an unpacked distribution tarball.
7358
7359 2011-08-01  Bruno Haible  <bruno@clisp.org>
7360
7361         wctype-h: Fix last change.
7362         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
7363         REPLACE_TOWLOWER to 0.
7364         Reported by Sam Steingold <sds@gnu.org>.
7365
7366 2011-07-31  Bruno Haible  <bruno@clisp.org>
7367
7368         frexpl: Update autoconf test.
7369         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
7370         according to changes of 2011-06-20.
7371
7372 2011-07-31  Bruno Haible  <bruno@clisp.org>
7373
7374         sys_utsname: Add support for Minix.
7375         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
7376         <sys/utsname.h>.
7377         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7378         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
7379
7380 2011-07-31  Bruno Haible  <bruno@clisp.org>
7381
7382         strings: Add support for Minix.
7383         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
7384         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
7385         * doc/posix-headers/strings.texi: Document the Minix problem.
7386
7387 2011-07-31  Bruno Haible  <bruno@clisp.org>
7388
7389         wctype-h: Add support for Minix.
7390         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
7391         REPLACE_TOWLOWER.
7392         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
7393         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
7394         REPLACE_ISWCNTRL.
7395
7396 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
7397
7398         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
7399         This is a performance improvement for 64-bit hosts: it causes the
7400         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
7401
7402 2011-07-31  Bruno Haible  <bruno@clisp.org>
7403
7404         stdioext: Add support for Minix.
7405         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
7406         * lib/fpurge.c (fpurge): Likewise.
7407         * lib/freadahead.c (freadahead): Likewise.
7408         * lib/freadable.c (freadable): Likewise.
7409         * lib/freading.c (freading): Likewise.
7410         * lib/freadptr.c (freadptr): Likewise.
7411         * lib/freadseek.c (freadptrinc): Likewise.
7412         * lib/fseeko.c (rpl_fseeko): Likewise.
7413         * lib/fseterr.c (fseterr): Likewise.
7414         * lib/fwritable.c (fwritable): Likewise.
7415         * lib/fwriting.c (fwriting): Likewise.
7416         * lib/fflush.c (clear_ungetc_buffer): Update comment.
7417         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
7418
7419 2011-07-31  Bruno Haible  <bruno@clisp.org>
7420
7421         errno: Port to Minix.
7422         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
7423         ECONNABORTED are defined.
7424         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
7425         GNULIB_defined_ECONNABORTED): New macros.
7426         * lib/strerror-override.h (strerror_override): Test also
7427         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
7428         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
7429         ECONNABORTED.
7430         * doc/posix-headers/errno.texi: Mention the Minix problem.
7431
7432 2011-07-31  Bruno Haible  <bruno@clisp.org>
7433
7434         Work around declaration collisions on Minix.
7435         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
7436         defined, set REPLACE_MBSINIT.
7437         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
7438         defined, set REPLACE_MBRTOWC.
7439         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
7440         set REPLACE_MBRLEN.
7441         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
7442         defined, set REPLACE_MBSRTOWCS.
7443         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
7444         defined, set REPLACE_WCRTOMB.
7445         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
7446         defined, set REPLACE_WCSRTOMBS.
7447
7448 2011-07-31  Bruno Haible  <bruno@clisp.org>
7449
7450         Add support for Minix with ACK compiler.
7451         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
7452         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
7453         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
7454
7455 2011-07-31  Bruno Haible  <bruno@clisp.org>
7456
7457         Documentation about Minix.
7458         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
7459         * doc/glibc-headers/*.texi: Likewise.
7460         * doc/posix-functions/*.texi: Likewise.
7461         * doc/glibc-functions/*.texi: Likewise.
7462
7463 2011-07-31  Bruno Haible  <bruno@clisp.org>
7464
7465         snippet/warn-on-use: Fix indentation.
7466         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
7467
7468 2011-07-25  Jim Meyering  <meyering@redhat.com>
7469
7470         tests: test-update-copyright.sh: remove unnecessary "rm" commands
7471         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
7472         commands.
7473
7474 2011-07-27  Jim Meyering  <meyering@redhat.com>
7475
7476         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
7477         * top/maint.mk (gl_extract_significant_defines_): Now that
7478         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
7479         gnulib/lib/signal.in.h, and now that we recommend to
7480         define-if-undefined those two symbols in application code,
7481         we must filter them out of the "significant" list.
7482         This avoids a "make syntax-check" failure in coreutils.
7483
7484 2011-07-26  Eric Blake  <eblake@redhat.com>
7485
7486         warnings: add comments about previous patch
7487         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
7488         * m4/include_next.m4: Likewise.
7489         * m4/warn-on-use.m4: Likewise.
7490         * m4/warnings.m4: Likewise, and simplify use.
7491         Suggested by Stefano Lattarini.
7492
7493         include-next, warnings: support older autoconf
7494         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
7495         AS_VAR_PUSHDEF in a way that works with older autoconf.
7496         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
7497         Reported by Daniel P. Berrange.
7498
7499 2011-07-25  Bruno Haible  <bruno@clisp.org>
7500
7501         fseek, ftell: Fix doc.
7502         * doc/posix-functions/fseek.texi: Reword statement about
7503         AC_SYS_LARGEFILE.
7504         * doc/posix-functions/ftell.texi: Likewise.
7505
7506 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7507             Bruno Haible  <bruno@clisp.org>
7508
7509         Add dependencies to the 'largefile' module.
7510         * modules/fopen (Depends-on): Add 'largefile'.
7511         * modules/freopen (Depends-on): Likewise.
7512         * modules/fseeko (Depends-on): Likewise.
7513         * modules/ftello (Depends-on): Likewise.
7514         * modules/glob (Depends-on): Likewise.
7515         * modules/lseek (Depends-on): Likewise.
7516         * modules/lstat (Depends-on): Likewise.
7517         * modules/mkostemp (Depends-on): Likewise.
7518         * modules/mkostemps (Depends-on): Likewise.
7519         * modules/mkstemp (Depends-on): Likewise.
7520         * modules/mkstemps (Depends-on): Likewise.
7521         * modules/open (Depends-on): Likewise.
7522         * modules/openat (Depends-on): Likewise.
7523         * modules/pread (Depends-on): Likewise.
7524         * modules/pwrite (Depends-on): Likewise.
7525         * modules/scandir (Depends-on): Likewise.
7526         * modules/stat (Depends-on): Likewise.
7527         * modules/tmpfile (Depends-on): Likewise.
7528         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
7529         since the containing module now depends on the largefile module.
7530         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
7531         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
7532         off_t is fixed by gnulib.
7533         * doc/posix-functions/freopen.texi: Likewise.
7534         * doc/posix-functions/fseeko.texi: Likewise.
7535         * doc/posix-functions/fstatat.texi: Likewise.
7536         * doc/posix-functions/ftello.texi: Likewise.
7537         * doc/posix-functions/glob.texi: Likewise.
7538         * doc/posix-functions/lseek.texi: Likewise.
7539         * doc/posix-functions/lstat.texi: Likewise.
7540         * doc/posix-functions/mkstemp.texi: Likewise.
7541         * doc/posix-functions/open.texi: Likewise.
7542         * doc/posix-functions/openat.texi: Likewise.
7543         * doc/posix-functions/pread.texi: Likewise.
7544         * doc/posix-functions/pwrite.texi: Likewise.
7545         * doc/posix-functions/scandir.texi: Likewise.
7546         * doc/posix-functions/stat.texi: Likewise.
7547         * doc/posix-functions/tmpfile.texi: Likewise.
7548         * doc/glibc-functions/mkostemp.texi: Likewise.
7549         * doc/glibc-functions/mkostemps.texi: Likewise.
7550         * doc/glibc-functions/mkstemps.texi: Likewise.
7551
7552 2011-07-25  Bruno Haible  <bruno@clisp.org>
7553
7554         fcntl: Move AC_LIBOBJ invocation to module description.
7555         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
7556         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
7557
7558         fcntl: Remove call-in from fchdir.m4.
7559         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
7560         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
7561
7562         dup3: Remove potential call-in from fchdir.m4.
7563         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
7564         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
7565
7566         dup2: Move AC_LIBOBJ invocation to module description.
7567         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
7568         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
7569         Don't invoke AC_LIBOBJ.
7570         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
7571
7572         dup2: Remove call-in from fchdir.m4.
7573         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
7574         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
7575
7576         fclose: Move AC_LIBOBJ invocation to module description.
7577         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
7578         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
7579         to 1.
7580         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
7581
7582         fclose: Remove call-in from close.m4.
7583         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
7584         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
7585
7586         close: Move AC_LIBOBJ invocation to module description.
7587         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
7588         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
7589         1.
7590         * modules/close (configure.ac): Invoke AC_LIBOBJ.
7591
7592         close: Remove call-in from fchdir.m4.
7593         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
7594         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
7595
7596         open: Move AC_LIBOBJ invocation to module description.
7597         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
7598         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
7599         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
7600
7601         open: Remove call-in from fchdir.m4.
7602         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
7603         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
7604
7605         fchdir: Start to remove gl_REPLACE_* idiom.
7606         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
7607         (gl_FUNC_FCHDIR): Invoke it.
7608
7609 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
7610
7611         * lib/ftell.c (ftell): Comment out cast.
7612
7613         close: use gl_REPLACE_FCLOSE only if defined
7614         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
7615         is defined.  The close module doesn't depend on the fclose module
7616         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
7617         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
7618         I reproduced the problem with "./gnulib-tool --test close sys_socket".
7619
7620 2011-07-24  Jim Meyering  <meyering@redhat.com>
7621
7622         test-select.h: avoid warning when using gcc's -Wmissing-declarations
7623         * tests/test-select.h (test_function): Declare as "static".
7624
7625 2011-07-24  Bruno Haible  <bruno@clisp.org>
7626
7627         doc: Mention the effects of AC_SYS_LARGEFILE.
7628         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
7629         on this function.
7630         * doc/posix-functions/aio_error.texi: Likewise.
7631         * doc/posix-functions/aio_fsync.texi: Likewise.
7632         * doc/posix-functions/aio_read.texi: Likewise.
7633         * doc/posix-functions/aio_return.texi: Likewise.
7634         * doc/posix-functions/aio_suspend.texi: Likewise.
7635         * doc/posix-functions/aio_write.texi: Likewise.
7636         * doc/posix-functions/fgetpos.texi: Likewise.
7637         * doc/posix-functions/fopen.texi: Likewise.
7638         * doc/posix-functions/freopen.texi: Likewise.
7639         * doc/posix-functions/fsetpos.texi: Likewise.
7640         * doc/posix-functions/fstatvfs.texi: Likewise.
7641         * doc/posix-functions/ftruncate.texi: Likewise.
7642         * doc/posix-functions/ftw.texi: Likewise.
7643         * doc/posix-functions/getrlimit.texi: Likewise.
7644         * doc/posix-functions/glob.texi: Likewise.
7645         * doc/posix-functions/lio_listio.texi: Likewise.
7646         * doc/posix-functions/lockf.texi: Likewise.
7647         * doc/posix-functions/mkstemp.texi: Likewise.
7648         * doc/posix-functions/mmap.texi: Likewise.
7649         * doc/posix-functions/nftw.texi: Likewise.
7650         * doc/posix-functions/openat.texi: Likewise.
7651         * doc/posix-functions/opendir.texi: Likewise.
7652         * doc/posix-functions/posix_fadvise.texi: Likewise.
7653         * doc/posix-functions/posix_fallocate.texi: Likewise.
7654         * doc/posix-functions/pread.texi: Likewise.
7655         * doc/posix-functions/pwrite.texi: Likewise.
7656         * doc/posix-functions/readdir.texi: Likewise.
7657         * doc/posix-functions/readdir_r.texi: Likewise.
7658         * doc/posix-functions/rewinddir.texi: Likewise.
7659         * doc/posix-functions/scandir.texi: Likewise.
7660         * doc/posix-functions/seekdir.texi: Likewise.
7661         * doc/posix-functions/setrlimit.texi: Likewise.
7662         * doc/posix-functions/statvfs.texi: Likewise.
7663         * doc/posix-functions/telldir.texi: Likewise.
7664         * doc/posix-functions/tmpfile.texi: Likewise.
7665         * doc/posix-functions/truncate.texi: Likewise.
7666         * doc/glibc-functions/fallocate.texi: Likewise.
7667         * doc/glibc-functions/fstatfs.texi: Likewise.
7668         * doc/glibc-functions/fts_children.texi: Likewise.
7669         * doc/glibc-functions/fts_read.texi: Likewise.
7670         * doc/glibc-functions/getdirentries.texi: Likewise.
7671         * doc/glibc-functions/mkostemp.texi: Likewise.
7672         * doc/glibc-functions/mkostemps.texi: Likewise.
7673         * doc/glibc-functions/mkstemps.texi: Likewise.
7674         * doc/glibc-functions/preadv.texi: Likewise.
7675         * doc/glibc-functions/pwritev.texi: Likewise.
7676         * doc/glibc-functions/sendfile.texi: Likewise.
7677         * doc/glibc-functions/statfs.texi: Likewise.
7678
7679 2011-07-24  Bruno Haible  <bruno@clisp.org>
7680
7681         doc: Fix typo.
7682         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
7683
7684 2011-07-24  Bruno Haible  <bruno@clisp.org>
7685
7686         doc: Mention fsusage.
7687         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
7688
7689 2011-07-24  Bruno Haible  <bruno@clisp.org>
7690
7691         doc: Mention new glibc headers and functions.
7692         * doc/glibc-headers/gshadow.texi: New file.
7693         * doc/glibc-functions/endsgent.texi: New file.
7694         * doc/glibc-functions/fgetsgent.texi: New file.
7695         * doc/glibc-functions/fgetsgent_r.texi: New file.
7696         * doc/glibc-functions/getsgent.texi: New file.
7697         * doc/glibc-functions/getsgent_r.texi: New file.
7698         * doc/glibc-functions/getsgnam.texi: New file.
7699         * doc/glibc-functions/getsgnam_r.texi: New file.
7700         * doc/glibc-functions/putsgent.texi: New file.
7701         * doc/glibc-functions/setsgent.texi: New file.
7702         * doc/glibc-functions/sgetsgent.texi: New file.
7703         * doc/glibc-functions/sgetsgent_r.texi: New file.
7704         * doc/glibc-functions/malloc_info.texi: New file.
7705         * doc/glibc-functions/preadv.texi: New file.
7706         * doc/glibc-functions/pwritev.texi: New file.
7707         * doc/glibc-functions/register_printf_modifier.texi: New file.
7708         * doc/glibc-functions/register_printf_specifier.texi: New file.
7709         * doc/glibc-functions/register_printf_type.texi: New file.
7710         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
7711         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
7712         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
7713         * doc/glibc-functions/pthread_getname_np.texi: New file.
7714         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
7715         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
7716         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
7717         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
7718         * doc/glibc-functions/pthread_setname_np.texi: New file.
7719         * doc/glibc-functions/pthread_sigqueue.texi: New file.
7720         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
7721         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
7722         * doc/glibc-functions/qsort_r.texi: New file.
7723         * doc/glibc-functions/quick_exit.texi: New file.
7724         * doc/glibc-functions/syncfs.texi: New file.
7725         * doc/gnulib.texi: Include them.
7726         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
7727         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
7728         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
7729         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
7730         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
7731         * doc/glibc-functions/execvpe.texi: Likewise.
7732
7733 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7734
7735         ftell: don't include <unistd.h>
7736         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
7737         guaranteed to define off_t, and the ftell module depends on the
7738         stdio module.
7739
7740         ftell: do not assume wraparound signed arithmetic
7741         * lib/ftell.c: Include <limits.h>.
7742         (ftell): Don't assume wraparound signed arithmetic.
7743
7744 2011-07-24  Bruno Haible  <bruno@clisp.org>
7745
7746         close: No longer depend on module 'fclose'.
7747         * modules/close (Depends-on): Remove fclose.
7748         * NEWS: Mention the change.
7749         Suggested by Sam Steingold <sds@gnu.org>.
7750
7751 2011-07-24  Bruno Haible  <bruno@clisp.org>
7752
7753         fsusage: Enable large volume support on AIX >= 5.2.
7754         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
7755         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
7756         instead of STAT_STATVFS.
7757         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
7758
7759         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
7760         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
7761         f_blocks field only on MacOS X.
7762
7763         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
7764         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
7765         * modules/fsusage (Depends-on): Add largefile.
7766
7767 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7768
7769         * README: Modernize discussion of signed integers.
7770         Assuming overflow wraparound is no longer safe.
7771         Mention ones' complement and signed magnitude.
7772
7773 2011-07-22  Bruno Haible  <bruno@clisp.org>
7774
7775         select tests, pselect tests: Refactor.
7776         * tests/test-select.h: New file, extracted from tests/test-select.c.
7777         (select_fn): New type.
7778         (test, do_select, do_select_nowait, do_select_wait, test_tty,
7779         test_connect_first, test_accept_first, test_pair, test_socket_pair,
7780         test_pipe): Add my_select argument.
7781         (test_function): Renamed from main. Add my_select argument.
7782         * tests/test-select.c: Move most code to tests/test-select.h. Include
7783         test-select.h.
7784         * modules/select-tests (Files): Add tests/test-select.h.
7785         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
7786         (my_select, main): New functions.
7787         * modules/pselect-tests (Files): Add tests/test-select.h,
7788         tests/macros.h, tests/signature.h.
7789         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
7790         (configure.ac): Check for <sys/wait.h>.
7791
7792 2011-07-22  Bruno Haible  <bruno@clisp.org>
7793
7794         sys_select tests: Check the signature of FD_*.
7795         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
7796         signature tests from here...
7797         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
7798         here.
7799         * modules/sys_select-tests (Files): Add tests/signature.h.
7800
7801 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7802
7803         largefile: new module, replacing large-inode
7804         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
7805         * MODULES.html.sh: Add largefile, remove large-inode.
7806         * modules/largefile, m4/largefile.m4: New files.
7807         * modules/large-inode, m4/large-inode.m4: Remove.
7808
7809         fsusage: port to MacOS X 10.7 with 4 TiB file systems
7810         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
7811         implementations that use only 32 bits to count blocks.
7812         On typical hosts with 1024-byte blocks, this fails with file
7813         systems as small as 4 TiB.  Problem reported by Herb Wartens
7814         <http://debbugs.gnu.org/9140> and this should also fix a similar
7815         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
7816
7817         large-inode: New module
7818         * MODULES.html.sh: Add it.
7819         * modules/large-inode, m4/large-inode.m4: New files.
7820
7821         extensions: Enable extensions on MacOS X 10.5 and later.
7822         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
7823
7824 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
7825
7826         file-has-acl: use acl_extended_file_nofollow if available
7827         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
7828         (acl_extended_file): New macro.
7829         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
7830         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
7831
7832 2011-07-21  Bruno Haible  <bruno@clisp.org>
7833
7834         Declare system functions in a way that works with C++.
7835         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
7836         declare fdopendir as extern "C".
7837         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
7838         declare frexpl as extern "C".
7839         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
7840         declare gai_strerror as extern "C".
7841         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
7842         programs, declare gai_strerror as extern "C".
7843         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
7844         declare getlogin_r as extern "C".
7845         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
7846         as extern "C".
7847         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
7848         declare ldexpl as extern "C".
7849         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
7850         as extern "C".
7851         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
7852         program, declare getmntinfo as extern "C".
7853         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
7854         stpncpy as extern "C".
7855         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
7856         program, declare __xpg_strerror_r as extern "C".
7857         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
7858         strndup as extern "C".
7859         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
7860         declare memset and bzero as extern "C".
7861         Reported by Sam Steingold <sds@gnu.org>.
7862
7863 2011-07-12  Jim Meyering  <meyering@redhat.com>
7864
7865         maint.mk: prohibit inclusion of "verify.h" without use
7866         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
7867
7868 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7869
7870         timer-time: A new module to check for timer_settime()
7871         * m4/timer_time.m4: Check for the posix function.
7872         * modules/timer-time: Add the new module.
7873         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
7874         Mention it.
7875
7876 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
7877             Bruno Haible  <bruno@clisp.org>
7878
7879         pthread_sigmask: assume POSIX threads if --avoid=threadlib
7880         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
7881         not defined, assume POSIX threads and look for pthread_sigmask in
7882         $LIBS, without changing $CPPFLAGS.
7883
7884 2011-07-19  Bruno Haible  <bruno@clisp.org>
7885
7886         strstr: Update cross-compilation guess.
7887         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
7888         CPUs, guess no, in view of glibc
7889         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
7890         Suggested by Eric Blake. Reported by Reuben Thomas.
7891
7892 2011-07-19  Pádraig Brady  <P@draigBrady.com>
7893
7894         getopt-gnu: suppress core dumps from detection code
7895         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
7896         to suppress core dumps that may well occur on glibc systems.
7897         * modules/getopt-gnu: Depend on nocrash.
7898
7899 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7900
7901         pthread_sigmask: ensure usleep is declared
7902         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
7903         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
7904
7905 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
7906
7907         doc: Document NonStop portability issues.
7908         * doc/posix-functions/sigaction.texi (sigaction):
7909         * doc/posix-headers/signal.texi (signal.h):
7910         Document NonStop.  See Joachim Schmitz in
7911         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
7912
7913 2011-07-15  Bruno Haible  <bruno@clisp.org>
7914
7915         ffsl, ffsll: Avoid unportable behaviour.
7916         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
7917
7918 2011-07-15  Bruno Haible  <bruno@clisp.org>
7919
7920         ffs: More tests.
7921         * tests/test-ffs.c (NBITS): New macro.
7922         (main): Add more tests.
7923         * tests/test-ffsl.c (NBITS): New macro.
7924         (main): Add more tests.
7925         * tests/test-ffsll.c (NBITS): New macro.
7926         (main): Add more tests.
7927
7928 2011-07-15  Eric Blake  <eblake@redhat.com>
7929
7930         ffsl, ffsll: new modules
7931         * modules/ffsl: New file.
7932         * modules/ffsll: Likewise.
7933         * m4/ffsl.m4: Likewise.
7934         * m4/ffsll.m4: Likewise.
7935         * lib/ffsl.c: Likewise.
7936         * lib/ffsl.h: Likewise.
7937         * lib/ffsll.c: Likewise.
7938         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
7939         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
7940         * modules/string (Makefile.am): Substitute witnesses.
7941         * lib/strings.in.h (ffsl, ffsll): Declare.
7942         * modules/ffsl-tests: New test file.
7943         * modules/ffsll-tests: Likewise.
7944         * tests/test-ffsl.c: Likewise.
7945         * tests/test-ffsll.c: Likewise.
7946         * MODULES.html.sh (Integer arithmetic functions): Mention it.
7947         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
7948         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
7949
7950         ffs: fix m4 prerequisite
7951         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
7952
7953         ffs: avoid undefined behavior
7954         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
7955         * tests/test-ffs.c (naive, main): Avoid signed shifts.
7956         Reported by Bruno Haible.
7957
7958 2011-07-12  Bruno Haible  <bruno@clisp.org>
7959
7960         pthread_sigmask: Rely on module 'threadlib'.
7961         * modules/pthread_sigmask (Depends-on): Add threadlib.
7962         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
7963         is defined.
7964
7965 2011-07-12  Bruno Haible  <bruno@clisp.org>
7966
7967         regex: Depend on module 'strcase'.
7968         * modules/regex (Depends-on): Add strcase, for strcasecmp().
7969
7970 2011-07-12  Jim Meyering  <meyering@redhat.com>
7971
7972         warn-on-use: fix typo in file name
7973         * modules/snippet/warn-on-use (Files): Correct file name:
7974         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
7975
7976 2011-07-12  Bruno Haible  <bruno@clisp.org>
7977
7978         strings: Document module.
7979         * doc/posix-headers/strings.texi: Mention module 'strings'.
7980
7981 2011-07-12  Bruno Haible  <bruno@clisp.org>
7982
7983         Rename module '_Noreturn' to 'snippet/_Noreturn'.
7984         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
7985         (Files, Makefile.am): Update.
7986         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
7987         * modules/stdlib (Depends-on): Update.
7988
7989 2011-07-12  Bruno Haible  <bruno@clisp.org>
7990
7991         * NEWS: Mention the changes.
7992
7993         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
7994         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
7995         (Files, Makefile.am): Update.
7996         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
7997         * modules/arpa_inet (Depends-on): Update.
7998         * modules/ctype (Depends-on): Update.
7999         * modules/dirent (Depends-on): Update.
8000         * modules/fcntl-h (Depends-on): Update.
8001         * modules/glob (Depends-on): Update.
8002         * modules/iconv-h (Depends-on): Update.
8003         * modules/inttypes-incomplete (Depends-on): Update.
8004         * modules/langinfo (Depends-on): Update.
8005         * modules/locale (Depends-on): Update.
8006         * modules/math (Depends-on): Update.
8007         * modules/netdb (Depends-on): Update.
8008         * modules/poll-h (Depends-on): Update.
8009         * modules/pty (Depends-on): Update.
8010         * modules/search (Depends-on): Update.
8011         * modules/signal (Depends-on): Update.
8012         * modules/spawn (Depends-on): Update.
8013         * modules/stdio (Depends-on): Update.
8014         * modules/stdlib (Depends-on): Update.
8015         * modules/string (Depends-on): Update.
8016         * modules/strings (Depends-on): Update.
8017         * modules/sys_file (Depends-on): Update.
8018         * modules/sys_ioctl (Depends-on): Update.
8019         * modules/sys_select (Depends-on): Update.
8020         * modules/sys_socket (Depends-on): Update.
8021         * modules/sys_stat (Depends-on): Update.
8022         * modules/sys_time (Depends-on): Update.
8023         * modules/sys_times (Depends-on): Update.
8024         * modules/sys_utsname (Depends-on): Update.
8025         * modules/sys_wait (Depends-on): Update.
8026         * modules/termios (Depends-on): Update.
8027         * modules/time (Depends-on): Update.
8028         * modules/unistd (Depends-on): Update.
8029         * modules/wchar (Depends-on): Update.
8030         * modules/wctype-h (Depends-on): Update.
8031         * MODULES.html.sh (Support for building libraries and executables):
8032         Update.
8033
8034         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
8035         * modules/snippet/unused-parameter: Renamed from
8036         modules/unused-parameter.
8037         (Files, Makefile.am): Update.
8038         * build-aux/snippet/unused-parameter.h: Renamed from
8039         build-aux/unused-parameter.h.
8040         * modules/selinux-h (Depends-on): Update.
8041         * modules/unistr/base (Depends-on): Update.
8042         * MODULES.html.sh (Core language properties): Update.
8043
8044         Rename module 'link-warning' to 'snippet/link-warning'.
8045         * modules/snippet/link-warning: Renamed from modules/link-warning.
8046         (Files, Makefile.am): Update.
8047         * build-aux/snippet/link-warning.h: Renamed from
8048         build-aux/link-warning.h.
8049         * MODULES.html.sh (Support for building libraries and executables):
8050         Update.
8051
8052         Rename module 'c++defs' to 'snippet/c++defs'.
8053         * modules/snippet/c++defs: Renamed from modules/c++defs.
8054         (Files, Makefile.am): Update.
8055         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
8056         * modules/arpa_inet (Depends-on): Update.
8057         * modules/ctype (Depends-on): Update.
8058         * modules/dirent (Depends-on): Update.
8059         * modules/fcntl-h (Depends-on): Update.
8060         * modules/glob (Depends-on): Update.
8061         * modules/iconv-h (Depends-on): Update.
8062         * modules/langinfo (Depends-on): Update.
8063         * modules/locale (Depends-on): Update.
8064         * modules/math (Depends-on): Update.
8065         * modules/netdb (Depends-on): Update.
8066         * modules/poll-h (Depends-on): Update.
8067         * modules/pty (Depends-on): Update.
8068         * modules/search (Depends-on): Update.
8069         * modules/signal (Depends-on): Update.
8070         * modules/spawn (Depends-on): Update.
8071         * modules/stdio (Depends-on): Update.
8072         * modules/stdlib (Depends-on): Update.
8073         * modules/string (Depends-on): Update.
8074         * modules/strings (Depends-on): Update.
8075         * modules/sys_ioctl (Depends-on): Update.
8076         * modules/sys_select (Depends-on): Update.
8077         * modules/sys_socket (Depends-on): Update.
8078         * modules/sys_stat (Depends-on): Update.
8079         * modules/sys_time (Depends-on): Update.
8080         * modules/sys_wait (Depends-on): Update.
8081         * modules/termios (Depends-on): Update.
8082         * modules/time (Depends-on): Update.
8083         * modules/unistd (Depends-on): Update.
8084         * modules/wchar (Depends-on): Update.
8085         * modules/wctype-h (Depends-on): Update.
8086
8087         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
8088         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
8089         (Files, Makefile.am): Update.
8090         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
8091         * modules/argv-iter (Depends-on): Update.
8092         * modules/arpa_inet (Depends-on): Update.
8093         * modules/dirent (Depends-on): Update.
8094         * modules/fcntl-h (Depends-on): Update.
8095         * modules/fnmatch (Depends-on): Update.
8096         * modules/getopt-posix (Depends-on): Update.
8097         * modules/glob (Depends-on): Update.
8098         * modules/iconv-h (Depends-on): Update.
8099         * modules/inttypes-incomplete (Depends-on): Update.
8100         * modules/locale (Depends-on): Update.
8101         * modules/math (Depends-on): Update.
8102         * modules/netdb (Depends-on): Update.
8103         * modules/search (Depends-on): Update.
8104         * modules/signal (Depends-on): Update.
8105         * modules/spawn (Depends-on): Update.
8106         * modules/stdio (Depends-on): Update.
8107         * modules/stdlib (Depends-on): Update.
8108         * modules/string (Depends-on): Update.
8109         * modules/strings (Depends-on): Update.
8110         * modules/sys_socket (Depends-on): Update.
8111         * modules/sys_stat (Depends-on): Update.
8112         * modules/sys_time (Depends-on): Update.
8113         * modules/sys_times (Depends-on): Update.
8114         * modules/sys_utsname (Depends-on): Update.
8115         * modules/time (Depends-on): Update.
8116         * modules/unistd (Depends-on): Update.
8117         * modules/wchar (Depends-on): Update.
8118         * MODULES.html.sh (Support for building libraries and executables):
8119         Update.
8120
8121 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8122
8123         Improvements on _Noreturn and related modules.
8124
8125         modules/_Exit-tests: test _Noreturn too
8126         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
8127         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
8128         (main): Use them.
8129
8130         stdnoreturn, stdnoreturn-tests: remove modules
8131         They're not needed here and a bit premature for use elsewhere.  See
8132         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
8133         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8134         * tests/test-stdnoreturn.c: Remove files.
8135         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
8136         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
8137         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
8138         and using noreturn.
8139         * modules/openat, modules/sigpipe-die, modules/xalloc:
8140         * modules/xmemdup0, modules/xstrtol:
8141         Remove dependency on stdnoreturn.
8142
8143         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
8144         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
8145         Reparenthesize to avoid GCC warning.
8146         Support Microsoft's syntax.
8147         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
8148
8149         _Noreturn-tests: remove module
8150         * modules/_Noreturn-tests: Remove.
8151         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
8152         * tests/test-_Noreturn.c: Remove.
8153         * tests/test-stdnoreturn.c: Merge from the old
8154         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
8155
8156 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
8157
8158         _Noreturn, stdnoreturn, and related modules.
8159
8160         * top/maint.mk: Adjust to new noreturn support.
8161         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
8162         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
8163
8164         xalloc: use stdnoreturn.h
8165         * lib/xalloc.h: Include <stdnoreturn.h>.
8166         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8167         * modules/xalloc (Depends-on): Add stdnoreturn.
8168
8169         xstrtol: use stdnoreturn.h
8170         * lib/xstrtol.h: Include <stdnoreturn.h>.
8171         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8172         * modules/xstrtol (Depends-on): Add stdnoreturn.
8173
8174         xmemdup0: use stdnoreturn.h
8175         * lib/xmemdup0.h: Include <stdnoreturn.h>.
8176         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8177         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
8178
8179         sigpipe-die: use stdnoreturn.h
8180         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
8181         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8182         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
8183
8184         openat: use stdnoreturn.h
8185         * lib/openat.h: Include <stdnoreturn.h>.
8186         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
8187         * modules/openat (Depends-on): Add stdnoreturn.
8188
8189         * lib/openat-die.c (openat_save_fail): Modernize comment.
8190
8191         * lib/xalloc-die.c (xalloc_die): Modernize comment.
8192
8193         * lib/glthread/thread.h: Modernize comment.
8194
8195         obstack: use _Noreturn
8196         * lib/obstack.c (__attribute__): Remove macro.
8197         (print_and_abort): Use _Noreturn.
8198
8199         c-stack: use _Noreturn
8200         * lib/c-stack.c (die, overflow_handler, segv_handler):
8201         Use _Noreturn rather than __attribute__((noreturn)).
8202
8203         argmatch-tests, exclude_tests: use _Noreturn
8204         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
8205         Remove.
8206         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
8207
8208         stdlib: use _Noreturn
8209         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
8210         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
8211         * modules/stdlib (Depends-on): Add _Noreturn.
8212         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
8213
8214         stdnoreturn-tests: new module
8215         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
8216
8217         stdnoreturn: new module
8218         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
8219         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
8220
8221         _Noreturn-tests: new module
8222         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
8223
8224         _Noreturn: new module
8225         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
8226         New section, mentioning it.
8227         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
8228
8229         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
8230
8231 2011-07-11  Eric Blake  <eblake@redhat.com>
8232
8233         ffs: new module
8234         * modules/ffs: New file.
8235         * m4/ffs.m4: Likewise.
8236         * lib/ffs.c: Likewise.
8237         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
8238         * modules/strings (Makefile.am): Substitute witness.
8239         (Depends-on): Add c++defs.
8240         * lib/strings.in.h (ffs): Declare.
8241         * modules/ffs-tests: New test file.
8242         * tests/test-ffs.c: Test new module.
8243         * MODULES.html.sh (Integer arithmetic functions): Mention it.
8244         * doc/posix-functions/ffs.texi (ffs): Likewise.
8245
8246         regex: avoid compiler warning
8247         * lib/regex.c (includes): Include <strings.h>, for use of
8248         strcasecmp in regcomp.c.
8249         Reported by Joachim Schmitz.
8250
8251 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8252
8253         stdint: respect system's intmax_t if INTMAX_MAX
8254         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
8255         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
8256         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
8257         long but int64_t is long long, and where we will clash with the
8258         system intmax_t if we override it.  See
8259         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
8260         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
8261         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
8262         similarly for UINTMAX_C.
8263
8264 2011-07-08  Bruno Haible  <bruno@clisp.org>
8265
8266         pthread_sigmask tests: Avoid a compiler warning.
8267         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
8268         non-zero.
8269
8270         sigprocmask tests: A better way to avoid a compiler warning.
8271         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
8272         (main): Complain if system() returns non-zero.
8273         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
8274
8275 2011-07-08  Bruno Haible  <bruno@clisp.org>
8276
8277         pthread_sigmask: Work around IRIX bug.
8278         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
8279         bug.
8280         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
8281         there may be unblocked pending signals.
8282         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
8283
8284 2011-07-08  Bruno Haible  <bruno@clisp.org>
8285
8286         pthread_sigmask: Work around Cygwin bug.
8287         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
8288         bug.
8289         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
8290         the system's pthread_sigmask function.
8291         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
8292
8293 2011-07-08  Bruno Haible  <bruno@clisp.org>
8294
8295         pthread_sigmask: Work around bug in single-threaded implementation.
8296         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
8297         FreeBSD, HP-UX, Solaris bug.
8298         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
8299         * lib/pthread_sigmask.c: Include <stddef.h>.
8300         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
8301         the system's pthread_sigmask function.
8302         * modules/pthread_sigmask (configure.ac): Invoke
8303         gl_PREREQ_PTHREAD_SIGMASK.
8304         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
8305         HP-UX, Solaris.
8306
8307 2011-07-08  Eric Blake  <eblake@redhat.com>
8308
8309         test-sigprocmask: avoid compiler warning
8310         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
8311         * tests/test-sigprocmask.c (main): Use it to silence warning.
8312         Reported by Jim Meyering.
8313
8314         test-snprintf: avoid compiler warning
8315         * tests/test-snprintf.c (main): Avoid shadowed declaration.
8316         * tests/test-vsnprintf.c (main): Likewise.
8317         Reported by Jim Meyering.
8318
8319 2011-07-08  Bruno Haible  <bruno@clisp.org>
8320
8321         Tests for module 'pthread_sigmask'.
8322         * modules/pthread_sigmask-tests: New file.
8323         * tests/test-pthread_sigmask1.c: New file, based on
8324         tests/test-sigprocmask.c.
8325         * tests/test-pthread_sigmask2.c: New file.
8326
8327 2011-07-08  Jim Meyering  <meyering@redhat.com>
8328
8329         test-getopt.h: avoid warning about an unused variable
8330         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
8331
8332 2011-07-07  Jim Meyering  <meyering@redhat.com>
8333
8334         maint: reduce list of files exempt from sc_prohibit_leading_TABs
8335         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
8336         now that it no longer contains leading TABs.
8337         Remove unused "url=FIXME" statement.
8338
8339 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8340
8341         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
8342         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8343         When gl_THREADLIB is not in use, assume that the POSIX sematics
8344         are desired.  This is better for Emacs, which uses POSIX semantics
8345         on GNUish and/or POSIXish platforms, and does not use threads at
8346         all otherwise.
8347
8348         pthread_sigmask: fix typo when testing for libraries
8349         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
8350         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
8351
8352 2011-07-08  Eric Blake  <eblake@redhat.com>
8353
8354         fts: introduce FTS_NOATIME
8355         * lib/fts_.h (FTS_NOATIME): New bit flag.
8356         (FTS_OPTIONMASK): Adjust.
8357         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
8358         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
8359
8360 2011-07-08  Bruno Haible  <bruno@clisp.org>
8361
8362         Tests for module 'thread'.
8363         * modules/thread-tests: New file.
8364         * tests/test-thread_self.c: New file.
8365         * tests/test-thread_create.cc: New file.
8366
8367 2011-07-08  Bruno Haible  <bruno@clisp.org>
8368
8369         thread: Avoid gcc warnings when using gl_thread_self().
8370         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
8371         'void *'.
8372         (gl_thread_self_pointer): Update.
8373
8374 2011-07-07  Bruno Haible  <bruno@clisp.org>
8375
8376         signal-c++-tests: Check declaration of pthread_sigmask.
8377         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
8378         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
8379         $(LIB_PTHREAD_SIGMASK).
8380
8381 2011-07-07  Bruno Haible  <bruno@clisp.org>
8382
8383         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
8384         * lib/signal.in.h (pthread_sigmask): Override if
8385         REPLACE_PTHREAD_SIGMASK is 1.
8386         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8387         REPLACE_PTHREAD_SIGMASK.
8388         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
8389         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
8390         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
8391         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8392         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
8393
8394 2011-07-07  Bruno Haible  <bruno@clisp.org>
8395
8396         pthread_sigmask: Ensure declaration in <signal.h>.
8397         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
8398         include <pthread.h>.
8399         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
8400         problem.
8401
8402 2011-07-07  Bruno Haible  <bruno@clisp.org>
8403
8404         pthread_sigmask: Document the module.
8405         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
8406
8407 2011-07-07  Bruno Haible  <bruno@clisp.org>
8408
8409         pthread_sigmask: Follow gnulib conventions.
8410         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
8411         gl_PTHREAD_SIGMASK.
8412         * modules/pthread_sigmask (configure.ac): Update.
8413
8414 2011-07-07  Bruno Haible  <bruno@clisp.org>
8415
8416         pthread_sigmask: Make declaration C++ safe.
8417         * lib/signal.in.h: In two special conditions, just do an #include_next.
8418         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8419         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
8420         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
8421         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
8422         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
8423         not REPLACE_PTHREAD_MASK.
8424         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
8425         not REPLACE_PTHREAD_MASK.
8426         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
8427
8428 2011-07-07  Bruno Haible  <bruno@clisp.org>
8429
8430         pthread_sigmask: Fix return value.
8431         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
8432         * lib/pthread_sigmask.c: New file.
8433         * modules/pthread_sigmask (Files): Add it.
8434         (configure.ac): Invoke AC_LIBOBJ.
8435
8436 2011-07-07  Eric Blake  <eblake@redhat.com>
8437
8438         getopt: more portable argv creation
8439         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
8440         const, use char arrays rather than strings.
8441         Suggested by Paul Eggert.
8442
8443 2011-07-07  Bruno Haible  <bruno@clisp.org>
8444
8445         Tests for module 'sigprocmask'.
8446         * modules/sigprocmask-tests: New file.
8447         * tests/test-sigprocmask.c: New file.
8448
8449 2011-07-07  Bruno Haible  <bruno@clisp.org>
8450
8451         float tests: Tweak.
8452         * tests/test-float.c (main): Tweak skip message.
8453
8454 2011-07-07  Eric Blake  <eblake@redhat.com>
8455
8456         getopt: avoid compiler warning during configure
8457         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
8458         assigning string literals to non-const pointer.
8459
8460         getopt-gnu: avoid crash in glibc getopt
8461         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
8462         * tests/test-getopt.h (test_getopt): Enhance test.
8463         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8464         * doc/posix-functions/getopt.texi (getopt): Document it.
8465         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
8466         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
8467         Likewise.
8468
8469 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
8470
8471         getopt: handle W; without long options in getopt [BZ #12922]
8472         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
8473         but no long options are defined, just return 'W'.
8474
8475 2011-07-07  Bruno Haible  <bruno@clisp.org>
8476
8477         Avoid literal tabs.
8478         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
8479         variable containing a tab instead of a literal tab.
8480         Reported by Jim Meyering.
8481
8482 2011-07-07  Bruno Haible  <bruno@clisp.org>
8483
8484         Comments.
8485         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
8486
8487 2011-07-06  Bruno Haible  <bruno@clisp.org>
8488
8489         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
8490         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
8491         <winsock2.h>.
8492         (rpl_fd_isset, FD_ISSET): New definitions, copied from
8493         lib/sys_socket.in.h.
8494         (close, gethostname): Hide declarations from <winsock2.h>.
8495         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
8496         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
8497         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
8498         (select): Don't override if gnulib's <sys/select.h> was already
8499         included.
8500         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
8501         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
8502         setsockopt, shutdown, select): Tweak indentation.
8503
8504 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8505
8506         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
8507         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
8508         in an application that does not use the sys_select module.
8509
8510 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
8511
8512         poll: do not return 0 on timeout=-1
8513         * lib/poll.c: Loop with yield if no events occured
8514
8515 2011-07-06  Eric Blake  <eblake@redhat.com>
8516
8517         pthread_sigmask: always replace when not using pthread
8518         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
8519         replacement when using some threading other than pthread.  Fix
8520         logic bug.
8521
8522 2011-07-06  Bruno Haible  <bruno@clisp.org>
8523
8524         Comments.
8525         * m4/printf.m4: Update comments about mingw.
8526
8527 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8528
8529         sys_select: define sigset_t more portably
8530         * lib/sys_select.in.h: Always include <sys/types.h>, since
8531         we now need sigset_t and mingw defines it there.
8532         Include <signal.h> before split inclusion guard, to avoid
8533         mishaps on Solaris, whose <signal.h> eventually includes us.
8534         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
8535         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
8536         which come from ...
8537         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
8538         gl_CHECK_TYPE_SIGSET_T.
8539         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
8540         does the real work.
8541         * modules/sys_select (Depends-on): Add 'signal'.
8542
8543         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
8544         Suggested by Bruno Haible.
8545
8546         pselect: Use pthread_sigmask, not sigprocmask.
8547         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
8548         multithreaded apps better than sigprocmask does.
8549         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
8550         sigprocmask directly.
8551
8552 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8553
8554         * lib/pselect.c (pselect): Use plain name, without "rpl_".
8555         Don't #undef,  since we don't need any underlying pselect.
8556         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
8557         (Depends-on): Add select.
8558         (Link): Add $(LIBSOCKET).
8559         These changes suggested by Bruno Haible.
8560
8561         pselect: document better
8562         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8563         * doc/posix-functions/pselect.texi (pselect): Document new module.
8564
8565         pthread_sigmask: new module
8566         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
8567         * doc/posix-functions/pthread_sigmask.texi: Document new module.
8568         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
8569         This is done only as a macro; I don't know how well that'll
8570         work for C++.  Move <sys/types.h> include before the include_next,
8571         to avoid mishap on Solaris.
8572         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
8573         * modules/signal (Makefile.am): Substitute the check's results.
8574         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
8575
8576         test-pselect: new module
8577         * modules/pselect-tests, tests/test-pselect.c: New files.
8578         * tests/test-select.c, tests/test-sys_select-c++.cc:
8579         If TEST_PSELECT is defined, test pselect instead of testing select.
8580
8581         * tests/test-sys_select.c (sigset_t): Test for it, too.
8582         Suggested by Bruno Haible.
8583
8584 2011-07-05  Eric Blake  <eblake@redhat.com>
8585
8586         snprintf: guarantee %1$d, for libintl
8587         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
8588         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
8589         * doc/posix-functions/snprintf.texi (snprintf): Update.
8590         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8591         * tests/test-snprintf.c (main): Enhance test.
8592         * tests/test-vsnprintf.c (main): Likewise.
8593
8594 2011-07-05  Jim Meyering  <meyering@redhat.com>
8595
8596         maint: exempt stdio-read.c and stdio-write.c from the cppi check
8597         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
8598         per Bruno's request, to accommodate this idiom (no space after "#")
8599         even when the function is inside an #if block:
8600         char *
8601         gets (char *s)
8602         #undef gets
8603         {
8604           ...
8605         }
8606
8607 2011-07-04  Jim Meyering  <meyering@redhat.com>
8608
8609         maint: indent with spaces, not TABs, and add a rule to check this
8610         * tests/test-userspec.c: Indent with spaces, not TABs.
8611         * tests/test-argp.c: Likewise.
8612         * tests/test-c-stack2.sh: Likewise.
8613         * tests/test-parse-duration.sh: Likewise
8614         * m4/strtod.m4: Likewise.
8615         * m4/alloca.m4: Likewise.
8616         * m4/pselect.m4: Likewise.
8617         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
8618
8619 2011-07-03  Jim Meyering  <meyering@redhat.com>
8620
8621         maint.mk: correct omissions in prohibit_argmatch_without_use check
8622         This rule would mistakenly report that argmatch.h is included without
8623         use even when both the argmatch and invalid_arg macro were used.
8624         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
8625         of argmatch and invalid_arg.
8626
8627 2011-07-03  Bruno Haible  <bruno@clisp.org>
8628
8629         Comments about EINTR.
8630         * lib/safe-read.h: Explain the purpose of this module.
8631         * lib/safe-write.h: Likewise.
8632         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
8633         module.
8634         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
8635         module.
8636         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8637
8638 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8639
8640         xnanosleep: Rewrite to use new dtotimespec module.
8641         It has the conversion code that used to be in xnanosleep.
8642         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
8643         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
8644         (TIME_T_MAX): Remove.
8645         (xnanosleep): Rewrite in terms of dtotimespec.
8646         * modules/xnanosleep (Depends-on): Add dtotimespec.
8647         Remove intprops, stdbool.
8648
8649         timespec-add, timespec-sub: new modules
8650         * lib/timespec.h (timespec_add, timespec_sub): New decls.
8651         * lib/timespec-add.c, lib/timespec-sub.c:
8652         * modules/timespec-add, modules/timespec-sub: New files.
8653
8654         dtotimespec: new module
8655         * lib/timespec.h (dtotimespec): New decl.
8656         * lib/dtotimespec.c, modules/dtotimespec: New files.
8657
8658         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
8659
8660         pselect: new module
8661         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
8662         (pselect): New decls.
8663         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
8664         since the standard pselect decl uses 'restrict'.
8665         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
8666         HAVE_PSELECT, REPLACE_PSELECT.
8667         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
8668         HAVE_PSELECT, REPLACE_PSELECT.
8669         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
8670
8671         sys_select: don't depend on sys_socket
8672         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
8673         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
8674         This fix works on GNU and GNU-like platforms, but has not been tested
8675         on native Windows.
8676         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
8677         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
8678         gl_HEADER_SYS_SOCKET.
8679         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
8680         gl_PREREQ_SYS_H_WINSOCK2.
8681
8682 2011-06-29  Eric Blake  <eblake@redhat.com>
8683
8684         pipe2: fix C89 compile problem
8685         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
8686         Reported by Bruno Haible.
8687
8688         pipe, pipe2: don't corrupt fd on error
8689         * lib/pipe.c (pipe): Leave fd unchanged on error.
8690         * lib/pipe2.c (pipe2): Likewise.
8691         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
8692         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
8693
8694 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
8695
8696         mmap-anon: do not use regular expressions inadvertently
8697         * m4/mmap-anon.m4: Remove trailing period from strings sought
8698         in the output.
8699
8700 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
8701
8702         nanosleep: fix integer overflow problem
8703         * lib/nanosleep.c (my_usleep): Don't assume signed integer
8704         arithmetic wraps around on overflow.
8705
8706         nanosleep: simplify carrying
8707         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
8708         first call to the underyling nanosleep, not for the last one.
8709         This doesn't fix any bugs, but it simplifies the computation of
8710         the remaining delay.  Found while auditing integer overflow issues.
8711
8712         dup2: remove test for existence of fcntl
8713         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
8714         "#if HAVE_FCNTL", in the configure-time test program.
8715         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
8716         and therefore speeds up "configure" a bit.  Found while
8717         adding the dup2 module to Emacs.
8718
8719 2011-06-24  Eric Blake  <eblake@redhat.com>
8720
8721         maint.mk: enhance useless header checks
8722         * top/maint.mk (_sc_header_without_use): Check both include
8723         styles.
8724         (sc_prohibit_assert_without_use)
8725         (sc_prohibit_close_stream_without_use)
8726         (sc_prohibit_getopt_without_use)
8727         (sc_prohibit_quotearg_without_use)
8728         (sc_prohibit_quote_without_use)
8729         (sc_prohibit_long_options_without_use)
8730         (sc_prohibit_inttostr_without_use)
8731         (sc_prohibit_ignore_value_without_use)
8732         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
8733         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
8734         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
8735         (sc_prohibit_hash_pjw_without_use)
8736         (sc_prohibit_safe_read_without_use)
8737         (sc_prohibit_argmatch_without_use)
8738         (sc_prohibit_canonicalize_without_use)
8739         (sc_prohibit_root_dev_ino_without_use)
8740         (sc_prohibit_openat_without_use)
8741         (sc_prohibit_c_ctype_without_use)
8742         (sc_prohibit_signal_without_use)
8743         (sc_prohibit_stdio--_without_use)
8744         (sc_prohibit_stdio-safer_without_use)
8745         (sc_prohibit_strings_without_use)
8746         (sc_prohibit_intprops_without_use)
8747         (sc_prohibit_stddef_without_use)
8748         (sc_prohibit_xfreopen_without_use): Update clients.
8749
8750 2011-06-24  Jim Meyering  <meyering@redhat.com>
8751
8752         syntax-check: keep one maint.mk rule in sync with its header
8753         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
8754         of the bug Eric has just fixed, with today's commit 25e4c2ec.
8755         I prefer to avoid temporary files here, so use <(...), but that
8756         is not supported by /bin/sh, so...
8757         (SHELL): Define to /bin/bash.
8758
8759 2011-06-24  Eric Blake  <eblake@redhat.com>
8760
8761         maint.mk: update sc_prohibit_intprops_without_use
8762         * top/maint.mk (_intprops_names): Match recent changes.
8763
8764 2011-06-24  Bruno Haible  <bruno@clisp.org>
8765
8766         strerror-override: No-op tweak.
8767         * lib/strerror-override.h (strerror_override): Reorder conditions,
8768         for consistency with lib/strerror-override.c.
8769
8770 2011-06-23  Eric Blake  <eblake@redhat.com>
8771
8772         maint.mk: test further PATH_MAX issues
8773         * top/maint.mk (sc_prohibit_path_max_array): Rename...
8774         (sc_prohibit_path_max_allocation): ...and also test alloca.
8775         Suggested by Jim Meyering.
8776
8777 2011-06-22  Eric Blake  <eblake@redhat.com>
8778
8779         maint.mk: add syntax-check to avoid char[PATH_MAX]
8780         * top/maint.mk (sc_prohibit_path_max_array): New rule.
8781
8782         stat: be robust to PATH_MAX definition
8783         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
8784         * modules/stat (Depends-on): Add verify.
8785
8786         link: work around IRIX bug
8787         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
8788         * lib/link.c (rpl_link): Work around it.
8789         * tests/test-link.h (test_link): Enhance test.
8790         * doc/posix-functions/link.texi (link): Document the bug.
8791
8792         getopt: silence clang warning
8793         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
8794         dereference.
8795         Reported by Gustavo Martin Domato.
8796
8797 2011-06-22  Jim Meyering  <meyering@redhat.com>
8798
8799         bootstrap: do not insert a blank line into each .gitignore file
8800         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
8801
8802 2011-06-21  Eric Blake  <eblake@redhat.com>
8803
8804         perror: test for output mismatch
8805         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
8806         perror on IRIX.
8807
8808         strerror_r: fix OpenBSD behavior on out-of-range
8809         * lib/strerror_r.c (strerror_r): Always use maximal string.
8810         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
8811
8812         strerror_r: fix OpenBSD behavior on 0
8813         * lib/strerror-override.c (strerror_override): Also override 0
8814         when needed.
8815         * lib/strerror-override.h (strerror_override): Likewise.
8816         * lib/strerror.c (strerror): Simplify, now that 0 override is done
8817         earlier.
8818         * lib/strerror_r.c (strerror_r): Likewise.
8819         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
8820         behavior...
8821         (gl_FUNC_STRERROR_0): ...into new macro.
8822         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
8823         is overridden.
8824         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
8825         * modules/strerror-override (Files): Add strerror.m4.
8826         (configure.ac): Also provide override for 0 when needed.
8827         * doc/posix-functions/strerror.texi (strerror): Document this.
8828         * doc/posix-functions/perror.texi (perror): Likewise.
8829
8830         perror: adjust array size
8831         * modules/perror (Depends-on): Add strerror-override.
8832         * lib/perror.c (perror): Use it to avoid magic number.
8833
8834         strerror-override: reduce size
8835         * lib/strerror-override.c (strerror_override): Use fewer lines.
8836
8837 2011-06-20  Bruno Haible  <bruno@clisp.org>
8838
8839         pathmax: Ensure correct value for PATH_MAX on HP-UX.
8840         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
8841
8842 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8843
8844         alloca: port to compilers that can optimize like GCC 4.6.0
8845         * lib/alloca.c (find_stack_direction): New signature, taken from
8846         Autoconf git.  This works with GCC 4.6.0.  This code should never
8847         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
8848         be used with other compilers that optimize as well as GCC 4.6.0 does.
8849         (alloca): Adjust to new signature.
8850         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
8851         New macro, which patches Autoconf in a similar way.
8852
8853         c-stack: stop worrying about stack direction
8854         * lib/c-stack.c (find_stack_direction): Remove.
8855         (segv_handler): Don't worry about stack direction growth, as it's
8856         too much of a pain to configure this correctly, given how compilers
8857         are optimizing-away our stack-growth detection code.  Instead, assume
8858         that any access to just before or just after the stack is OK.
8859         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
8860         Don't require AC_FUNC_ALLOCA; no longer needed.
8861
8862 2011-06-20  Eric Blake  <eblake@redhat.com>
8863
8864         test-stat: don't allocate PATH_MAX bytes
8865         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
8866         PATH_MAX-sized buffer.
8867         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
8868         * modules/stat-tests (Depends-on): Likewise.
8869         * tests/test-fstatat.c (includes): Drop pathmax.h.
8870         * tests/test-stat.c (includes): Likewise.
8871         Reported by Bruno Haible.
8872
8873 2011-06-20  Bruno Haible  <bruno@clisp.org>
8874
8875         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
8876         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
8877         * lib/float.c: New file.
8878         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
8879         REPLACE_FLOAT_LDBL.
8880         * modules/float (Files): Add lib/float.c.
8881         (configure.ac): Invoke AC_LIBOBJ.
8882         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
8883
8884 2011-06-20  Bruno Haible  <bruno@clisp.org>
8885
8886         Tests for module 'float'.
8887         * modules/float-tests: New file.
8888         * tests/test-float.c: New file.
8889
8890 2011-06-19  Bruno Haible  <bruno@clisp.org>
8891
8892         isinf: Coding style.
8893         * lib/isinf.c: Use GNU coding style.
8894
8895 2011-06-19  Bruno Haible  <bruno@clisp.org>
8896
8897         linkat test: Avoid test failure on AIX 7.1.
8898         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
8899         * tests/test-link.h (test_link): Likewise.
8900
8901 2011-06-19  Bruno Haible  <bruno@clisp.org>
8902
8903         pread test: Avoid test failure on OpenBSD 4.9.
8904         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
8905
8906 2011-06-19  Bruno Haible  <bruno@clisp.org>
8907
8908         sprintf-posix: Fix test failure on AIX 7.1.
8909         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
8910         * doc/posix-functions/dprintf.texi: Mention limited precision problem
8911         on AIX.
8912         * doc/posix-functions/fprintf.texi: Likewise.
8913         * doc/posix-functions/printf.texi: Likewise.
8914         * doc/posix-functions/snprintf.texi: Likewise.
8915         * doc/posix-functions/sprintf.texi: Likewise.
8916         * doc/posix-functions/vdprintf.texi: Likewise.
8917         * doc/posix-functions/vfprintf.texi: Likewise.
8918         * doc/posix-functions/vprintf.texi: Likewise.
8919         * doc/posix-functions/vsnprintf.texi: Likewise.
8920         * doc/posix-functions/vsprintf.texi: Likewise.
8921
8922 2011-06-19  Bruno Haible  <bruno@clisp.org>
8923
8924         roundl-ieee: Fix test failure on AIX 7.1.
8925         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
8926         * doc/posix-functions/roundl.texi: Mention problem with negative
8927         arguments.
8928
8929 2011-06-19  Bruno Haible  <bruno@clisp.org>
8930
8931         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
8932         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
8933         * doc/posix-functions/round.texi: Mention problem with negative
8934         arguments.
8935         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
8936
8937 2011-06-19  Bruno Haible  <bruno@clisp.org>
8938
8939         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
8940         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
8941         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
8942         * doc/posix-functions/roundf.texi: Mention problem with negative
8943         arguments.
8944         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
8945
8946 2011-06-19  Bruno Haible  <bruno@clisp.org>
8947
8948         ceilf-ieee: Work around bug on MacOS X 10.5.
8949         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
8950
8951         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
8952         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
8953         IEEE compliant, avoid compiler optimizations.
8954         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
8955         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8956         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
8957         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8958         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8959         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8960         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8961         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8962         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8963         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8964
8965 2011-06-19  Bruno Haible  <bruno@clisp.org>
8966
8967         ceilf-ieee: Work around bug on AIX 7.1.
8968         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
8969         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
8970
8971 2011-06-19  Bruno Haible  <bruno@clisp.org>
8972
8973         ceil-ieee: Work around bug on AIX 7.1.
8974         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
8975         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
8976
8977 2011-06-18  Bruno Haible  <bruno@clisp.org>
8978
8979         fsync test: Avoid test failure on MacOS X and AIX.
8980         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
8981         EINVAL.
8982
8983 2011-06-18  Bruno Haible  <bruno@clisp.org>
8984
8985         openat, fdopendir tests: Fix link errors.
8986         * modules/openat-tests (Depends-on): Add progname.
8987         * modules/fdopendir-tests (Depends-on): Likewise.
8988         * tests/test-fchownat.c: Include progname.h.
8989         (main): Call set_program_name.
8990         * tests/test-fstatat.c: Include progname.h.
8991         (main): Call set_program_name.
8992         * tests/test-mkdirat.c: Include progname.h.
8993         (main): Call set_program_name.
8994         * tests/test-openat.c: Include progname.h.
8995         (main): Call set_program_name.
8996         * tests/test-unlinkat.c: Include progname.h.
8997         (main): Call set_program_name.
8998         * tests/test-fdopendir.c: Include progname.h.
8999         (main): Call set_program_name.
9000
9001 2011-06-18  Bruno Haible  <bruno@clisp.org>
9002
9003         Doc update.
9004         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
9005         HP-UX.
9006         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
9007
9008 2011-06-18  Bruno Haible  <bruno@clisp.org>
9009
9010         getcwd tests: Avoid compilation error on HP-UX 11.31.
9011         * modules/getcwd-tests (Depends-on): Add pathmax.
9012         * tests/test-getcwd.c: Include pathmax.h.
9013
9014 2011-06-18  Bruno Haible  <bruno@clisp.org>
9015
9016         isfinite, isinf: Fix link error on AIX 6 and 7.
9017         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
9018         needed, also test the macro with a 'float' argument.
9019         * m4/isinf.m4 (gl_ISINF): Likewise.
9020
9021 2011-06-18  Bruno Haible  <bruno@clisp.org>
9022
9023         getloadavg: Don't clobber LIBS. Regression from previous commit.
9024         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
9025         AC_CHECK_LIB from here...
9026         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
9027         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
9028         gl_func_getloadavg_done.
9029         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9030
9031 2011-06-18  Bruno Haible  <bruno@clisp.org>
9032
9033         clean-temp: Improve documentation.
9034         * lib/clean-temp.h: Explain better how to use this module.
9035         Reported by John Darrington <john@darrington.wattle.id.au>.
9036
9037 2011-06-17  Bruno Haible  <bruno@clisp.org>
9038
9039         pread, pwrite: Avoid cc warning on AIX.
9040         * lib/unistd.in.h (pread): Undefine before defining as a macro.
9041         (pwrite): Likewise.
9042
9043 2011-06-17  Bruno Haible  <bruno@clisp.org>
9044
9045         spawn-pipe tests: Fix link error.
9046         * tests/test-spawn-pipe-child.c: Undefine fprintf.
9047         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9048
9049 2011-06-17  Bruno Haible  <bruno@clisp.org>
9050
9051         Tests: Remove unnecessary dependency.
9052         * modules/canonicalize-tests (Depends-on): Remove progname.
9053         * modules/chown-tests (Depends-on): Likewise.
9054         * modules/dirname-tests (Depends-on): Likewise.
9055         * modules/fdopendir-tests (Depends-on): Likewise.
9056         * modules/fdutimensat-tests (Depends-on): Likewise.
9057         * modules/hash-tests (Depends-on): Likewise.
9058         * modules/lchown-tests (Depends-on): Likewise.
9059         * modules/linkat-tests (Depends-on): Likewise.
9060         * modules/renameat-tests (Depends-on): Likewise.
9061         * modules/spawn-pipe-tests (Depends-on): Likewise.
9062         * modules/utimensat-tests (Depends-on): Likewise.
9063
9064 2011-06-17  Bruno Haible  <bruno@clisp.org>
9065
9066         spawn-pipe tests: Fix link error.
9067         * tests/test-spawn-pipe-child.c: Undefine fflush.
9068
9069 2011-06-17  Bruno Haible  <bruno@clisp.org>
9070
9071         Fix tests link errors.
9072         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
9073         * modules/chown-tests (Makefile.am): Don't link test-chown with
9074         LIBINTL.
9075         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
9076         LIBINTL.
9077         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
9078         LIBINTL.
9079         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
9080         LIBINTL.
9081
9082 2011-06-16  Bruno Haible  <bruno@clisp.org>
9083
9084         crypto/gc-sha1: Fix recent regression.
9085         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
9086         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
9087
9088         crypto/gc-md5: Fix recent regression.
9089         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
9090
9091         crypto/gc-md4: Fix recent regression.
9092         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
9093         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
9094
9095         crypto/gc-arctwo: Fix recent regression.
9096         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
9097         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
9098
9099         crypto/gc-rijndael: Fix recent regression.
9100         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
9101         (configure.ac): Invoke AC_LIBOBJ here.
9102         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
9103         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9104
9105         crypto/gc-hmac-sha1: Fix recent regression.
9106         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
9107         (configure.ac): Invoke AC_LIBOBJ here.
9108         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
9109         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9110
9111         crypto/gc-hmac-md5: Fix recent regression.
9112         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
9113         (configure.ac): Invoke AC_LIBOBJ here.
9114         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
9115         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9116
9117         crypto/gc-des: Fix recent regression.
9118         * modules/crypto/gc-des (Files): Remove m4/des.m4.
9119         (configure.ac): Invoke AC_LIBOBJ here.
9120         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
9121         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9122
9123         crypto/gc-arcfour: Fix recent regression.
9124         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
9125         (configure.ac): Invoke AC_LIBOBJ here.
9126         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
9127         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9128
9129 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
9130
9131         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
9132         After the 2011-05-21 change, this macro requires
9133         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
9134         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
9135
9136 2011-06-16  Bruno Haible  <bruno@clisp.org>
9137
9138         fprintftime: Move AC_LIBOBJ invocations to module description.
9139         * m4/fprintftime.m4: Remove file.
9140         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
9141         (configure.ac): Remove gl_FPRINTFTIME call.
9142         (Makefile.am): Augment lib_SOURCES.
9143         Reported by Jim Meyering.
9144
9145 2011-06-16  Bruno Haible  <bruno@clisp.org>
9146
9147         tmpfile-safer: Finish 2011-05-23 commit.
9148         * m4/stdio-safer.m4: Really remove file.
9149         Reported by Jim Meyering.
9150
9151 2011-06-16  Bruno Haible  <bruno@clisp.org>
9152
9153         syntax-check: Fix typo.
9154         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
9155         printf-posix.m4.
9156         Reported by Jim Meyering.
9157
9158 2011-06-13  Jim Meyering  <meyering@redhat.com>
9159
9160         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
9161         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
9162
9163 2011-05-23  Bruno Haible  <bruno@clisp.org>
9164
9165         yesno: Move AC_LIBOBJ invocations to module description.
9166         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
9167         * modules/yesno (Makefile.am): Augment lib_SOURCES.
9168
9169 2011-05-23  Bruno Haible  <bruno@clisp.org>
9170
9171         xstrtol: Move AC_LIBOBJ invocations to module description.
9172         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
9173         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
9174
9175 2011-05-23  Bruno Haible  <bruno@clisp.org>
9176
9177         xstrtold: Move AC_LIBOBJ invocations to module description.
9178         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
9179         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
9180
9181 2011-05-23  Bruno Haible  <bruno@clisp.org>
9182
9183         xstrtod: Move AC_LIBOBJ invocations to module description.
9184         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
9185         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
9186
9187 2011-05-23  Bruno Haible  <bruno@clisp.org>
9188
9189         xnanosleep: Move AC_LIBOBJ invocations to module description.
9190         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
9191         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
9192
9193 2011-05-23  Bruno Haible  <bruno@clisp.org>
9194
9195         xgetcwd: Move AC_LIBOBJ invocations to module description.
9196         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
9197         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
9198
9199 2011-05-23  Bruno Haible  <bruno@clisp.org>
9200
9201         xalloc: Move AC_LIBOBJ invocations to module description.
9202         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
9203         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
9204
9205 2011-05-23  Bruno Haible  <bruno@clisp.org>
9206
9207         write-any-file: Move AC_LIBOBJ invocations to module description.
9208         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
9209         invocation.
9210         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
9211
9212 2011-05-23  Bruno Haible  <bruno@clisp.org>
9213
9214         utimens: Move AC_LIBOBJ invocations to module description.
9215         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
9216         * modules/utimens (Makefile.am): Augment lib_SOURCES.
9217
9218 2011-05-23  Bruno Haible  <bruno@clisp.org>
9219
9220         utimecmp: Move AC_LIBOBJ invocations to module description.
9221         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
9222         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
9223
9224 2011-05-23  Bruno Haible  <bruno@clisp.org>
9225
9226         userspec: Move AC_LIBOBJ invocations to module description.
9227         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
9228         * modules/userspec (Makefile.am): Augment lib_SOURCES.
9229
9230 2011-05-23  Bruno Haible  <bruno@clisp.org>
9231
9232         unlinkdir: Move AC_LIBOBJ invocations to module description.
9233         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
9234         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
9235
9236 2011-05-23  Bruno Haible  <bruno@clisp.org>
9237
9238         unistd-safer: Move AC_LIBOBJ invocations to module description.
9239         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
9240         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
9241
9242 2011-05-23  Bruno Haible  <bruno@clisp.org>
9243
9244         tempname: Move AC_LIBOBJ invocations to module description.
9245         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
9246         * modules/tempname (Makefile.am): Augment lib_SOURCES.
9247
9248 2011-05-23  Bruno Haible  <bruno@clisp.org>
9249
9250         strftime: Move AC_LIBOBJ invocations to module description.
9251         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
9252         * modules/strftime (Makefile.am): Augment lib_SOURCES.
9253
9254 2011-05-23  Bruno Haible  <bruno@clisp.org>
9255
9256         stdlib-safer: Move AC_LIBOBJ invocations to module description.
9257         * m4/stdlib-safer.m4: Remove file.
9258         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
9259         (configure.ac): Remove gl_STDLIB_SAFER call.
9260         (Makefile.am): Augment lib_SOURCES.
9261
9262 2011-05-23  Bruno Haible  <bruno@clisp.org>
9263
9264         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
9265         * m4/stdio-safer.m4: Remove file.
9266         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
9267         (configure.ac): Remove gl_TMPFILE_SAFER call.
9268         (Makefile.am): Augment lib_SOURCES.
9269
9270 2011-05-23  Bruno Haible  <bruno@clisp.org>
9271
9272         popen-safer: Move AC_LIBOBJ invocations to module description.
9273         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
9274         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
9275         (configure.ac): Remove gl_POPEN_SAFER call.
9276         (Makefile.am): Augment lib_SOURCES.
9277
9278 2011-05-23  Bruno Haible  <bruno@clisp.org>
9279
9280         freopen-safer: Move AC_LIBOBJ invocations to module description.
9281         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
9282         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
9283         (configure.ac): Remove gl_FREOPEN_SAFER call.
9284         (Makefile.am): Augment lib_SOURCES.
9285
9286 2011-05-23  Bruno Haible  <bruno@clisp.org>
9287
9288         fopen-safer: Move AC_LIBOBJ invocations to module description.
9289         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
9290         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
9291         (configure.ac): Remove gl_FOPEN_SAFER call.
9292         (Makefile.am): Augment lib_SOURCES.
9293
9294 2011-05-23  Bruno Haible  <bruno@clisp.org>
9295
9296         crypto/sha512: Move AC_LIBOBJ invocations to module description.
9297         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
9298         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
9299
9300 2011-05-23  Bruno Haible  <bruno@clisp.org>
9301
9302         crypto/sha256: Move AC_LIBOBJ invocations to module description.
9303         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
9304         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
9305
9306 2011-05-23  Bruno Haible  <bruno@clisp.org>
9307
9308         crypto/sha1: Move AC_LIBOBJ invocations to module description.
9309         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
9310         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
9311
9312 2011-05-23  Bruno Haible  <bruno@clisp.org>
9313
9314         settime: Move AC_LIBOBJ invocations to module description.
9315         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
9316         * modules/settime (Makefile.am): Augment lib_SOURCES.
9317
9318 2011-05-23  Bruno Haible  <bruno@clisp.org>
9319
9320         savedir: Move AC_LIBOBJ invocations to module description.
9321         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
9322         * modules/savedir (Makefile.am): Augment lib_SOURCES.
9323
9324 2011-05-23  Bruno Haible  <bruno@clisp.org>
9325
9326         save-cwd: Move AC_LIBOBJ invocations to module description.
9327         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
9328         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
9329
9330 2011-05-23  Bruno Haible  <bruno@clisp.org>
9331
9332         same: Move AC_LIBOBJ invocations to module description.
9333         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
9334         * modules/same (Makefile.am): Augment lib_SOURCES.
9335
9336 2011-05-23  Bruno Haible  <bruno@clisp.org>
9337
9338         safe-write: Move AC_LIBOBJ invocations to module description.
9339         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
9340         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
9341         instead of gl_SAFE_WRITE.
9342         (Makefile.am): Augment lib_SOURCES.
9343
9344 2011-05-23  Bruno Haible  <bruno@clisp.org>
9345
9346         safe-read: Move AC_LIBOBJ invocations to module description.
9347         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
9348         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
9349         of gl_SAFE_READ.
9350         (Makefile.am): Augment lib_SOURCES.
9351
9352 2011-05-23  Bruno Haible  <bruno@clisp.org>
9353
9354         safe-alloc: Move AC_LIBOBJ invocations to module description.
9355         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
9356         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
9357
9358 2011-05-23  Bruno Haible  <bruno@clisp.org>
9359
9360         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
9361         * m4/rijndael.m4: Remove file.
9362         * modules/crypto/rijndael (Files): Remove it.
9363         (configure.ac): Remove gl_RIJNDAEL call.
9364         (Makefile.am): Augment lib_SOURCES.
9365
9366 2011-05-23  Bruno Haible  <bruno@clisp.org>
9367
9368         readtokens: Move AC_LIBOBJ invocations to module description.
9369         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
9370         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
9371
9372 2011-05-23  Bruno Haible  <bruno@clisp.org>
9373
9374         read-file: Move AC_LIBOBJ invocations to module description.
9375         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
9376         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
9377         of gl_FUNC_READ_FILE.
9378         (Makefile.am): Augment lib_SOURCES.
9379
9380 2011-05-23  Bruno Haible  <bruno@clisp.org>
9381
9382         quotearg: Move AC_LIBOBJ invocations to module description.
9383         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
9384         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
9385
9386 2011-05-23  Bruno Haible  <bruno@clisp.org>
9387
9388         quote: Move AC_LIBOBJ invocations to module description.
9389         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
9390         * modules/quote (Makefile.am): Augment lib_SOURCES.
9391
9392 2011-05-23  Bruno Haible  <bruno@clisp.org>
9393
9394         posixver: Move AC_LIBOBJ invocations to module description.
9395         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
9396         * modules/posixver (Makefile.am): Augment lib_SOURCES.
9397
9398 2011-05-23  Bruno Haible  <bruno@clisp.org>
9399
9400         posixtm: Move AC_LIBOBJ invocations to module description.
9401         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
9402         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
9403
9404 2011-05-23  Bruno Haible  <bruno@clisp.org>
9405
9406         physmem: Move AC_LIBOBJ invocations to module description.
9407         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
9408         * modules/physmem (Makefile.am): Augment lib_SOURCES.
9409
9410 2011-05-23  Bruno Haible  <bruno@clisp.org>
9411
9412         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
9413         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
9414         invocation.
9415         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
9416
9417 2011-05-23  Bruno Haible  <bruno@clisp.org>
9418
9419         mpsort: Move AC_LIBOBJ invocations to module description.
9420         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
9421         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
9422
9423 2011-05-23  Bruno Haible  <bruno@clisp.org>
9424
9425         modechange: Move AC_LIBOBJ invocations to module description.
9426         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
9427         * modules/modechange (Makefile.am): Augment lib_SOURCES.
9428
9429 2011-05-23  Bruno Haible  <bruno@clisp.org>
9430
9431         mkdir-p: Move AC_LIBOBJ invocations to module description.
9432         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
9433         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
9434
9435 2011-05-23  Bruno Haible  <bruno@clisp.org>
9436
9437         mkancesdirs: Move AC_LIBOBJ invocations to module description.
9438         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
9439         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
9440
9441 2011-05-23  Bruno Haible  <bruno@clisp.org>
9442
9443         mgetgroups: Move AC_LIBOBJ invocations to module description.
9444         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
9445         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
9446
9447 2011-05-23  Bruno Haible  <bruno@clisp.org>
9448
9449         memxor: Move AC_LIBOBJ invocations to module description.
9450         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
9451         * modules/memxor (Makefile.am): Augment lib_SOURCES.
9452
9453 2011-05-23  Bruno Haible  <bruno@clisp.org>
9454
9455         memcoll: Move AC_LIBOBJ invocations to module description.
9456         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
9457         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
9458
9459 2011-05-23  Bruno Haible  <bruno@clisp.org>
9460
9461         memcasecmp: Move AC_LIBOBJ invocations to module description.
9462         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
9463         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
9464
9465 2011-05-23  Bruno Haible  <bruno@clisp.org>
9466
9467         crypto/md5: Move AC_LIBOBJ invocations to module description.
9468         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
9469         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
9470
9471 2011-05-23  Bruno Haible  <bruno@clisp.org>
9472
9473         crypto/md4: Move AC_LIBOBJ invocations to module description.
9474         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
9475         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
9476
9477 2011-05-23  Bruno Haible  <bruno@clisp.org>
9478
9479         crypto/md2: Move AC_LIBOBJ invocations to module description.
9480         * m4/md2.m4: Remove file.
9481         * modules/crypto/md2 (Files): Remove it.
9482         (configure.ac): Remove gl_MD2 call.
9483         (Makefile.am): Augment lib_SOURCES.
9484
9485 2011-05-23  Bruno Haible  <bruno@clisp.org>
9486
9487         long-options: Move AC_LIBOBJ invocations to module description.
9488         * m4/long-options.m4: Remove file.
9489         * modules/long-options (Files): Remove it.
9490         (configure.ac): Remove gl_LONG_OPTIONS call.
9491         (Makefile.am): Augment lib_SOURCES.
9492
9493 2011-05-23  Bruno Haible  <bruno@clisp.org>
9494
9495         i-ring: Move AC_LIBOBJ invocations to module description.
9496         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
9497         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
9498
9499 2011-05-23  Bruno Haible  <bruno@clisp.org>
9500
9501         idcache: Move AC_LIBOBJ invocations to module description.
9502         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
9503         * modules/idcache (Makefile.am): Augment lib_SOURCES.
9504
9505 2011-05-23  Bruno Haible  <bruno@clisp.org>
9506
9507         human: Move AC_LIBOBJ invocations to module description.
9508         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
9509         * modules/human (Makefile.am): Augment lib_SOURCES.
9510
9511 2011-05-23  Bruno Haible  <bruno@clisp.org>
9512
9513         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
9514         * m4/hmac-sha1.m4: Remove file.
9515         * modules/crypto/hmac-sha1 (Files): Remove it.
9516         (configure.ac): Remove gl_HMAC_SHA1 call.
9517         (Makefile.am): Augment lib_SOURCES.
9518
9519 2011-05-23  Bruno Haible  <bruno@clisp.org>
9520
9521         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
9522         * m4/hmac-md5.m4: Remove file.
9523         * modules/crypto/hmac-md5 (Files): Remove it.
9524         (configure.ac): Remove gl_HMAC_MD5 call.
9525         (Makefile.am): Augment lib_SOURCES.
9526
9527 2011-05-23  Bruno Haible  <bruno@clisp.org>
9528
9529         hash: Move AC_LIBOBJ invocations to module description.
9530         * m4/hash.m4: Remove file.
9531         * modules/hash (Files): Remove it.
9532         (configure.ac): Remove gl_HASH call.
9533         (Makefile.am): Augment lib_SOURCES.
9534
9535 2011-05-23  Bruno Haible  <bruno@clisp.org>
9536
9537         hard-locale: Move AC_LIBOBJ invocations to module description.
9538         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
9539         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
9540
9541 2011-05-23  Bruno Haible  <bruno@clisp.org>
9542
9543         getugroups: Move AC_LIBOBJ invocations to module description.
9544         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
9545         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
9546
9547 2011-05-23  Bruno Haible  <bruno@clisp.org>
9548
9549         gettime: Move AC_LIBOBJ invocations to module description.
9550         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
9551         * modules/gettime (Makefile.am): Augment lib_SOURCES.
9552
9553 2011-05-23  Bruno Haible  <bruno@clisp.org>
9554
9555         getndelim2: Move AC_LIBOBJ invocations to module description.
9556         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
9557         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
9558
9559 2011-05-23  Bruno Haible  <bruno@clisp.org>
9560
9561         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
9562         * m4/gc-pbkdf2-sha1.m4: Remove file.
9563         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
9564         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
9565         (Makefile.am): Augment lib_SOURCES.
9566
9567 2011-05-23  Bruno Haible  <bruno@clisp.org>
9568
9569         fts: Move AC_LIBOBJ invocations to module description.
9570         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
9571         * modules/fts (configure.ac): ... to here.
9572
9573 2011-05-23  Bruno Haible  <bruno@clisp.org>
9574
9575         file-type: Move AC_LIBOBJ invocations to module description.
9576         * m4/file-type.m4: Remove file.
9577         * modules/file-type (Files): Remove it.
9578         (configure.ac): Remove gl_FILE_TYPE call.
9579         (Makefile.am): Augment lib_SOURCES.
9580
9581 2011-05-23  Bruno Haible  <bruno@clisp.org>
9582
9583         filenamecat*: Respect rules for use of AC_LIBOBJ.
9584         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
9585         Remove AC_LIBOBJ invocation.
9586         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
9587         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
9588
9589 2011-05-23  Bruno Haible  <bruno@clisp.org>
9590
9591         filemode: Move AC_LIBOBJ invocations to module description.
9592         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
9593         * modules/filemode (Makefile.am): Augment lib_SOURCES.
9594
9595 2011-05-23  Bruno Haible  <bruno@clisp.org>
9596
9597         openat-safer: Move AC_LIBOBJ invocations to module description.
9598         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
9599         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
9600
9601 2011-05-23  Bruno Haible  <bruno@clisp.org>
9602
9603         fcntl-safer: Move AC_LIBOBJ invocations to module description.
9604         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
9605         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
9606
9607 2011-05-23  Bruno Haible  <bruno@clisp.org>
9608
9609         exclude: Move AC_LIBOBJ invocations to module description.
9610         * m4/exclude.m4: Remove file.
9611         * modules/exclude (Files): Remove it.
9612         (configure.ac): Remove gl_EXCLUDE call.
9613         (Makefile.am): Augment lib_SOURCES.
9614
9615 2011-05-23  Bruno Haible  <bruno@clisp.org>
9616
9617         dirname*: Respect rules for use of AC_LIBOBJ.
9618         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
9619         invocations.
9620         * modules/dirname (Makefile.am): Augment lib_SOURCES.
9621         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
9622
9623 2011-05-23  Bruno Haible  <bruno@clisp.org>
9624
9625         dirent-safer: Move AC_LIBOBJ invocations to module description.
9626         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
9627         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
9628
9629 2011-05-23  Bruno Haible  <bruno@clisp.org>
9630
9631         crypto/des: Move AC_LIBOBJ invocations to module description.
9632         * m4/des.m4: Remove file.
9633         * modules/crypto/des (Files): Remove it.
9634         (configure.ac): Remove gl_DES call.
9635         (Makefile.am): Augment lib_SOURCES.
9636
9637 2011-05-23  Bruno Haible  <bruno@clisp.org>
9638
9639         cycle-check: Move AC_LIBOBJ invocations to module description.
9640         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
9641         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
9642
9643 2011-05-23  Bruno Haible  <bruno@clisp.org>
9644
9645         c-strtold: Move AC_LIBOBJ invocations to module description.
9646         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
9647         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
9648
9649 2011-05-23  Bruno Haible  <bruno@clisp.org>
9650
9651         c-strtod: Move AC_LIBOBJ invocations to module description.
9652         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
9653         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
9654
9655 2011-05-23  Bruno Haible  <bruno@clisp.org>
9656
9657         crc: Move AC_LIBOBJ invocations to module description.
9658         * m4/crc.m4: Remove file.
9659         * modules/crc (Files): Remove it.
9660         (configure.ac): Remove gl_CRC call.
9661         (Makefile.am): Augment lib_SOURCES.
9662
9663 2011-05-23  Bruno Haible  <bruno@clisp.org>
9664
9665         close-stream: Move AC_LIBOBJ invocations to module description.
9666         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
9667         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
9668
9669 2011-05-23  Bruno Haible  <bruno@clisp.org>
9670
9671         closeout: Move AC_LIBOBJ invocations to module description.
9672         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
9673         * modules/closeout (Makefile.am): Augment lib_SOURCES.
9674
9675 2011-05-23  Bruno Haible  <bruno@clisp.org>
9676
9677         closein: Move AC_LIBOBJ invocations to module description.
9678         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
9679         * modules/closein (Makefile.am): Augment lib_SOURCES.
9680
9681 2011-05-23  Bruno Haible  <bruno@clisp.org>
9682
9683         cloexec: Move AC_LIBOBJ invocations to module description.
9684         * m4/cloexec.m4: Remove file.
9685         * modules/cloexec (Files): Remove it.
9686         (configure.ac): Remove gl_CLOEXEC call.
9687         (Makefile.am): Augment lib_SOURCES.
9688
9689 2011-05-23  Bruno Haible  <bruno@clisp.org>
9690
9691         check-version: Move AC_LIBOBJ invocations to module description.
9692         * m4/check-version.m4: Remove file.
9693         * modules/check-version (Files): Remove it.
9694         (configure.ac): Remove gl_CHECK_VERSION call.
9695         (Makefile.am): Augment lib_SOURCES.
9696
9697 2011-05-23  Bruno Haible  <bruno@clisp.org>
9698
9699         chdir-safer: Move AC_LIBOBJ invocations to module description.
9700         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
9701         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
9702
9703 2011-05-23  Bruno Haible  <bruno@clisp.org>
9704
9705         canonicalize: Move AC_LIBOBJ invocations to module description.
9706         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
9707         AC_LIBOBJ invocation.
9708         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
9709
9710 2011-05-23  Bruno Haible  <bruno@clisp.org>
9711
9712         canon-host: Move AC_LIBOBJ invocations to module description.
9713         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
9714         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
9715         instead of gl_CANON_HOST.
9716         (Makefile.am): Augment lib_SOURCES.
9717
9718 2011-05-23  Bruno Haible  <bruno@clisp.org>
9719
9720         backupfile: Move AC_LIBOBJ invocations to module description.
9721         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
9722         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
9723
9724 2011-05-23  Bruno Haible  <bruno@clisp.org>
9725
9726         argmatch: Move AC_LIBOBJ invocations to module description.
9727         * m4/argmatch.m4: Remove file.
9728         * modules/argmatch (Files): Remove it.
9729         (configure.ac): Remove gl_ARGMATCH call.
9730         (Makefile.am): Augment lib_SOURCES.
9731
9732 2011-05-23  Bruno Haible  <bruno@clisp.org>
9733
9734         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
9735         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
9736         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
9737
9738 2011-05-23  Bruno Haible  <bruno@clisp.org>
9739
9740         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
9741         * m4/arcfour.m4: Remove file.
9742         * modules/crypto/arcfour (Files): Remove it.
9743         (configure.ac): Remove gl_ARCFOUR call.
9744         (Makefile.am): Augment lib_SOURCES.
9745
9746 2011-05-22  Bruno Haible  <bruno@clisp.org>
9747
9748         write: Move AC_LIBOBJ invocations to module description.
9749         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
9750         * modules/write (configure.ac): ... to here.
9751
9752 2011-05-22  Bruno Haible  <bruno@clisp.org>
9753
9754         wmemset: Move AC_LIBOBJ invocations to module description.
9755         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
9756         here...
9757         * modules/wmemset (configure.ac): ... to here.
9758
9759 2011-05-22  Bruno Haible  <bruno@clisp.org>
9760
9761         wmemmove: Move AC_LIBOBJ invocations to module description.
9762         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
9763         here...
9764         * modules/wmemmove (configure.ac): ... to here.
9765
9766 2011-05-22  Bruno Haible  <bruno@clisp.org>
9767
9768         wmemcpy: Move AC_LIBOBJ invocations to module description.
9769         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
9770         here...
9771         * modules/wmemcpy (configure.ac): ... to here.
9772
9773 2011-05-22  Bruno Haible  <bruno@clisp.org>
9774
9775         wmemcmp: Move AC_LIBOBJ invocations to module description.
9776         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
9777         here...
9778         * modules/wmemcmp (configure.ac): ... to here.
9779
9780 2011-05-22  Bruno Haible  <bruno@clisp.org>
9781
9782         wmemchr: Move AC_LIBOBJ invocations to module description.
9783         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
9784         here...
9785         * modules/wmemchr (configure.ac): ... to here.
9786
9787 2011-05-22  Bruno Haible  <bruno@clisp.org>
9788
9789         wcswidth: Move AC_LIBOBJ invocations to module description.
9790         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
9791         here...
9792         * modules/wcswidth (configure.ac): ... to here.
9793
9794 2011-05-22  Bruno Haible  <bruno@clisp.org>
9795
9796         wcwidth: Respect rules for use of AC_LIBOBJ.
9797         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
9798         invocation from here...
9799         * modules/wcwidth (configure.ac): ... to here.
9800         (Depends-on): Update conditions.
9801
9802 2011-05-22  Bruno Haible  <bruno@clisp.org>
9803
9804         wctype: Move AC_LIBOBJ invocations to module description.
9805         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
9806         invocation from here...
9807         * modules/wctype (configure.ac): ... to here.
9808         (Depends-on): Update conditions.
9809
9810 2011-05-22  Bruno Haible  <bruno@clisp.org>
9811
9812         wctrans: Move AC_LIBOBJ invocations to module description.
9813         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
9814         invocation from here...
9815         * modules/wctrans (configure.ac): ... to here.
9816
9817 2011-05-22  Bruno Haible  <bruno@clisp.org>
9818
9819         wctomb: Move AC_LIBOBJ invocations to module description.
9820         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
9821         invocations from here...
9822         * modules/wctomb (configure.ac): ... to here.
9823
9824 2011-05-22  Bruno Haible  <bruno@clisp.org>
9825
9826         wctob: Move AC_LIBOBJ invocations to module description.
9827         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
9828         gl_PREREQ_WCTOB invocations from here...
9829         * modules/wctob (configure.ac): ... to here.
9830         (Depends-on): Update conditions.
9831
9832 2011-05-22  Bruno Haible  <bruno@clisp.org>
9833
9834         wcsxfrm: Move AC_LIBOBJ invocations to module description.
9835         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
9836         here...
9837         * modules/wcsxfrm (configure.ac): ... to here.
9838
9839 2011-05-22  Bruno Haible  <bruno@clisp.org>
9840
9841         wcstok: Move AC_LIBOBJ invocations to module description.
9842         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
9843         * modules/wcstok (configure.ac): ... to here.
9844
9845 2011-05-22  Bruno Haible  <bruno@clisp.org>
9846
9847         wcsstr: Move AC_LIBOBJ invocations to module description.
9848         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
9849         * modules/wcsstr (configure.ac): ... to here.
9850
9851 2011-05-22  Bruno Haible  <bruno@clisp.org>
9852
9853         wcsspn: Move AC_LIBOBJ invocations to module description.
9854         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
9855         * modules/wcsspn (configure.ac): ... to here.
9856
9857 2011-05-22  Bruno Haible  <bruno@clisp.org>
9858
9859         wcsrtombs: Move AC_LIBOBJ invocations to module description.
9860         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
9861         gl_PREREQ_WCSRTOMBS invocations from here...
9862         * modules/wcsrtombs (configure.ac): ... to here.
9863
9864 2011-05-22  Bruno Haible  <bruno@clisp.org>
9865
9866         wcsrchr: Move AC_LIBOBJ invocations to module description.
9867         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
9868         here...
9869         * modules/wcsrchr (configure.ac): ... to here.
9870
9871 2011-05-22  Bruno Haible  <bruno@clisp.org>
9872
9873         wcspbrk: Move AC_LIBOBJ invocations to module description.
9874         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
9875         here...
9876         * modules/wcspbrk (configure.ac): ... to here.
9877
9878 2011-05-22  Bruno Haible  <bruno@clisp.org>
9879
9880         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
9881         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
9882         gl_PREREQ_WCSNRTOMBS invocations from here...
9883         * modules/wcsnrtombs (configure.ac): ... to here.
9884
9885 2011-05-22  Bruno Haible  <bruno@clisp.org>
9886
9887         wcsnlen: Move AC_LIBOBJ invocations to module description.
9888         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
9889         here...
9890         * modules/wcsnlen (configure.ac): ... to here.
9891
9892 2011-05-22  Bruno Haible  <bruno@clisp.org>
9893
9894         wcsncpy: Move AC_LIBOBJ invocations to module description.
9895         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
9896         here...
9897         * modules/wcsncpy (configure.ac): ... to here.
9898
9899 2011-05-22  Bruno Haible  <bruno@clisp.org>
9900
9901         wcsncmp: Move AC_LIBOBJ invocations to module description.
9902         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
9903         here...
9904         * modules/wcsncmp (configure.ac): ... to here.
9905
9906 2011-05-22  Bruno Haible  <bruno@clisp.org>
9907
9908         wcsncat: Move AC_LIBOBJ invocations to module description.
9909         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
9910         here...
9911         * modules/wcsncat (configure.ac): ... to here.
9912
9913 2011-05-22  Bruno Haible  <bruno@clisp.org>
9914
9915         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
9916         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
9917         from here...
9918         * modules/wcsncasecmp (configure.ac): ... to here.
9919
9920 2011-05-22  Bruno Haible  <bruno@clisp.org>
9921
9922         wcslen: Move AC_LIBOBJ invocations to module description.
9923         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
9924         * modules/wcslen (configure.ac): ... to here.
9925
9926 2011-05-22  Bruno Haible  <bruno@clisp.org>
9927
9928         wcsdup: Move AC_LIBOBJ invocations to module description.
9929         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
9930         * modules/wcsdup (configure.ac): ... to here.
9931
9932 2011-05-22  Bruno Haible  <bruno@clisp.org>
9933
9934         wcscspn: Move AC_LIBOBJ invocations to module description.
9935         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
9936         here...
9937         * modules/wcscspn (configure.ac): ... to here.
9938
9939 2011-05-22  Bruno Haible  <bruno@clisp.org>
9940
9941         wcscpy: Move AC_LIBOBJ invocations to module description.
9942         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
9943         * modules/wcscpy (configure.ac): ... to here.
9944
9945 2011-05-22  Bruno Haible  <bruno@clisp.org>
9946
9947         wcscoll: Move AC_LIBOBJ invocations to module description.
9948         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
9949         here...
9950         * modules/wcscoll (configure.ac): ... to here.
9951
9952 2011-05-22  Bruno Haible  <bruno@clisp.org>
9953
9954         wcscmp: Move AC_LIBOBJ invocations to module description.
9955         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
9956         * modules/wcscmp (configure.ac): ... to here.
9957
9958 2011-05-22  Bruno Haible  <bruno@clisp.org>
9959
9960         wcschr: Move AC_LIBOBJ invocations to module description.
9961         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
9962         * modules/wcschr (configure.ac): ... to here.
9963
9964 2011-05-22  Bruno Haible  <bruno@clisp.org>
9965
9966         wcscat: Move AC_LIBOBJ invocations to module description.
9967         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
9968         * modules/wcscat (configure.ac): ... to here.
9969
9970 2011-05-22  Bruno Haible  <bruno@clisp.org>
9971
9972         wcscasecmp: Move AC_LIBOBJ invocations to module description.
9973         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
9974         here...
9975         * modules/wcscasecmp (configure.ac): ... to here.
9976
9977 2011-05-22  Bruno Haible  <bruno@clisp.org>
9978
9979         wcrtomb: Move AC_LIBOBJ invocations to module description.
9980         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
9981         invocations from here...
9982         * modules/wcrtomb (configure.ac): ... to here.
9983
9984 2011-05-22  Bruno Haible  <bruno@clisp.org>
9985
9986         wcpncpy: Move AC_LIBOBJ invocations to module description.
9987         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
9988         here...
9989         * modules/wcpncpy (configure.ac): ... to here.
9990
9991 2011-05-22  Bruno Haible  <bruno@clisp.org>
9992
9993         wcpcpy: Move AC_LIBOBJ invocations to module description.
9994         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
9995         * modules/wcpcpy (configure.ac): ... to here.
9996
9997 2011-05-22  Bruno Haible  <bruno@clisp.org>
9998
9999         waitpid: Move AC_LIBOBJ invocations to module description.
10000         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
10001         invocation from here...
10002         * modules/waitpid (configure.ac): ... to here.
10003
10004 2011-05-22  Bruno Haible  <bruno@clisp.org>
10005
10006         utimensat: Move AC_LIBOBJ invocations to module description.
10007         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
10008         here...
10009         * modules/utimensat (configure.ac): ... to here.
10010
10011 2011-05-22  Bruno Haible  <bruno@clisp.org>
10012
10013         usleep: Move AC_LIBOBJ invocations to module description.
10014         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
10015         here...
10016         * modules/usleep (configure.ac): ... to here.
10017
10018 2011-05-22  Bruno Haible  <bruno@clisp.org>
10019
10020         unlockpt: Move AC_LIBOBJ invocations to module description.
10021         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
10022         gl_PREREQ_UNLOCKPT invocations from here...
10023         * modules/unlockpt (configure.ac): ... to here.
10024
10025 2011-05-22  Bruno Haible  <bruno@clisp.org>
10026
10027         unlink: Respect rules for use of AC_LIBOBJ.
10028         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
10029         * modules/unlink (configure.ac): ... to here.
10030
10031 2011-05-22  Bruno Haible  <bruno@clisp.org>
10032
10033         uname: Move AC_LIBOBJ invocations to module description.
10034         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
10035         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
10036         here...
10037         * modules/uname (configure.ac): ... to here.
10038
10039 2011-05-22  Bruno Haible  <bruno@clisp.org>
10040
10041         ttyname_r: Move AC_LIBOBJ invocations to module description.
10042         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
10043         gl_PREREQ_TTYNAME_R invocations from here...
10044         * modules/ttyname_r (configure.ac): ... to here.
10045
10046 2011-05-22  Bruno Haible  <bruno@clisp.org>
10047
10048         tsearch: Move AC_LIBOBJ invocations to module description.
10049         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
10050         invocations from here...
10051         * modules/tsearch (configure.ac): ... to here.
10052
10053 2011-05-22  Bruno Haible  <bruno@clisp.org>
10054
10055         towctrans: Move AC_LIBOBJ invocations to module description.
10056         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
10057         AC_LIBOBJ invocation from here...
10058         * modules/towctrans (configure.ac): ... to here.
10059
10060 2011-05-22  Bruno Haible  <bruno@clisp.org>
10061
10062         tmpfile: Move AC_LIBOBJ invocations to module description.
10063         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
10064         invocations from here...
10065         * modules/tmpfile (configure.ac): ... to here.
10066
10067 2011-05-22  Bruno Haible  <bruno@clisp.org>
10068
10069         times: Move AC_LIBOBJ invocations to module description.
10070         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
10071         * modules/times (configure.ac): ... to here.
10072
10073 2011-05-22  Bruno Haible  <bruno@clisp.org>
10074
10075         time_r: Move AC_LIBOBJ invocations to module description.
10076         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
10077         invocations from here...
10078         * modules/time_r (configure.ac): ... to here.
10079
10080 2011-05-22  Bruno Haible  <bruno@clisp.org>
10081
10082         timegm: Move AC_LIBOBJ invocations to module description.
10083         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
10084         invocations from here...
10085         * modules/timegm (configure.ac): ... to here.
10086
10087 2011-05-22  Bruno Haible  <bruno@clisp.org>
10088
10089         tcgetsid: Move AC_LIBOBJ invocations to module description.
10090         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
10091         and gl_PREREQ_TCGETSID invocations from here...
10092         * modules/tcgetsid (configure.ac): ... to here.
10093         (Depends-on): Update conditions.
10094
10095 2011-05-22  Bruno Haible  <bruno@clisp.org>
10096
10097         symlinkat: Move AC_LIBOBJ invocations to module description.
10098         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
10099         here...
10100         * modules/symlinkat (configure.ac): ... to here.
10101
10102 2011-05-22  Bruno Haible  <bruno@clisp.org>
10103
10104         symlink: Move AC_LIBOBJ invocations to module description.
10105         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
10106         here...
10107         * modules/symlink (configure.ac): ... to here.
10108
10109 2011-05-22  Bruno Haible  <bruno@clisp.org>
10110
10111         strverscmp: Move AC_LIBOBJ invocations to module description.
10112         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
10113         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
10114         from here...
10115         * modules/strverscmp (configure.ac): ... to here.
10116
10117 2011-05-22  Bruno Haible  <bruno@clisp.org>
10118
10119         strtok_r: Move AC_LIBOBJ invocations to module description.
10120         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
10121         and gl_PREREQ_STRTOK_R invocations from here...
10122         * modules/strtok_r (configure.ac): ... to here.
10123         (Depends-on): Update conditions.
10124
10125 2011-05-22  Bruno Haible  <bruno@clisp.org>
10126
10127         strtoumax: Move AC_LIBOBJ invocations to module description.
10128         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
10129         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
10130         from here...
10131         * modules/strtoumax (configure.ac): ... to here.
10132
10133 2011-05-22  Bruno Haible  <bruno@clisp.org>
10134
10135         strtoimax: Move AC_LIBOBJ invocations to module description.
10136         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
10137         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
10138         from here...
10139         * modules/strtoimax (configure.ac): ... to here.
10140
10141 2011-05-22  Bruno Haible  <bruno@clisp.org>
10142
10143         strtoull: Move AC_LIBOBJ invocations to module description.
10144         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
10145         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
10146         from here...
10147         * modules/strtoull (configure.ac): ... to here.
10148
10149 2011-05-22  Bruno Haible  <bruno@clisp.org>
10150
10151         strtoll: Move AC_LIBOBJ invocations to module description.
10152         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
10153         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
10154         here...
10155         * modules/strtoll (configure.ac): ... to here.
10156
10157 2011-05-22  Bruno Haible  <bruno@clisp.org>
10158
10159         strtoul: Move AC_LIBOBJ invocations to module description.
10160         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
10161         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10162         * modules/strtoul (configure.ac): ... to here.
10163
10164 2011-05-22  Bruno Haible  <bruno@clisp.org>
10165
10166         strtol: Move AC_LIBOBJ invocations to module description.
10167         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
10168         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
10169         * modules/strtol (configure.ac): ... to here.
10170
10171 2011-05-22  Bruno Haible  <bruno@clisp.org>
10172
10173         strtod: Move AC_LIBOBJ invocations to module description.
10174         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
10175         invocations from here...
10176         * modules/strtod (configure.ac): ... to here.
10177
10178 2011-05-22  Bruno Haible  <bruno@clisp.org>
10179
10180         strstr*: Move AC_LIBOBJ invocations to module description.
10181         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
10182         invocations from here...
10183         * modules/strstr-simple (configure.ac): ... to here.
10184         * modules/strstr (configure.ac): ... and here.
10185
10186 2011-05-22  Bruno Haible  <bruno@clisp.org>
10187
10188         strsignal: Move AC_LIBOBJ invocations to module description.
10189         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
10190         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
10191         * modules/strsignal (configure.ac): ... to here.
10192         (Depends-on): Update conditions.
10193
10194 2011-05-22  Bruno Haible  <bruno@clisp.org>
10195
10196         strsep: Move AC_LIBOBJ invocations to module description.
10197         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
10198         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
10199         here...
10200         * modules/strsep (configure.ac): ... to here.
10201
10202 2011-05-22  Bruno Haible  <bruno@clisp.org>
10203
10204         strptime: Move AC_LIBOBJ invocations to module description.
10205         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
10206         gl_PREREQ_STRPTIME invocations from here...
10207         * modules/strptime (configure.ac): ... to here.
10208
10209 2011-05-22  Bruno Haible  <bruno@clisp.org>
10210
10211         strpbrk: Move AC_LIBOBJ invocations to module description.
10212         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
10213         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
10214         here...
10215         * modules/strpbrk (configure.ac): ... to here.
10216
10217 2011-05-22  Bruno Haible  <bruno@clisp.org>
10218
10219         strnlen: Move AC_LIBOBJ invocations to module description.
10220         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
10221         invocations from here...
10222         * modules/strnlen (configure.ac): ... to here.
10223
10224 2011-05-22  Bruno Haible  <bruno@clisp.org>
10225
10226         strndup: Move AC_LIBOBJ invocations to module description.
10227         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
10228         invocations from here...
10229         * modules/strndup (configure.ac): ... to here.
10230         (Depends-on): Update conditions.
10231
10232 2011-05-22  Bruno Haible  <bruno@clisp.org>
10233
10234         strncat: Move AC_LIBOBJ invocations to module description.
10235         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
10236         invocations from here...
10237         * modules/strncat (configure.ac): ... to here.
10238
10239 2011-05-22  Bruno Haible  <bruno@clisp.org>
10240
10241         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
10242         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
10243         invocations from here...
10244         * modules/strdup (configure.ac): ... to here.
10245         * modules/strdup-posix (configure.ac): ... and here.
10246
10247 2011-05-22  Bruno Haible  <bruno@clisp.org>
10248
10249         strcspn: Move AC_LIBOBJ invocations to module description.
10250         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
10251         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
10252         here...
10253         * modules/strcspn (configure.ac): ... to here.
10254
10255 2011-05-22  Bruno Haible  <bruno@clisp.org>
10256
10257         strchrnul: Move AC_LIBOBJ invocations to module description.
10258         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
10259         gl_PREREQ_STRCHRNUL invocations from here...
10260         * modules/strchrnul (configure.ac): ... to here.
10261
10262 2011-05-22  Bruno Haible  <bruno@clisp.org>
10263
10264         strcasestr*: Move AC_LIBOBJ invocations to module description.
10265         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
10266         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
10267         * modules/strcasestr-simple (configure.ac): ... to here.
10268         * modules/strcasestr (configure.ac): ... and here.
10269
10270 2011-05-22  Bruno Haible  <bruno@clisp.org>
10271
10272         strcase: Move AC_LIBOBJ invocations to module description.
10273         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
10274         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
10275         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
10276         gl_PREREQ_STRNCASECMP invocations from here...
10277         * modules/strcase (configure.ac): ... to here.
10278
10279 2011-05-22  Bruno Haible  <bruno@clisp.org>
10280
10281         stpncpy: Move AC_LIBOBJ invocations to module description.
10282         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
10283         here...
10284         * modules/stpncpy (configure.ac): ... to here.
10285
10286 2011-05-22  Bruno Haible  <bruno@clisp.org>
10287
10288         stpcpy: Move AC_LIBOBJ invocations to module description.
10289         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
10290         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
10291         here...
10292         * modules/stpcpy (configure.ac): ... to here.
10293
10294 2011-05-21  Bruno Haible  <bruno@clisp.org>
10295
10296         stat: Move AC_LIBOBJ invocations to module description.
10297         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
10298         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
10299         here...
10300         * modules/stat (configure.ac): ... to here.
10301
10302 2011-05-21  Bruno Haible  <bruno@clisp.org>
10303
10304         sleep: Move AC_LIBOBJ invocations to module description.
10305         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
10306         * modules/sleep (configure.ac): ... to here.
10307
10308 2011-05-21  Bruno Haible  <bruno@clisp.org>
10309
10310         signbit: Move AC_LIBOBJ invocations to module description.
10311         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
10312         * modules/signbit (configure.ac): ... to here.
10313
10314 2011-05-21  Bruno Haible  <bruno@clisp.org>
10315
10316         sigprocmask: Move AC_LIBOBJ invocations to module description.
10317         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
10318         gl_PREREQ_SIGPROMASK invocations from here...
10319         * modules/sigprocmask (configure.ac): ... to here.
10320
10321 2011-05-21  Bruno Haible  <bruno@clisp.org>
10322
10323         sigaction: Move AC_LIBOBJ invocations to module description.
10324         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
10325         gl_PREREQ_SIGACTION invocations from here...
10326         * modules/sigaction (configure.ac): ... to here.
10327
10328 2011-05-21  Bruno Haible  <bruno@clisp.org>
10329
10330         sig2str: Move AC_LIBOBJ invocations to module description.
10331         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
10332         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
10333         here...
10334         * modules/sig2str (configure.ac): ... to here.
10335
10336 2011-05-21  Bruno Haible  <bruno@clisp.org>
10337
10338         setlocale: Move AC_LIBOBJ invocations to module description.
10339         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
10340         gl_PREREQ_SETLOCALE invocations from here...
10341         * modules/setlocale (configure.ac): ... to here.
10342
10343 2011-05-21  Bruno Haible  <bruno@clisp.org>
10344
10345         unsetenv: Move AC_LIBOBJ invocations to module description.
10346         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
10347         and gl_PREREQ_UNSETENV invocations from here...
10348         * modules/unsetenv (configure.ac): ... to here.
10349         (Depends-on): Update.
10350
10351 2011-05-21  Bruno Haible  <bruno@clisp.org>
10352
10353         setenv: Move AC_LIBOBJ invocations to module description.
10354         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
10355         here...
10356         * modules/setenv (configure.ac): ... to here.
10357
10358 2011-05-21  Bruno Haible  <bruno@clisp.org>
10359
10360         selinux-h: Move AC_LIBOBJ invocations to module description.
10361         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
10362         AC_LIBOBJ invocation from here...
10363         * modules/selinux-h (configure.ac): ... to here.
10364
10365 2011-05-21  Bruno Haible  <bruno@clisp.org>
10366
10367         select: Respect rules for use of AC_LIBOBJ.
10368         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
10369         here...
10370         * modules/select (configure.ac): ... to here.
10371
10372 2011-05-21  Bruno Haible  <bruno@clisp.org>
10373
10374         scandir: Move AC_LIBOBJ invocations to module description.
10375         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
10376         invocations from here...
10377         * modules/scandir (configure.ac): ... to here.
10378
10379 2011-05-21  Bruno Haible  <bruno@clisp.org>
10380
10381         rpmatch: Move AC_LIBOBJ invocations to module description.
10382         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
10383         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
10384         here...
10385         * modules/rpmatch (configure.ac): ... to here.
10386
10387 2011-05-21  Bruno Haible  <bruno@clisp.org>
10388
10389         rmdir: Respect rules for use of AC_LIBOBJ.
10390         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
10391         * modules/rmdir (configure.ac): ... to here.
10392
10393 2011-05-21  Bruno Haible  <bruno@clisp.org>
10394
10395         renameat: Move AC_LIBOBJ invocations to module description.
10396         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
10397         here...
10398         * modules/renameat (configure.ac): ... to here.
10399
10400 2011-05-21  Bruno Haible  <bruno@clisp.org>
10401
10402         rename: Respect rules for use of AC_LIBOBJ.
10403         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
10404         here...
10405         * modules/rename (configure.ac): ... to here.
10406
10407 2011-05-21  Bruno Haible  <bruno@clisp.org>
10408
10409         remove: Move AC_LIBOBJ invocations to module description.
10410         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
10411         here...
10412         * modules/remove (configure.ac): ... to here.
10413
10414 2011-05-21  Bruno Haible  <bruno@clisp.org>
10415
10416         relocatable-lib: Move AC_LIBOBJ invocations to module description.
10417         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
10418         macro.
10419         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
10420         * modules/relocatable-lib (configure.ac): ... to here.
10421         * modules/relocatable-prog-wrapper (configure.ac): Invoke
10422         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
10423
10424 2011-05-21  Bruno Haible  <bruno@clisp.org>
10425
10426         relocatable-prog: Move AC_LIBOBJ invocations to module description.
10427         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
10428         here...
10429         * modules/relocatable-prog (configure.ac): ... to here.
10430
10431 2011-05-21  Bruno Haible  <bruno@clisp.org>
10432
10433         regex: Move AC_LIBOBJ invocations to module description.
10434         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
10435         invocations from here...
10436         * modules/regex (configure.ac): ... to here.
10437
10438 2011-05-21  Bruno Haible  <bruno@clisp.org>
10439
10440         realloc-*: Move AC_LIBOBJ invocations to module description.
10441         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
10442         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
10443         AC_LIBOBJ invocations from here...
10444         * modules/realloc-gnu (configure.ac): ... to here.
10445         * modules/realloc-posix (configure.ac): ... and here.
10446
10447 2011-05-21  Bruno Haible  <bruno@clisp.org>
10448
10449         readutmp: Move AC_LIBOBJ invocations to module description.
10450         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
10451         * modules/readutmp (configure.ac): ... to here.
10452
10453 2011-05-21  Bruno Haible  <bruno@clisp.org>
10454
10455         readlinkat: Move AC_LIBOBJ invocations to module description.
10456         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
10457         here...
10458         * modules/readlinkat (configure.ac): ... to here.
10459
10460 2011-05-21  Bruno Haible  <bruno@clisp.org>
10461
10462         readlink: Move AC_LIBOBJ invocations to module description.
10463         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
10464         gl_PREREQ_READLINK invocations from here...
10465         * modules/readlink (configure.ac): ... to here.
10466
10467 2011-05-21  Bruno Haible  <bruno@clisp.org>
10468
10469         readline: Move AC_LIBOBJ invocations to module description.
10470         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
10471         gl_PREREQ_READLINE invocations from here...
10472         * modules/readline (configure.ac): ... to here.
10473
10474 2011-05-21  Bruno Haible  <bruno@clisp.org>
10475
10476         read: Move AC_LIBOBJ invocations to module description.
10477         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
10478         * modules/read (configure.ac): ... to here.
10479
10480 2011-05-21  Bruno Haible  <bruno@clisp.org>
10481
10482         rawmemchr: Move AC_LIBOBJ invocations to module description.
10483         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
10484         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
10485         from here...
10486         * modules/rawmemchr (configure.ac): ... to here.
10487
10488 2011-05-21  Bruno Haible  <bruno@clisp.org>
10489
10490         random_r: Move AC_LIBOBJ invocations to module description.
10491         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
10492         gl_PREREQ_RANDOM_R invocations from here...
10493         * modules/random_r (configure.ac): ... to here.
10494
10495 2011-05-21  Bruno Haible  <bruno@clisp.org>
10496
10497         pwrite: Move AC_LIBOBJ invocations to module description.
10498         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
10499         * modules/pwrite (configure.ac): ... to here.
10500
10501 2011-05-21  Bruno Haible  <bruno@clisp.org>
10502
10503         putenv: Move AC_LIBOBJ invocations to module description.
10504         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
10505         * modules/putenv (configure.ac): ... to here.
10506
10507 2011-05-21  Bruno Haible  <bruno@clisp.org>
10508
10509         login_tty: Move AC_LIBOBJ invocations to module description.
10510         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
10511         * modules/login_tty (configure.ac): ... to here.
10512
10513 2011-05-21  Bruno Haible  <bruno@clisp.org>
10514
10515         openpty: Move AC_LIBOBJ invocations to module description.
10516         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
10517         * modules/openpty (configure.ac): ... to here.
10518
10519 2011-05-21  Bruno Haible  <bruno@clisp.org>
10520
10521         forkpty: Move AC_LIBOBJ invocations to module description.
10522         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
10523         * modules/forkpty (configure.ac): ... to here.
10524
10525 2011-05-21  Bruno Haible  <bruno@clisp.org>
10526
10527         ptsname: Move AC_LIBOBJ invocations to module description.
10528         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
10529         invocations from here...
10530         * modules/ptsname (configure.ac): ... to here.
10531
10532 2011-05-21  Bruno Haible  <bruno@clisp.org>
10533
10534         pread: Move AC_LIBOBJ invocations to module description.
10535         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
10536         * modules/pread (configure.ac): ... to here.
10537
10538 2011-05-21  Bruno Haible  <bruno@clisp.org>
10539
10540         posix_spawn*: Move AC_LIBOBJ invocations to module description.
10541         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
10542         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
10543         * modules/posix_spawn (configure.ac): ... to here.
10544         * modules/posix_spawnp (configure.ac): ... and here.
10545
10546 2011-05-21  Bruno Haible  <bruno@clisp.org>
10547
10548         popen: Move AC_LIBOBJ invocations to module description.
10549         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
10550         invocations from here...
10551         * modules/popen (configure.ac): ... to here.
10552
10553 2011-05-21  Bruno Haible  <bruno@clisp.org>
10554
10555         poll: Move AC_LIBOBJ invocations to module description.
10556         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
10557         invocations from here...
10558         * modules/poll (configure.ac): ... to here.
10559
10560 2011-05-21  Bruno Haible  <bruno@clisp.org>
10561
10562         pipe-posix: Move AC_LIBOBJ invocations to module description.
10563         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
10564         * modules/pipe-posix (configure.ac): ... to here.
10565
10566 2011-05-21  Bruno Haible  <bruno@clisp.org>
10567
10568         openat: Respect rules for use of AC_LIBOBJ.
10569         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
10570         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10571         * modules/openat (configure.ac): ... to here.
10572
10573 2011-05-21  Bruno Haible  <bruno@clisp.org>
10574
10575         obstack-printf*: Move AC_LIBOBJ invocations to module description.
10576         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
10577         invocation from here...
10578         * modules/obstack-printf (configure.ac): ... to here.
10579         * modules/obstack-printf-posix (configure.ac): ... and here.
10580
10581 2011-05-21  Bruno Haible  <bruno@clisp.org>
10582
10583         nl_langinfo: Move AC_LIBOBJ invocations to module description.
10584         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
10585         from here...
10586         * modules/nl_langinfo (configure.ac): ... to here.
10587
10588 2011-05-21  Bruno Haible  <bruno@clisp.org>
10589
10590         nanosleep: Move AC_LIBOBJ invocations to module description.
10591         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
10592         gl_PREREQ_NANOSLEEP invocations from here...
10593         * modules/nanosleep (configure.ac): ... to here.
10594
10595 2011-05-21  Bruno Haible  <bruno@clisp.org>
10596
10597         mountlist: Move AC_LIBOBJ invocations to module description.
10598         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
10599         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
10600         * modules/mountlist (configure.ac): ... to here.
10601
10602 2011-05-21  Bruno Haible  <bruno@clisp.org>
10603
10604         mktime: Respect rules for use of AC_LIBOBJ.
10605         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
10606         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
10607         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
10608         (gl_FUNC_MKTIME_INTERNAL): ... and here...
10609         * modules/mktime (configure.ac): ... to here.
10610         * modules/mktime-internal (configure.ac): ... and here.
10611         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
10612
10613 2011-05-21  Bruno Haible  <bruno@clisp.org>
10614
10615         mkstemps: Move AC_LIBOBJ invocations to module description.
10616         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
10617         here...
10618         * modules/mkstemps (configure.ac): ... to here.
10619
10620 2011-05-21  Bruno Haible  <bruno@clisp.org>
10621
10622         mkstemp: Move AC_LIBOBJ invocations to module description.
10623         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
10624         gl_PREREQ_MKSTEMP invocations from here...
10625         * modules/mkstemp (configure.ac): ... to here.
10626
10627 2011-05-21  Bruno Haible  <bruno@clisp.org>
10628
10629         mkostemps: Move AC_LIBOBJ invocations to module description.
10630         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
10631         here...
10632         * modules/mkostemps (configure.ac): ... to here.
10633
10634 2011-05-21  Bruno Haible  <bruno@clisp.org>
10635
10636         mkostemp: Move AC_LIBOBJ invocations to module description.
10637         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
10638         gl_PREREQ_MKOSTEMP invocations from here...
10639         * modules/mkostemp (configure.ac): ... to here.
10640
10641 2011-05-21  Bruno Haible  <bruno@clisp.org>
10642
10643         mknod: Move AC_LIBOBJ invocations to module description.
10644         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
10645         * modules/mknod (configure.ac): ... to here.
10646
10647 2011-05-21  Bruno Haible  <bruno@clisp.org>
10648
10649         mkfifoat: Move AC_LIBOBJ invocations to module description.
10650         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
10651         here...
10652         * modules/mkfifoat (configure.ac): ... to here.
10653
10654 2011-05-21  Bruno Haible  <bruno@clisp.org>
10655
10656         mkfifo: Respect rules for use of AC_LIBOBJ.
10657         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
10658         here...
10659         * modules/mkfifo (configure.ac): ... to here.
10660
10661 2011-05-21  Bruno Haible  <bruno@clisp.org>
10662
10663         mkdtemp: Move AC_LIBOBJ invocations to module description.
10664         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
10665         invocations from here...
10666         * modules/mkdtemp (configure.ac): ... to here.
10667
10668 2011-05-21  Bruno Haible  <bruno@clisp.org>
10669
10670         mkdir: Move AC_LIBOBJ invocations to module description.
10671         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
10672         * modules/mkdir (configure.ac): ... to here.
10673
10674 2011-05-21  Bruno Haible  <bruno@clisp.org>
10675
10676         memset: Move AC_LIBOBJ invocations to module description.
10677         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
10678         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
10679         here...
10680         * modules/memset (configure.ac): ... to here.
10681
10682 2011-05-21  Bruno Haible  <bruno@clisp.org>
10683
10684         memrchr: Move AC_LIBOBJ invocations to module description.
10685         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
10686         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
10687         here...
10688         * modules/memrchr (configure.ac): ... to here.
10689
10690 2011-05-21  Bruno Haible  <bruno@clisp.org>
10691
10692         mempcpy: Move AC_LIBOBJ invocations to module description.
10693         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
10694         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
10695         here...
10696         * modules/mempcpy (configure.ac): ... to here.
10697
10698 2011-05-21  Bruno Haible  <bruno@clisp.org>
10699
10700         memmove: Move AC_LIBOBJ invocations to module description.
10701         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
10702         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
10703         here...
10704         * modules/memmove (configure.ac): ... to here.
10705
10706 2011-05-21  Bruno Haible  <bruno@clisp.org>
10707
10708         memmem*: Move AC_LIBOBJ invocations to module description.
10709         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
10710         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
10711         here...
10712         (gl_FUNC_MEMMEM): ... and here...
10713         * modules/memmem-simple (configure.ac): ... to here.
10714         * modules/memmem (configure.ac): ... and here.
10715
10716 2011-05-21  Bruno Haible  <bruno@clisp.org>
10717
10718         memcpy: Move AC_LIBOBJ invocations to module description.
10719         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
10720         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
10721         here...
10722         * modules/memcpy (configure.ac): ... to here.
10723
10724 2011-05-21  Bruno Haible  <bruno@clisp.org>
10725
10726         memcmp: Simplify autoconf macro.
10727         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
10728         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
10729         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
10730
10731 2011-05-21  Bruno Haible  <bruno@clisp.org>
10732
10733         memcmp: Move AC_LIBOBJ invocations to module description.
10734         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
10735         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
10736         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
10737         * modules/memcmp (configure.ac): ... to here.
10738         (Depends-on): Update conditions.
10739
10740 2011-05-21  Bruno Haible  <bruno@clisp.org>
10741
10742         memchr: Respect rules for use of AC_LIBOBJ.
10743         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
10744         invocations from here...
10745         * modules/memchr (configure.ac): ... to here.
10746
10747 2011-05-21  Bruno Haible  <bruno@clisp.org>
10748
10749         mbtowc: Move AC_LIBOBJ invocations to module description.
10750         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
10751         invocations from here...
10752         * modules/mbtowc (configure.ac): ... to here.
10753
10754 2011-05-21  Bruno Haible  <bruno@clisp.org>
10755
10756         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
10757         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
10758         gl_PREREQ_MBSRTOWCS invocations from here...
10759         * modules/mbsrtowcs (configure.ac): ... to here.
10760
10761 2011-05-21  Bruno Haible  <bruno@clisp.org>
10762
10763         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
10764         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
10765         gl_PREREQ_MBSNRTOWCS invocations from here...
10766         * modules/mbsnrtowcs (configure.ac): ... to here.
10767
10768 2011-05-21  Bruno Haible  <bruno@clisp.org>
10769
10770         mbsinit: Move AC_LIBOBJ invocations to module description.
10771         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
10772         invocations from here...
10773         * modules/mbsinit (configure.ac): ... to here.
10774
10775 2011-05-21  Bruno Haible  <bruno@clisp.org>
10776
10777         mbrlen: Move AC_LIBOBJ invocations to module description.
10778         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
10779         invocations from here...
10780         * modules/mbrlen (configure.ac): ... to here.
10781
10782 2011-05-21  Bruno Haible  <bruno@clisp.org>
10783
10784         mbrtowc: Respect rules for use of AC_LIBOBJ.
10785         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
10786         invocations from here...
10787         * modules/mbrtowc (configure.ac): ... to here.
10788
10789 2011-05-21  Bruno Haible  <bruno@clisp.org>
10790
10791         malloc-*: Move AC_LIBOBJ invocations to module description.
10792         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
10793         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
10794         AC_LIBOBJ invocations from here...
10795         * modules/malloc-gnu (configure.ac): ... to here.
10796         * modules/malloc-posix (configure.ac): ... and here.
10797
10798 2011-05-21  Bruno Haible  <bruno@clisp.org>
10799
10800         lstat, openat: Respect rules for use of AC_LIBOBJ.
10801         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
10802         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
10803         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
10804         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
10805         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
10806         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
10807         here.
10808         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
10809
10810 2011-05-21  Bruno Haible  <bruno@clisp.org>
10811
10812         lseek: Move AC_LIBOBJ invocations to module description.
10813         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
10814         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
10815         * modules/lseek (configure.ac): ... to here.
10816
10817 2011-05-21  Bruno Haible  <bruno@clisp.org>
10818
10819         linkat: Move AC_LIBOBJ invocations to module description.
10820         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
10821         here...
10822         * modules/linkat (configure.ac): ... to here.
10823
10824 2011-05-21  Bruno Haible  <bruno@clisp.org>
10825
10826         link: Respect rules for use of AC_LIBOBJ.
10827         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
10828         * modules/link (configure.ac): ... to here.
10829
10830 2011-05-21  Bruno Haible  <bruno@clisp.org>
10831
10832         lchown: Move AC_LIBOBJ invocations to module description.
10833         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
10834         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
10835         * modules/lchown (configure.ac): ... to here.
10836
10837 2011-05-21  Bruno Haible  <bruno@clisp.org>
10838
10839         iswctype: Move AC_LIBOBJ invocations to module description.
10840         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
10841         here...
10842         * modules/iswctype (configure.ac): ... to here.
10843
10844 2011-05-21  Bruno Haible  <bruno@clisp.org>
10845
10846         iswblank: Move AC_LIBOBJ invocations to module description.
10847         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
10848         here...
10849         * modules/iswblank (configure.ac): ... to here.
10850
10851 2011-05-21  Bruno Haible  <bruno@clisp.org>
10852
10853         atanl: Move AC_LIBOBJ invocations to module description.
10854         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
10855         * modules/atanl (configure.ac): ... to here.
10856
10857 2011-05-21  Bruno Haible  <bruno@clisp.org>
10858
10859         acosl: Move AC_LIBOBJ invocations to module description.
10860         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
10861         * modules/acosl (configure.ac): ... to here.
10862
10863 2011-05-21  Bruno Haible  <bruno@clisp.org>
10864
10865         asinl: Respect rules for use of AC_LIBOBJ.
10866         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
10867         * modules/asinl (configure.ac): ... to here.
10868
10869 2011-05-21  Bruno Haible  <bruno@clisp.org>
10870
10871         tanl: Move AC_LIBOBJ invocations to module description.
10872         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
10873         * modules/tanl (configure.ac): ... to here.
10874
10875 2011-05-21  Bruno Haible  <bruno@clisp.org>
10876
10877         cosl: Move AC_LIBOBJ invocations to module description.
10878         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
10879         * modules/cosl (configure.ac): ... to here.
10880
10881 2011-05-21  Bruno Haible  <bruno@clisp.org>
10882
10883         sinl: Move AC_LIBOBJ invocations to module description.
10884         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
10885         * modules/sinl (configure.ac): ... to here.
10886
10887 2011-05-21  Bruno Haible  <bruno@clisp.org>
10888
10889         logl: Move AC_LIBOBJ invocations to module description.
10890         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
10891         * modules/logl (configure.ac): ... to here.
10892
10893 2011-05-21  Bruno Haible  <bruno@clisp.org>
10894
10895         expl: Move AC_LIBOBJ invocations to module description.
10896         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
10897         * modules/expl (configure.ac): ... to here.
10898
10899 2011-05-21  Bruno Haible  <bruno@clisp.org>
10900
10901         roundl: Move AC_LIBOBJ invocations to module description.
10902         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
10903         * modules/roundl (configure.ac): ... to here.
10904
10905 2011-05-21  Bruno Haible  <bruno@clisp.org>
10906
10907         round: Move AC_LIBOBJ invocations to module description.
10908         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
10909         * modules/round (configure.ac): ... to here.
10910
10911 2011-05-21  Bruno Haible  <bruno@clisp.org>
10912
10913         roundf: Move AC_LIBOBJ invocations to module description.
10914         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
10915         * modules/roundf (configure.ac): ... to here.
10916
10917 2011-05-21  Bruno Haible  <bruno@clisp.org>
10918
10919         truncl: Move AC_LIBOBJ invocations to module description.
10920         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
10921         * modules/truncl (configure.ac): ... to here.
10922
10923 2011-05-21  Bruno Haible  <bruno@clisp.org>
10924
10925         trunc: Move AC_LIBOBJ invocations to module description.
10926         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
10927         * modules/trunc (configure.ac): ... to here.
10928
10929 2011-05-21  Bruno Haible  <bruno@clisp.org>
10930
10931         truncf: Move AC_LIBOBJ invocations to module description.
10932         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
10933         * modules/truncf (configure.ac): ... to here.
10934
10935 2011-05-21  Bruno Haible  <bruno@clisp.org>
10936
10937         ceill: Move AC_LIBOBJ invocations to module description.
10938         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
10939         * modules/ceill (configure.ac): ... to here.
10940
10941 2011-05-21  Bruno Haible  <bruno@clisp.org>
10942
10943         ceil: Move AC_LIBOBJ invocations to module description.
10944         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
10945         * modules/ceil (configure.ac): ... to here.
10946
10947 2011-05-21  Bruno Haible  <bruno@clisp.org>
10948
10949         ceilf: Move AC_LIBOBJ invocations to module description.
10950         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
10951         * modules/ceilf (configure.ac): ... to here.
10952
10953 2011-05-21  Bruno Haible  <bruno@clisp.org>
10954
10955         floorl: Respect rules for use of AC_LIBOBJ.
10956         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
10957         * modules/floorl (configure.ac): ... to here.
10958
10959 2011-05-21  Bruno Haible  <bruno@clisp.org>
10960
10961         floor: Respect rules for use of AC_LIBOBJ.
10962         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
10963         * modules/floor (configure.ac): ... to here.
10964
10965 2011-05-21  Bruno Haible  <bruno@clisp.org>
10966
10967         floorf: Move AC_LIBOBJ invocations to module description.
10968         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
10969         * modules/floorf (configure.ac): ... to here.
10970
10971 2011-05-20  Bruno Haible  <bruno@clisp.org>
10972
10973         sqrtl: Respect rules for use of AC_LIBOBJ.
10974         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
10975         * modules/sqrtl (configure.ac): ... to here.
10976
10977 2011-05-20  Bruno Haible  <bruno@clisp.org>
10978
10979         ldexpl: Respect rules for use of AC_LIBOBJ.
10980         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
10981         * modules/ldexpl (configure.ac): ... to here.
10982
10983 2011-05-20  Bruno Haible  <bruno@clisp.org>
10984
10985         frexpl*: Respect rules for use of AC_LIBOBJ.
10986         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
10987         invocation from here...
10988         * modules/frexpl (configure.ac): ... to here.
10989         * modules/frexpl-nolibm (configure.ac): ... and here.
10990
10991 2011-05-20  Bruno Haible  <bruno@clisp.org>
10992
10993         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
10994         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
10995         invocation from here...
10996         * modules/frexp (configure.ac): ... to here.
10997         * modules/frexp-nolibm (configure.ac): ... and here.
10998
10999 2011-05-20  Bruno Haible  <bruno@clisp.org>
11000
11001         isnan: Respect rules for use of AC_LIBOBJ.
11002         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
11003         invocations here.
11004         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
11005         REPLACE_ISNAN.
11006         * modules/isnand (configure.ac): Likewise.
11007         * modules/isnanl (configure.ac): Likewise.
11008
11009 2011-05-20  Bruno Haible  <bruno@clisp.org>
11010
11011         isnanl*: Respect rules for use of AC_LIBOBJ.
11012         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
11013         invocation from here...
11014         * modules/isnanl (configure.ac): ... to here.
11015         * modules/isnanl-nolibm (configure.ac): ... and here.
11016
11017 2011-05-20  Bruno Haible  <bruno@clisp.org>
11018
11019         isnand*: Move AC_LIBOBJ invocations to module description.
11020         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
11021         invocation from here...
11022         * modules/isnand (configure.ac): ... to here.
11023         * modules/isnand-nolibm (configure.ac): ... and here.
11024
11025 2011-05-20  Bruno Haible  <bruno@clisp.org>
11026
11027         isnanf*: Move AC_LIBOBJ invocations to module description.
11028         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
11029         invocation from here...
11030         * modules/isnanf (configure.ac): ... to here.
11031         * modules/isnanf-nolibm (configure.ac): ... and here.
11032
11033 2011-05-20  Bruno Haible  <bruno@clisp.org>
11034
11035         isnan*: Separate the AC_LIBOBJ invocations.
11036         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
11037         AC_LIBOBJ invocation.
11038         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
11039         here.
11040         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
11041         AC_LIBOBJ invocation.
11042         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
11043         here.
11044         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
11045         AC_LIBOBJ invocation.
11046         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
11047         here.
11048         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
11049
11050 2011-05-08  Bruno Haible  <bruno@clisp.org>
11051
11052         isinf: Move AC_LIBOBJ invocations to module description.
11053         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
11054         * modules/isinf (configure.ac): ... to here.
11055
11056 2011-05-08  Bruno Haible  <bruno@clisp.org>
11057
11058         isfinite: Move AC_LIBOBJ invocations to module description.
11059         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
11060         * modules/isfinite (configure.ac): ... to here.
11061
11062 2011-05-08  Bruno Haible  <bruno@clisp.org>
11063
11064         isblank: Move AC_LIBOBJ invocations to module description.
11065         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
11066         here...
11067         * modules/isblank (configure.ac): ... to here.
11068
11069 2011-05-08  Bruno Haible  <bruno@clisp.org>
11070
11071         isapipe: Move AC_LIBOBJ invocations to module description.
11072         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
11073         gl_PREREQ_ISAPIPE invocations from here...
11074         * modules/isapipe (configure.ac): ... to here.
11075         (Depends-on): Update condition.
11076
11077 2011-05-08  Bruno Haible  <bruno@clisp.org>
11078
11079         ioctl: Move AC_LIBOBJ invocations to module description.
11080         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
11081         invocations from here...
11082         * modules/ioctl (configure.ac): ... to here.
11083         (Depends-on): Update condition.
11084
11085 2011-05-08  Bruno Haible  <bruno@clisp.org>
11086
11087         imaxdiv: Move AC_LIBOBJ invocations to module description.
11088         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
11089         invocations from here...
11090         * modules/imaxdiv (configure.ac): ... to here.
11091
11092 2011-05-08  Bruno Haible  <bruno@clisp.org>
11093
11094         imaxabs: Move AC_LIBOBJ invocations to module description.
11095         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
11096         invocations from here...
11097         * modules/imaxabs (configure.ac): ... to here.
11098
11099 2011-05-08  Bruno Haible  <bruno@clisp.org>
11100
11101         getaddrinfo: Move AC_LIBOBJ invocations to module description.
11102         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
11103         AC_LIBOBJ invocations from here...
11104         * modules/getaddrinfo (configure.ac): ... to here.
11105         (Depends-on): Add conditions.
11106
11107 2011-05-08  Bruno Haible  <bruno@clisp.org>
11108
11109         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11110         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
11111         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11112         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
11113         (gl_PREREQ_INET_PTON): ... from here.
11114         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
11115         gl_PREREQ_INET_PTON here.
11116         (Depends-on): Update condition.
11117
11118 2011-05-08  Bruno Haible  <bruno@clisp.org>
11119
11120         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
11121         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
11122         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
11123         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
11124         (gl_PREREQ_INET_NTOP): ... from here.
11125         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
11126         gl_PREREQ_INET_NTOP here.
11127         (Depends-on): Update condition.
11128
11129 2011-05-08  Bruno Haible  <bruno@clisp.org>
11130
11131         iconv_open: Move AC_LIBOBJ invocations to module description.
11132         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
11133         AC_LIBOBJ invocations from here...
11134         * modules/iconv_open (configure.ac): ... to here.
11135
11136 2011-05-08  Bruno Haible  <bruno@clisp.org>
11137
11138         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
11139         If module 'iconv_open' is among the main modules and module
11140         'iconv_open-utf' is among the tests dependencies, then
11141         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
11142         return the special iconv_t values. Therefore iconv() and iconv_close()
11143         must support these special iconv_t values, already in lib, not only in
11144         tests.
11145         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
11146         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
11147         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
11148         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
11149         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
11150         (Depends-on): Add the dependencies of iconv_open-utf.
11151         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
11152         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
11153         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
11154
11155 2011-05-08  Bruno Haible  <bruno@clisp.org>
11156
11157         group-member: Move AC_LIBOBJ invocations to module description.
11158         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
11159         gl_PREREQ_GROUP_MEMBER invocations from here...
11160         * modules/group-member (configure.ac): ... to here.
11161
11162 2011-05-08  Bruno Haible  <bruno@clisp.org>
11163
11164         grantpt: Move AC_LIBOBJ invocations to module description.
11165         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
11166         invocations from here...
11167         * modules/grantpt (configure.ac): ... to here.
11168
11169 2011-05-08  Bruno Haible  <bruno@clisp.org>
11170
11171         glob: Move AC_LIBOBJ invocations to module description.
11172         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
11173         from here...
11174         * modules/glob (configure.ac): ... to here.
11175
11176 2011-05-08  Bruno Haible  <bruno@clisp.org>
11177
11178         getusershell: Move AC_LIBOBJ invocations to module description.
11179         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
11180         Move AC_LIBOBJ invocation from here...
11181         * modules/getusershell (configure.ac): ... to here.
11182         (Depends-on): Update condition.
11183
11184 2011-05-08  Bruno Haible  <bruno@clisp.org>
11185
11186         gettimeofday: Move AC_LIBOBJ invocations to module description.
11187         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
11188         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
11189         gl_PREREQ_GETTIMEOFDAY invocations from here...
11190         * modules/gettimeofday (configure.ac): ... to here.
11191
11192 2011-05-08  Bruno Haible  <bruno@clisp.org>
11193
11194         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
11195         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
11196         just gl_FUNC_TZSET.
11197         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
11198         (gl_FUNC_TZSET_CLOBBER): Remove actions.
11199         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
11200         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
11201
11202 2011-05-08  Bruno Haible  <bruno@clisp.org>
11203
11204         getsubopt: Move AC_LIBOBJ invocations to module description.
11205         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
11206         gl_PREREQ_GETSUBOPT invocations from here...
11207         * modules/getsubopt (configure.ac): ... to here.
11208
11209 2011-05-08  Bruno Haible  <bruno@clisp.org>
11210
11211         getpass-gnu: Move AC_LIBOBJ invocations to module description.
11212         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
11213         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
11214         * modules/getpass-gnu (configure.ac): ... to here.
11215
11216 2011-05-08  Bruno Haible  <bruno@clisp.org>
11217
11218         getpass: Move AC_LIBOBJ invocations to module description.
11219         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
11220         gl_PREREQ_GETPASS invocations from here...
11221         * modules/getpass (configure.ac): ... to here.
11222
11223 2011-05-08  Bruno Haible  <bruno@clisp.org>
11224
11225         getpagesize: Move AC_LIBOBJ invocations to module description.
11226         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
11227         from here...
11228         * modules/getpagesize (configure.ac): ... to here.
11229
11230 2011-05-08  Bruno Haible  <bruno@clisp.org>
11231
11232         getopt: Move AC_LIBOBJ invocations to module description.
11233         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
11234         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
11235         invocations from here...
11236         * modules/getopt-gnu (configure.ac): ... to here.
11237         * modules/getopt-posix (configure.ac): ... and here.
11238         (Depends-on): Update condition.
11239
11240 2011-05-08  Bruno Haible  <bruno@clisp.org>
11241
11242         getopt, argp: Respect rules for use of AC_LIBOBJ.
11243         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
11244         (gl_REPLACE_GETOPT_ALWAYS): New macro.
11245         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
11246         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
11247
11248 2011-05-08  Bruno Haible  <bruno@clisp.org>
11249
11250         getlogin_r: Move AC_LIBOBJ invocations to module description.
11251         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
11252         gl_PREREQ_GETLOGIN_R invocations from here...
11253         * modules/getlogin_r (configure.ac): ... to here.
11254
11255 2011-05-08  Bruno Haible  <bruno@clisp.org>
11256
11257         getlogin: Move AC_LIBOBJ invocations to module description.
11258         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
11259         here...
11260         * modules/getlogin (configure.ac): ... to here.
11261
11262 2011-05-08  Bruno Haible  <bruno@clisp.org>
11263
11264         getloadavg: Move AC_LIBOBJ invocations to module description.
11265         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
11266         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
11267         * modules/getloadavg (configure.ac): ... to here.
11268
11269 2011-05-08  Bruno Haible  <bruno@clisp.org>
11270
11271         gethrxtime: Move AC_LIBOBJ invocations to module description.
11272         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
11273         LIB_GETHRXTIME from here...
11274         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
11275         invocations from here...
11276         * modules/gethrxtime (configure.ac): ... to here.
11277
11278 2011-05-08  Bruno Haible  <bruno@clisp.org>
11279
11280         gethostname: Move AC_LIBOBJ invocations to module description.
11281         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
11282         gl_PREREQ_GETHOSTNAME invocations from here...
11283         * modules/gethostname (configure.ac): ... to here.
11284
11285 2011-05-08  Bruno Haible  <bruno@clisp.org>
11286
11287         getgroups: Move AC_LIBOBJ invocations to module description.
11288         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
11289         here...
11290         * modules/getgroups (configure.ac): ... to here.
11291
11292 2011-05-08  Bruno Haible  <bruno@clisp.org>
11293
11294         getdtablesize: Move AC_LIBOBJ invocations to module description.
11295         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
11296         invocation from here...
11297         * modules/getdtablesize (configure.ac): ... to here.
11298
11299 2011-05-08  Bruno Haible  <bruno@clisp.org>
11300
11301         getdomainname: Move AC_LIBOBJ invocations to module description.
11302         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
11303         gl_PREREQ_GETDOMAINNAME invocations from here...
11304         * modules/getdomainname (configure.ac): ... to here.
11305
11306 2011-05-08  Bruno Haible  <bruno@clisp.org>
11307
11308         getline: Move AC_LIBOBJ invocations to module description.
11309         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
11310         invocations from here...
11311         * modules/getline (configure.ac): ... to here.
11312
11313 2011-05-08  Bruno Haible  <bruno@clisp.org>
11314
11315         getline: Simplify.
11316         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
11317         It's already handled through the module dependency.
11318
11319 2011-05-08  Bruno Haible  <bruno@clisp.org>
11320
11321         getdelim: Move AC_LIBOBJ invocations to module description.
11322         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
11323         and gl_PREREQ_GETDELIM invocations from here...
11324         * modules/getdelim (configure.ac): ... to here.
11325         (Depends-on): Fix condition.
11326
11327 2011-05-08  Bruno Haible  <bruno@clisp.org>
11328
11329         getcwd: Move AC_LIBOBJ invocations to module description.
11330         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
11331         invocations from here...
11332         * modules/getcwd (configure.ac): ... to here.
11333
11334 2011-05-08  Bruno Haible  <bruno@clisp.org>
11335
11336         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
11337         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
11338         here...
11339         * modules/getcwd-lgpl (configure.ac): ... to here.
11340
11341 2011-05-07  Bruno Haible  <bruno@clisp.org>
11342
11343         crypto/gc: Move AC_LIBOBJ invocations to module description.
11344         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
11345         * modules/crypto/gc (configure.ac): ... to here.
11346
11347 2011-05-07  Bruno Haible  <bruno@clisp.org>
11348
11349         fwriting: Move AC_LIBOBJ invocations to module description.
11350         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
11351         here...
11352         * modules/fwriting (configure.ac): ... to here.
11353
11354 2011-05-07  Bruno Haible  <bruno@clisp.org>
11355
11356         fwritable: Move AC_LIBOBJ invocations to module description.
11357         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
11358         here...
11359         * modules/fwritable (configure.ac): ... to here.
11360
11361 2011-05-07  Bruno Haible  <bruno@clisp.org>
11362
11363         futimens: Move AC_LIBOBJ invocations to module description.
11364         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
11365         here...
11366         * modules/futimens (configure.ac): ... to here.
11367
11368 2011-05-07  Bruno Haible  <bruno@clisp.org>
11369
11370         ftruncate: Move AC_LIBOBJ invocations to module description.
11371         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
11372         gl_PREREQ_FTRUNCATE invocations from here...
11373         * modules/ftruncate (configure.ac): ... to here.
11374
11375 2011-05-07  Bruno Haible  <bruno@clisp.org>
11376
11377         fsync: Move AC_LIBOBJ invocations to module description.
11378         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
11379         invocations from here...
11380         * modules/fsync (configure.ac): ... to here.
11381
11382 2011-05-07  Bruno Haible  <bruno@clisp.org>
11383
11384         fsusage: Move AC_LIBOBJ invocations to module description.
11385         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
11386         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
11387         * modules/fsusage (configure.ac): ... to here.
11388
11389 2011-05-07  Bruno Haible  <bruno@clisp.org>
11390
11391         freopen: Move AC_LIBOBJ invocations to module description.
11392         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
11393         invocations from here...
11394         * modules/freopen (configure.ac): ... to here.
11395
11396 2011-05-07  Bruno Haible  <bruno@clisp.org>
11397
11398         free: Move AC_LIBOBJ invocations to module description.
11399         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
11400         invocations from here...
11401         * modules/free (configure.ac): ... to here.
11402
11403 2011-05-07  Bruno Haible  <bruno@clisp.org>
11404
11405         freadable: Move AC_LIBOBJ invocations to module description.
11406         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
11407         here...
11408         * modules/freadable (configure.ac): ... to here.
11409
11410 2011-05-07  Bruno Haible  <bruno@clisp.org>
11411
11412         fpurge: Move AC_LIBOBJ invocations to module description.
11413         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
11414         invocations from here...
11415         * modules/fpurge (configure.ac): ... to here.
11416
11417 2011-05-07  Bruno Haible  <bruno@clisp.org>
11418
11419         fpending: Move AC_LIBOBJ invocations to module description.
11420         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
11421         gl_FUNC_FPENDING.
11422         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
11423         invocations from here...
11424         * modules/fpending (configure.ac): ... to here.
11425
11426 2011-05-07  Bruno Haible  <bruno@clisp.org>
11427
11428         fopen: Move AC_LIBOBJ invocations to module description.
11429         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
11430         invocations from here...
11431         * modules/fopen (configure.ac): ... to here.
11432
11433 2011-05-07  Bruno Haible  <bruno@clisp.org>
11434
11435         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
11436         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
11437         gl_FUNC_FNMATCH_POSIX.
11438         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
11439         invocations from here...
11440         * modules/fnmatch (configure.ac): ... to here.
11441         * modules/fnmatch-gnu (configure.ac): ... and here.
11442
11443 2011-05-07  Bruno Haible  <bruno@clisp.org>
11444
11445         flock: Move AC_LIBOBJ invocations to module description.
11446         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
11447         invocations from here...
11448         * modules/flock (configure.ac): ... to here.
11449
11450 2011-05-07  Bruno Haible  <bruno@clisp.org>
11451
11452         fileblocks: Move AC_LIBOBJ invocations to module description.
11453         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
11454         gl_PREREQ_FILEBLOCKS invocations from here...
11455         * modules/fileblocks (configure.ac): ... to here.
11456
11457 2011-05-06  Bruno Haible  <bruno@clisp.org>
11458
11459         fflush: Move AC_LIBOBJ invocations to module description.
11460         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
11461         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
11462         invocations from here...
11463         * modules/fflush (configure.ac): ... to here.
11464
11465 2011-05-06  Bruno Haible  <bruno@clisp.org>
11466
11467         fdopendir: Move AC_LIBOBJ invocations to module description.
11468         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
11469         here...
11470         * modules/fdopendir (configure.ac): ... to here.
11471         (Depends-on): Improve conditions.
11472
11473 2011-05-06  Bruno Haible  <bruno@clisp.org>
11474
11475         _Exit: Move AC_LIBOBJ invocations to module description.
11476         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
11477         invocations from here...
11478         * modules/_Exit (configure.ac): ... to here.
11479
11480 2011-05-21  Bruno Haible  <bruno@clisp.org>
11481
11482         euidaccess: Respect rules for use of AC_LIBOBJ.
11483         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
11484         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
11485         from here...
11486         * modules/euidaccess (configure.ac): ... to here.
11487
11488 2011-05-06  Bruno Haible  <bruno@clisp.org>
11489
11490         error: Move AC_LIBOBJ invocations to module description.
11491         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
11492         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
11493         invocations from here...
11494         * modules/error (configure.ac): ... to here.
11495
11496 2011-05-06  Bruno Haible  <bruno@clisp.org>
11497
11498         duplocale: Move AC_LIBOBJ invocations to module description.
11499         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
11500         gl_PREREQ_DUPLOCALE invocations from here...
11501         * modules/duplocale (configure.ac): ... to here.
11502
11503 2011-05-05  Bruno Haible  <bruno@clisp.org>
11504
11505         dirfd: Move AC_LIBOBJ invocations to module description.
11506         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
11507         gl_FUNC_DIRFD.
11508         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
11509         here...
11510         * modules/dirfd (configure.ac): ... to here.
11511         (Depends-on): Fix condition.
11512
11513 2011-05-05  Bruno Haible  <bruno@clisp.org>
11514
11515         chown: Respect rules for use of AC_LIBOBJ.
11516         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
11517         * modules/chown (configure.ac): ... to here.
11518
11519 2011-05-05  Bruno Haible  <bruno@clisp.org>
11520
11521         chdir-long: Move AC_LIBOBJ invocations to module description.
11522         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
11523         gl_PREREQ_CHDIR_LONG invocations from here...
11524         * modules/chdir-long (configure.ac): ... to here.
11525
11526 2011-05-05  Bruno Haible  <bruno@clisp.org>
11527
11528         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
11529         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
11530         from here...
11531         * modules/canonicalize-lgpl (configure.ac): ... to here.
11532
11533 2011-05-05  Bruno Haible  <bruno@clisp.org>
11534
11535         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
11536         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
11537         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
11538         REPLACE_CALLOC.
11539         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
11540         * modules/calloc-gnu (configure.ac): Likewise.
11541
11542 2011-05-05  Bruno Haible  <bruno@clisp.org>
11543
11544         btowc: Move AC_LIBOBJ invocations to module description.
11545         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
11546         invocations from here...
11547         * modules/btowc (configure.ac): ... to here.
11548
11549 2011-05-21  Bruno Haible  <bruno@clisp.org>
11550
11551         atexit: Move AC_LIBOBJ invocations to module description.
11552         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
11553         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
11554         here...
11555         * modules/atexit (configure.ac): ... to here.
11556
11557 2011-05-05  Bruno Haible  <bruno@clisp.org>
11558
11559         atoll: Move AC_LIBOBJ invocations to module description.
11560         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
11561         invocations from here...
11562         * modules/atoll (configure.ac): ... to here.
11563
11564 2011-05-05  Bruno Haible  <bruno@clisp.org>
11565
11566         argz: Move AC_LIBOBJ invocations to module description.
11567         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
11568         * modules/argz (configure.ac): ... to here.
11569
11570 2011-05-05  Bruno Haible  <bruno@clisp.org>
11571
11572         alphasort: Move AC_LIBOBJ invocations to module description.
11573         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
11574         gl_PREREQ_ALPHASORT invocations from here...
11575         * modules/alphasort (configure.ac): ... to here.
11576
11577 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11578
11579         verify: new macro verify_expr; verify_true deprecated
11580         * NEWS: Mention this.
11581         * doc/verify.texi (Compile-time Assertions): Document this.
11582         * lib/verify.h (verify_true): Deprecate.
11583         (verify_expr): New macro.
11584         * tests/test-verify.c (function): Test verify_expr.
11585
11586 2011-06-14  Jim Meyering  <meyering@redhat.com>
11587
11588         init.sh: give more portable redirection-related advice in a comment
11589         * tests/init.sh (stderr_fileno_): Update the advice in comments.
11590         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
11591         for lots of discussion.  Stefano Lattarini suggested the solution
11592         of putting "9>&2" after the command.  Reported by Bruno Haible.
11593
11594 2011-06-13  Bruno Haible  <bruno@clisp.org>
11595
11596         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
11597         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
11598         'none'.
11599
11600 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11601
11602         ftoastr: use strtof only if HAVE_STRTOF
11603         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
11604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
11605         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
11606         * modules/ftoastr (configure.ac): Check for strtof.
11607
11608 2011-06-13  Bruno Haible  <bruno@clisp.org>
11609
11610         gnulib-tool: Addendum to 2011-06-08 commit.
11611         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
11612         and --witness-c-macro have been given, augment AM_CPPFLAGS.
11613
11614 2011-06-13  Bruno Haible  <bruno@clisp.org>
11615
11616         fseeko: Provide a non-inline replacement of fseek().
11617         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
11618         * modules/fseeko (Depends-on): Add fseek.
11619         * modules/fseek (License): Change to LGPLv2+.
11620
11621 2011-06-13  Bruno Haible  <bruno@clisp.org>
11622
11623         ftello: Provide a non-inline replacement of ftell().
11624         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
11625         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
11626         not have ftello() (such as on mingw).
11627         * modules/ftello (Depends-on): Add ftell.
11628         * modules/ftell (License): Change to LGPLv2+.
11629
11630 2011-05-07  Bruno Haible  <bruno@clisp.org>
11631
11632         ftell: Move AC_LIBOBJ invocations to module description.
11633         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
11634         * modules/ftell (configure.ac): ... to here.
11635
11636 2011-05-07  Bruno Haible  <bruno@clisp.org>
11637
11638         ftello: Respect rules for use of AC_LIBOBJ.
11639         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
11640         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
11641         here...
11642         * modules/ftello (configure.ac): ... to here.
11643
11644 2011-05-07  Bruno Haible  <bruno@clisp.org>
11645
11646         fseeko: Simplify.
11647         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
11648         (gl_FUNC_FSEEKO): Inline it here.
11649
11650 2011-05-07  Bruno Haible  <bruno@clisp.org>
11651
11652         fseek: Move AC_LIBOBJ invocations to module description.
11653         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
11654         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
11655         * modules/fseek (configure.ac): ... to here.
11656
11657 2011-05-07  Bruno Haible  <bruno@clisp.org>
11658
11659         fseek: Respect rules for use of AC_LIBOBJ.
11660         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
11661         here...
11662         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
11663
11664 2011-05-07  Bruno Haible  <bruno@clisp.org>
11665
11666         fseeko: Respect rules for use of AC_LIBOBJ.
11667         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
11668         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
11669         here...
11670         * modules/fseeko (configure.ac): ... to here.
11671
11672 2011-06-13  Bruno Haible  <bruno@clisp.org>
11673
11674         gnulib-tool: Allow comments in the 'Depends-on' section.
11675         * doc/gnulib.texi (Module description): Mention comment syntax in the
11676         Depends-on section.
11677         * gnulib-tool (func_get_dependencies): Filter out comment lines.
11678
11679 2011-06-13  Bruno Haible  <bruno@clisp.org>
11680
11681         file-set.h: guard __attibute__ use, now that it's not always defined
11682         * lib/file-set.h (record_file): Use __attribute__ only with compiler
11683         versions that support it.  This fixes a coreutils build failure with
11684         the vendor cc on HP-UX 11.31.
11685
11686 2011-06-12  Bruno Haible  <bruno@clisp.org>
11687
11688         acl: Add support for HP-UX >= 11.11 JFS ACLs.
11689         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
11690         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
11691         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
11692         (acl, aclsort): New declarations.
11693         (aclv_nontrivial): New declaration.
11694         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
11695         (file_has_acl): Read also the second kind of HP-UX ACLs.
11696         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
11697         kind of HP-UX ACLs if the first kind fails.
11698         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
11699         second kind of HP-UX ACLs.
11700         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
11701         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
11702         agree.
11703         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11704         hpuxjfs.
11705         Handle hpuxjfs.
11706         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
11707         hpuxjfs.
11708         Handle hpuxjfs.
11709         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11710         (func_test_same_acls): Use both lsacl and getacl.
11711         Handle hpuxjfs.
11712         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
11713         (func_test_same_acls): Use both lsacl and getacl.
11714         Handle hpuxjfs.
11715
11716 2011-06-12  Bruno Haible  <bruno@clisp.org>
11717
11718         acl: Complete the 2010-08-10 fix.
11719         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
11720         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
11721         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
11722         explicitly.
11723         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
11724         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
11725
11726 2011-06-12  Bruno Haible  <bruno@clisp.org>
11727
11728         spawn-pipe tests: Comments.
11729         * tests/test-spawn-pipe-child.c (main): Update comment.
11730         Reported by James Youngman <jay@gnu.org>.
11731
11732 2011-06-11  James Youngman  <jay@gnu.org>
11733
11734         New module 'stat-size'.
11735         * modules/stat-size: New module.  Provides macros for accessing
11736         file size information in instances of struct stat.  Depends on the
11737         fileblocks module because it calls st_blocks.
11738         * lib/stat-size.h: New file, adapted from coreutils' system.h.
11739         * doc/gnulib.texi: Include stat-size.texi.
11740         * doc/stat-size.texi: Documentation for this module.
11741         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
11742         * m4/fileblocks.m4: Mention that stat-size depends on the call to
11743         AC_STRUCT_ST_BLOCKS.
11744
11745 2011-06-09  Bruno Haible  <bruno@clisp.org>
11746
11747         thread: Support pthreads-win32.
11748         * lib/glthread/thread.h (gl_thread_self): Define differently on
11749         pthreads-win32.
11750         (gl_null_thread): New declaration.
11751         (gl_thread_self_pointer): New macro.
11752         * lib/glthread/thread.c (gl_null_thread): New constant.
11753         * tests/test-lock.c: Use gl_thread_self_pointer instead of
11754         gl_thread_self.
11755         * tests/test-tls.c: Likewise.
11756         Suggested by Paul Eggert. Reported by Eric Blake.
11757
11758 2011-06-09  Bruno Haible  <bruno@clisp.org>
11759
11760         thread: Fix confusion between NULL and 0.
11761         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
11762         Reported by Paul Eggert.
11763
11764 2011-06-09  Bruno Haible  <bruno@clisp.org>
11765
11766         spawn-pipe tests: Avoid test failure on HP-UX 11.
11767         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
11768         is closed.
11769
11770 2011-06-09  Bruno Haible  <bruno@clisp.org>
11771
11772         acl tests: Fix compilation error on HP-UX 11.
11773         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
11774
11775 2011-06-09  Bruno Haible  <bruno@clisp.org>
11776
11777         rmdir: Avoid test failure on HP-UX 10.20.
11778         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
11779         EEXIST.
11780
11781 2011-06-08  Eric Blake  <eblake@redhat.com>
11782
11783         perror: fix test on mingw
11784         * modules/perror-tests (Depends-on): Add dup2.
11785
11786         strerror_r-posix: fix on MacOS
11787         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
11788         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
11789         logic bug.
11790         * lib/strerror_r.c (strerror_r): Fix the bug.
11791         * lib/strerror.c (strerror): Likewise.
11792         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
11793         problem.
11794         * doc/posix-functions/strerror.texi (strerror): Likewise.
11795         * doc/posix-functions/perror.texi (perror): Likewise.
11796         * tests/test-strerror.c (main): Enhance test.
11797         * tests/test-strerror_r.c (main): Likewise.
11798
11799 2011-06-08  Bruno Haible  <bruno@clisp.org>
11800
11801         gnulib-tool: Better isolation between different gnulib-tool invocations.
11802         * gnulib-tool: New option --witness-c-macro.
11803         (witness_c_macro): New variable.
11804         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
11805         AM_CPPFLAGS define it as a C macro.
11806         (func_emit_tests_Makefile_am): Likewise.
11807         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
11808         read it from there.
11809         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
11810         m4_define, not AC_DEFUN.
11811         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
11812         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
11813         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
11814         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
11815         s|...|...|, to substitute the values of the GNULIB_* module indicator
11816         variables.
11817         * modules/dirent (Makefile.am): Likewise.
11818         * modules/fcntl-h (Makefile.am): Likewise.
11819         * modules/iconv-h (Makefile.am): Likewise.
11820         * modules/langinfo (Makefile.am): Likewise.
11821         * modules/locale (Makefile.am): Likewise.
11822         * modules/math (Makefile.am): Likewise.
11823         * modules/netdb (Makefile.am): Likewise.
11824         * modules/poll-h (Makefile.am): Likewise.
11825         * modules/pty (Makefile.am): Likewise.
11826         * modules/search (Makefile.am): Likewise.
11827         * modules/signal (Makefile.am): Likewise.
11828         * modules/spawn (Makefile.am): Likewise.
11829         * modules/stdio (Makefile.am): Likewise.
11830         * modules/stdlib (Makefile.am): Likewise.
11831         * modules/string (Makefile.am): Likewise.
11832         * modules/sys_ioctl (Makefile.am): Likewise.
11833         * modules/sys_select (Makefile.am): Likewise.
11834         * modules/sys_socket (Makefile.am): Likewise.
11835         * modules/sys_stat (Makefile.am): Likewise.
11836         * modules/sys_times (Makefile.am): Likewise.
11837         * modules/sys_utsname (Makefile.am): Likewise.
11838         * modules/sys_wait (Makefile.am): Likewise.
11839         * modules/termios (Makefile.am): Likewise.
11840         * modules/time (Makefile.am): Likewise.
11841         * modules/unistd (Makefile.am): Likewise.
11842         * modules/wchar (Makefile.am): Likewise.
11843
11844 2011-06-08  Eric Blake  <eblake@redhat.com>
11845
11846         strerror: simplify replacement
11847         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
11848         * modules/strerror (configure.ac): No prereqs needed here...
11849         * modules/strerror-override (configure.ac): ...but this needs it.
11850         (Files): Add file for needed prereq macro.
11851
11852 2011-06-08  Bruno Haible  <bruno@clisp.org>
11853
11854         strerror_r-posix: Tweaks.
11855         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
11856         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
11857         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
11858         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
11859         (gl_FUNC_STRERROR_R): ... to here.
11860         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
11861
11862 2011-06-07  Eric Blake  <eblake@redhat.com>
11863
11864         perror: document fixed bugs
11865         * doc/posix-functions/perror.texi (perror): Document recent
11866         patches.
11867
11868 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
11869
11870         stat-time: get_stat_birthtime failure is better-defined
11871         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
11872         return a timestamp whose tv_sec and tv_nsec values are both -1.
11873         Previously, the spec said only that the tv_nsec value was negative.
11874         This upward-compatible change simplifies GNU tar a bit.
11875
11876 2011-06-07  Eric Blake  <eblake@redhat.com>
11877
11878         strerror_r-posix: work around cygwin 1.7.9
11879         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
11880         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
11881         bug without replacing strerror_r.
11882         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
11883         strerror_r is buggy, but without requiring strerror_r compilation.
11884         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
11885
11886         test-perror: relax test to ignore cygwin bug
11887         * tests/test-perror2.c (main): Relax test on requiring detection
11888         of stream errors, and use unbuffered stream.
11889         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
11890         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
11891         * doc/posix-functions/fputc.texi (fputc): Likewise.
11892         * doc/posix-functions/fputs.texi (fputs): Likewise.
11893         * doc/posix-functions/fputws.texi (fputws): Likewise.
11894         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
11895         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
11896         * doc/posix-functions/getopt.texi (getopt): Likewise.
11897         * doc/posix-functions/perror.texi (perror): Likewise.
11898         * doc/posix-functions/printf.texi (printf): Likewise.
11899         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
11900         * doc/posix-functions/psignal.texi (psignal): Likewise.
11901         * doc/posix-functions/putc.texi (putc): Likewise.
11902         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
11903         Likewise.
11904         * doc/posix-functions/putchar.texi (putchar): Likewise.
11905         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
11906         Likewise.
11907         * doc/posix-functions/puts.texi (puts): Likewise.
11908         * doc/posix-functions/putwc.texi (putwc): Likewise.
11909         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
11910         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
11911         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
11912         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
11913         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
11914         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
11915         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
11916         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
11917
11918 2011-05-22  Bruno Haible  <bruno@clisp.org>
11919
11920         strerror: Move AC_LIBOBJ invocations to module description.
11921         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
11922         gl_PREREQ_STRERROR invocations from here...
11923         * modules/strerror (configure.ac): ... to here.
11924
11925 2011-05-21  Bruno Haible  <bruno@clisp.org>
11926
11927         perror: Use common idiom.
11928         * modules/perror (configure.ac): Reorder statements.
11929
11930 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
11931
11932         tests: fix usage message in 'mktempd_'
11933         * tests/init.sh (mktempd_): In the usage message, use literal
11934         'mktempd_', not '$ME' (which is even undefined), as the name of
11935         the subroutine.
11936
11937 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
11938
11939         tests init: new function 'fatal_', for hard errors
11940         Before this patch, the only way offered by tests/init.sh to
11941         properly signal a hard error was the `framework_failure_'
11942         function.  But the error message issued by that function,
11943         as its name would suggest, refers to a set-up failure in the
11944         testsuite, while hard errors can obviously also be due to
11945         other reasons.  The best way to fix this inconsistency is to
11946         introduce a new function with a more general error message.
11947         * tests/init.sh (fatal_): New function.
11948
11949 2011-06-06  Eric Blake  <eblake@redhat.com>
11950
11951         canonicalize-lgpl: use common idiom
11952         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
11953         over newer POSIX -Rf.
11954         Reported by Bruno Haible.
11955
11956         canonicalize-lgpl: work around AIX realpath bug
11957         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
11958         * doc/posix-functions/realpath.texi (realpath): Document it.
11959         Reported by Bruno Haible.
11960
11961         strerror: work around FreeBSD bug
11962         * lib/strerror.c (strerror): Special case 0.
11963         Reported by Bruno Haible.
11964
11965         strerror-override: avoid bloating errno module
11966         * modules/errno (Files, configure.ac): Move replacement strings...
11967         * modules/strerror-override: ...to new module.
11968         * modules/strerror (Depends-on): Add strerror-override.
11969         * modules/strerror_r-posix (Depends-on): Likewise.
11970         * MODULES.html.sh: Document new module.
11971         Reported by Bruno Haible.
11972
11973 2011-06-06  Bruno Haible  <bruno@clisp.org>
11974
11975         spawn-pipe tests: Rename program.
11976         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
11977         * tests/test-spawn-pipe-child.c: Update comment.
11978         * tests/test-spawn-pipe.sh: Update.
11979         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
11980
11981         spawn-pipe tests: Link the child program only against libc.
11982         * tests/test-spawn-pipe-child.c: New file, extracted from
11983         tests/test-spawn-pipe.c.
11984         (main): Expect only one argument.
11985         (is_open): New function, copied from tests/test-pipe.c.
11986         * tests/test-spawn-pipe.c: Don't include <errno.h>.
11987         (child_main): Remove function.
11988         (test_pipe): Pass only one argument to the child program.
11989         (main): Remove child process code. Expect the child program's name as
11990         first argument.
11991         * tests/test-spawn-pipe.sh: Pass the child program's name as first
11992         argument.
11993         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
11994         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
11995         test-spawn-pipe-child against no libraries.
11996
11997 2011-06-06  Bruno Haible  <bruno@clisp.org>
11998
11999         careadlinkat: Avoid mismatch between ssize_t and int.
12000         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
12001         * lib/careadlinkat.c (careadlinkatcwd): Define always.
12002
12003 2011-06-06  Jim Meyering  <meyering@redhat.com>
12004
12005         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
12006         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
12007         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
12008
12009 2011-06-05  Bruno Haible  <bruno@clisp.org>
12010
12011         ansi-c++-opt: Interoperability with libtool.
12012         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
12013         set the variable to "no", not to ":".
12014         * NEWS: Mention the change.
12015
12016 2011-06-05  Bruno Haible  <bruno@clisp.org>
12017
12018         acl: Fix test failure on AIX 7.
12019         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
12020         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
12021
12022 2011-06-05  Bruno Haible  <bruno@clisp.org>
12023
12024         pipe-filter-ii: Fix test failure on AIX and IRIX.
12025         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
12026         with EAGAIN, retry with a smaller buffer size.
12027
12028 2011-06-05  Bruno Haible  <bruno@clisp.org>
12029
12030         localename: Fix link dependencies.
12031         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
12032         * modules/localename-tests (Makefile.am): Link test-localename with
12033         $(LIBTHREAD).
12034
12035 2011-06-05  Bruno Haible  <bruno@clisp.org>
12036
12037         error: Avoid gcc warning.
12038         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
12039
12040 2011-06-05  Bruno Haible  <bruno@clisp.org>
12041
12042         unsetenv: Avoid gcc warning.
12043         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
12044
12045 2011-06-05  Bruno Haible  <bruno@clisp.org>
12046
12047         setenv: Avoid gcc warning.
12048         * lib/setenv.c (setenv): Provide declaration if system lacks it.
12049
12050 2011-06-05  Bruno Haible  <bruno@clisp.org>
12051
12052         sys_select: Ensure memset is declared also on AIX 7.
12053         * lib/sys_select.in.h: Include <string.h> also on AIX.
12054         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
12055         self-contained also on AIX 7.1.
12056
12057 2011-06-04  Jim Meyering  <meyering@redhat.com>
12058
12059         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
12060         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
12061         function name, "error".
12062         (_gl_translatable_diag_func_re): New configurable variable.
12063
12064 2011-06-04  Bruno Haible  <bruno@clisp.org>
12065
12066         getopt: Avoid gcc warning.
12067         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
12068
12069 2011-06-04  Bruno Haible  <bruno@clisp.org>
12070
12071         strerror_r: Fix comments.
12072         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
12073         commit.
12074
12075 2011-06-04  Bruno Haible  <bruno@clisp.org>
12076
12077         perror: Fix compilation error.
12078         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
12079         Undefine fprintf, not sprintf.
12080         * modules/perror (Depends-on): Remove intprops, verify.
12081
12082 2011-06-04  Bruno Haible  <bruno@clisp.org>
12083
12084         setlocale: Enable replacement on Cygwin 1.5.
12085         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
12086         Cygwin 1.5.x.
12087         * doc/posix-functions/setlocale.texi: Mention that the problem with the
12088         LC_CTYPE category also exists on Cygwin 1.5.x.
12089
12090 2011-06-04  Bruno Haible  <bruno@clisp.org>
12091
12092         strerror-override: Don't disable symbol renamings.
12093         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
12094         * lib/strerror-override.c: Include config.h.
12095         (strerror_override): Don't undefine.
12096
12097 2011-06-03  Bruno Haible  <bruno@clisp.org>
12098
12099         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
12100         * lib/localename.h: Update copyright header.
12101         * lib/localename.c: Likewise.
12102         * lib/relocatable.h: Likewise.
12103         * lib/relocatable.c: Likewise.
12104
12105 2011-06-02  Bruno Haible  <bruno@clisp.org>
12106
12107         doc: Fix a module name.
12108         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
12109
12110 2011-06-02  Bruno Haible  <bruno@clisp.org>
12111
12112         pipe2: Remove dependency on 'nonblocking' module.
12113         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
12114         O_NONBLOCK is defined by gnulib.
12115         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
12116         is zero.
12117         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
12118         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
12119         defined by gnulib.
12120         (get_nonblocking_flag): New function.
12121         (main): Test O_NONBLOCK flag only if it is nonzero.
12122         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
12123
12124 2011-06-03  Jim Meyering  <meyering@redhat.com>
12125
12126         maint: three new prohibit-header-without-use rules
12127         Prohibit use of cloexec.h, posixver.h, same.h without use.
12128         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
12129         (sc_prohibit_posixver_without_use): Likewise.
12130         (sc_prohibit_same_without_use): Likewise.
12131
12132 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12133
12134         allocator: 'die' routine is now given requested size
12135         * lib/allocator.h (struct allocator.die): New size arg.
12136         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
12137         If the actual problem is an ssize_t limitation, not a size_t or
12138         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
12139
12140 2011-06-01  Eric Blake  <eblake@redhat.com>
12141
12142         strerror: drop strerror_r dependency
12143         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
12144         * lib/strerror-override.c (strerror_override): ...to new file.
12145         * lib/strerror-override.h: Add prototype.
12146         * lib/strerror-impl.h: Delete.
12147         * lib/strerror.c (strerror): New implementation.
12148         * modules/errno (Files): Add new files.
12149         (configure.ac): Compile new file as appropriate.
12150         * modules/strerror (Files): Drop unused file.
12151         (Depends-on): Drop strerror_r-posix.
12152         * MODULES.html.sh: Document strerror_r-posix.
12153         Requested by Sam Steingold.
12154
12155         perror: call strerror_r directly
12156         * modules/perror (Files): Drop strerror-impl.h.
12157         * lib/perror.c (perror): Use our own stack buffer, rather than
12158         calling a wrapper that uses static storage.
12159         * doc/posix-functions/perror.texi (perror): Document a limitation
12160         of our replacement.
12161
12162         strerror_r: fix includes for FreeBSD
12163         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
12164         since we use abort on some platforms.
12165         Reported by Matthias Bolte.
12166
12167 2011-05-31  Bruno Haible  <bruno@clisp.org>
12168
12169         Fix link errors in tests: openat-die uses gettext-h.
12170         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
12171         against $(LIBINTL).
12172         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
12173         against $(LIBINTL).
12174         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
12175         $(LIBINTL).
12176         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
12177         against $(LIBINTL).
12178         * modules/linkat-tests (Makefile.am): Link test-linkat against
12179         $(LIBINTL).
12180         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
12181         $(LIBINTL).
12182         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
12183         against $(LIBINTL).
12184         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
12185         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
12186         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
12187         $(LIBINTL).
12188         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
12189         $(LIBINTL).
12190         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
12191         $(LIBINTL).
12192         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12193
12194 2011-05-31  Bruno Haible  <bruno@clisp.org>
12195
12196         Fix link errors in tests: wait-process uses gettext-h.
12197         * modules/nonblocking-pipe-tests (Makefile.am): Set
12198         test_nonblocking_pipe_main_LDADD.
12199         * modules/nonblocking-socket-tests (Makefile.am): Link
12200         test-nonblocking-socket-main against $(LIBINTL).
12201         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12202
12203 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
12204
12205         assert-h: work around 'verify' incompatibility
12206         * lib/verify.h: Use @...@ directives, not ifdef.
12207         * modules/assert-h (assert.h): Implement the directives.
12208         (assert.h): Substitute the symbol-prefix more consistently.
12209
12210 2011-05-29  Jim Meyering  <meyering@redhat.com>
12211
12212         trim: remove three superfluous assignments
12213         * lib/trim.c (trim2): Remove three superfluous assignments
12214         and correct brace positioning.
12215
12216 2011-05-29  Bruno Haible  <bruno@clisp.org>
12217
12218         wctype-h: Avoid namespace pollution on Solaris 2.6.
12219         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
12220         identifiers.
12221         * doc/posix-headers/wctype.texi: Mention the problem.
12222         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12223
12224 2011-05-28  Jim Meyering  <meyering@redhat.com>
12225
12226         parse-datetime.y: accommodate -Wstrict-overflow
12227         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
12228         placate -Wstrict-overflow.
12229
12230         trim: avoid a warning from -O2 -Wstrict-overflow
12231         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
12232
12233 2011-05-29  Bruno Haible  <bruno@clisp.org>
12234
12235         gnulib-tool: Fix bug in yesterday's commit.
12236         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
12237         twice.
12238
12239 2011-05-29  Bruno Haible  <bruno@clisp.org>
12240
12241         Allow multiple gnulib generated include files to be combined.
12242         * gnulib-tool (func_compute_include_guard_prefix): New function.
12243         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
12244         ${gl_include_guard_prefix} references.
12245         (func_import, func_create_testdir): Invoke
12246         func_compute_include_guard_prefix.
12247         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
12248         * lib/ctype.in.h: Likewise.
12249         * lib/dirent.in.h: Likewise.
12250         * lib/errno.in.h: Likewise.
12251         * lib/fcntl.in.h: Likewise.
12252         * lib/float.in.h: Likewise.
12253         * lib/getopt.in.h: Likewise.
12254         * lib/iconv.in.h: Likewise.
12255         * lib/langinfo.in.h: Likewise.
12256         * lib/locale.in.h: Likewise.
12257         * lib/math.in.h: Likewise.
12258         * lib/netdb.in.h: Likewise.
12259         * lib/netinet_in.in.h: Likewise.
12260         * lib/poll.in.h: Likewise.
12261         * lib/pthread.in.h: Likewise.
12262         * lib/pty.in.h: Likewise.
12263         * lib/sched.in.h: Likewise.
12264         * lib/se-selinux.in.h: Likewise.
12265         * lib/search.in.h: Likewise.
12266         * lib/signal.in.h: Likewise.
12267         * lib/spawn.in.h: Likewise.
12268         * lib/stdarg.in.h: Likewise.
12269         * lib/stddef.in.h: Likewise.
12270         * lib/stdint.in.h: Likewise.
12271         * lib/stdio.in.h: Likewise.
12272         * lib/stdlib.in.h: Likewise.
12273         * lib/string.in.h: Likewise.
12274         * lib/strings.in.h: Likewise.
12275         * lib/sys_file.in.h: Likewise.
12276         * lib/sys_ioctl.in.h: Likewise.
12277         * lib/sys_select.in.h: Likewise.
12278         * lib/sys_socket.in.h: Likewise.
12279         * lib/sys_stat.in.h: Likewise.
12280         * lib/sys_time.in.h: Likewise.
12281         * lib/sys_times.in.h: Likewise.
12282         * lib/sys_uio.in.h: Likewise.
12283         * lib/sys_utsname.in.h: Likewise.
12284         * lib/sys_wait.in.h: Likewise.
12285         * lib/sysexits.in.h: Likewise.
12286         * lib/termios.in.h: Likewise.
12287         * lib/time.in.h: Likewise.
12288         * lib/unistd.in.h: Likewise.
12289         * lib/wchar.in.h: Likewise.
12290         * lib/wctype.in.h: Likewise.
12291         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
12292         * modules/ctype (Makefile.am): Likewise.
12293         * modules/dirent (Makefile.am): Likewise.
12294         * modules/errno (Makefile.am): Likewise.
12295         * modules/fcntl-h (Makefile.am): Likewise.
12296         * modules/float (Makefile.am): Likewise.
12297         * modules/getopt-posix (Makefile.am): Likewise.
12298         * modules/iconv-h (Makefile.am): Likewise.
12299         * modules/langinfo (Makefile.am): Likewise.
12300         * modules/locale (Makefile.am): Likewise.
12301         * modules/math (Makefile.am): Likewise.
12302         * modules/netdb (Makefile.am): Likewise.
12303         * modules/netinet_in (Makefile.am): Likewise.
12304         * modules/poll-h (Makefile.am): Likewise.
12305         * modules/pthread (Makefile.am): Likewise.
12306         * modules/pty (Makefile.am): Likewise.
12307         * modules/sched (Makefile.am): Likewise.
12308         * modules/search (Makefile.am): Likewise.
12309         * modules/selinux-h (Makefile.am): Likewise.
12310         * modules/signal (Makefile.am): Likewise.
12311         * modules/spawn (Makefile.am): Likewise.
12312         * modules/stdarg (Makefile.am): Likewise.
12313         * modules/stddef (Makefile.am): Likewise.
12314         * modules/stdint (Makefile.am): Likewise.
12315         * modules/stdio (Makefile.am): Likewise.
12316         * modules/stdlib (Makefile.am): Likewise.
12317         * modules/string (Makefile.am): Likewise.
12318         * modules/strings (Makefile.am): Likewise.
12319         * modules/sys_file (Makefile.am): Likewise.
12320         * modules/sys_ioctl (Makefile.am): Likewise.
12321         * modules/sys_select (Makefile.am): Likewise.
12322         * modules/sys_socket (Makefile.am): Likewise.
12323         * modules/sys_stat (Makefile.am): Likewise.
12324         * modules/sys_time (Makefile.am): Likewise.
12325         * modules/sys_times (Makefile.am): Likewise.
12326         * modules/sys_uio (Makefile.am): Likewise.
12327         * modules/sys_utsname (Makefile.am): Likewise.
12328         * modules/sys_wait (Makefile.am): Likewise.
12329         * modules/sysexits (Makefile.am): Likewise.
12330         * modules/termios (Makefile.am): Likewise.
12331         * modules/time (Makefile.am): Likewise.
12332         * modules/unistd (Makefile.am): Likewise.
12333         * modules/wchar (Makefile.am): Likewise.
12334         * modules/wctype-h (Makefile.am): Likewise.
12335         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
12336
12337 2011-05-29  Bruno Haible  <bruno@clisp.org>
12338
12339         assert-h: Allow multiple gnulib generated replacements to coexist.
12340         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
12341
12342 2011-05-29  Bruno Haible  <bruno@clisp.org>
12343
12344         argp: Allow coexistence with strerror_r-posix module.
12345         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
12346         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
12347         by gnulib's <string.h> replacement), assume it has the POSIX signature,
12348         not the glibc signature.
12349
12350 2011-05-28  Bruno Haible  <bruno@clisp.org>
12351
12352         gnulib-tool: Alternative structure of testdirs, similar to --import.
12353         * gnulib-tool: New option --single-configure.
12354         (func_usage): Document it.
12355         (single_configure): New variable.
12356         (func_modules_transitive_closure_separately,
12357         func_modules_transitive_closure_separately,
12358         func_determine_use_libtests, func_modules_add_dummy_separately,
12359         func_modules_to_filelist_separately): New functions, extracted from
12360         func_import.
12361         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
12362         (func_import): Use the new functions.
12363         (func_create_testdir): Set final_modules. Handle $single_configure =
12364         true case.
12365
12366 2011-05-28  Bruno Haible  <bruno@clisp.org>
12367
12368         getloadavg: Remove an unreliable safety check.
12369         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
12370         getloadavg.c is in place.
12371         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
12372         Reported by Sam Steingold <sds@gnu.org>.
12373
12374 2011-05-28  Bruno Haible  <bruno@clisp.org>
12375
12376         doc: Cleanup yet another file produced by texinfo.tex.
12377         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
12378
12379 2011-05-28  Bruno Haible  <bruno@clisp.org>
12380
12381         Finish the conditional dependencies mechanism.
12382         * gnulib-tool: New option --no-conditional-dependencies.
12383         (func_usage): Document it. Don't mark --conditional-dependencies as
12384         experimental.
12385         (cond_dependencies): The possible values can now be true, false, empty.
12386         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
12387         (func_import): Store setting in gnulib-cache.m4 and read it from there.
12388         * doc/gnulib-tool.texi (Conditional dependencies): New section.
12389
12390 2011-05-28  Bruno Haible  <bruno@clisp.org>
12391
12392         doc: Use a recent texinfo.tex.
12393         * doc/Makefile (tex_opts): New variable.
12394         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
12395
12396 2011-05-28  Jim Meyering  <meyering@redhat.com>
12397
12398         intprops.h: adjust comment to match code change
12399         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
12400         only once, it *may* have side effects.  Also fix an unrelated typo.
12401         (_GL_INT_SIGNED): Likewise.
12402
12403 2011-05-26  Simon Josefsson  <simon@josefsson.org>
12404
12405         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
12406
12407 2011-05-26  Bruno Haible  <bruno@clisp.org>
12408
12409         mbsrchr: Avoid collision with system function on Interix.
12410         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
12411         Reported by Markus Duft <mduft@gentoo.org>.
12412
12413 2011-05-15  James Youngman  <jay@gnu.org>
12414
12415         getopt: for ambiguous options, enumerate the possibilities.
12416         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
12417         the ambiguous options when an ambiguous prefix is given. This was
12418         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
12419         glibc change was
12420         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
12421
12422 2011-05-25  Eric Blake  <eblake@redhat.com>
12423
12424         getcwd: work around mingw bug
12425         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
12426         * doc/posix-functions/getcwd.texi (getcwd): Document it.
12427         Reported by Matthias Bolte.
12428
12429 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
12430
12431         test-intprops: disable -Wtype-limits diagnostics
12432         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
12433         diagnostics.  Otherwise, the integer overflow macros generate many
12434         diagnostics.  Reported by Jim Meyering in
12435         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12436
12437         intprops: shorten, to pacify gcc -Woverlength-strings
12438         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
12439         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
12440         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
12441         likely to run afoul of C compiler limits for string constant lengths.
12442         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
12443
12444 2011-05-24  Eric Blake  <eblake@redhat.com>
12445
12446         docs: document recently fixed glibc printf bug
12447         * doc/posix-functions/fprintf.texi (fprintf): Document it.
12448         * doc/posix-functions/printf.texi (printf): Likewise.
12449         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
12450         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
12451
12452         closein-tests: convert to init.sh
12453         * modules/closein-tests (Files): Add init.sh
12454         * tests/test-closein.sh Use it.
12455
12456         yesno-tests: convert to init.sh
12457         * modules/yesno-tests (Files): Add init.sh.
12458         * tests/test-yesno.sh: Use it.
12459
12460         atexit-tests: ensure reliable exit status
12461         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
12462         Reported by Bruno Haible.
12463
12464 2011-05-24  Bruno Haible  <bruno@clisp.org>
12465
12466         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
12467         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
12468         gl_PREREQ_STRERROR_R invocations from here...
12469         * modules/strerror_r-posix (configure.ac): ... to here.
12470
12471 2011-05-24  Eric Blake  <eblake@redhat.com>
12472
12473         strerror_r: fix missing header
12474         * lib/strerror_r.c: Avoid compiler warning about snprintf.
12475
12476         strerror_r: fix AIX test failures
12477         * lib/strerror_r.c (strerror_r): Convert silent truncation to
12478         ERANGE failure.
12479
12480         strerror_r: fix Solaris test failures
12481         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
12482         failures.
12483         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12484
12485         strerror_r: enforce POSIX recommendations
12486         * lib/strerror_r.c (safe_copy): New helper method.
12487         (strerror_r): Guarantee a non-empty string.
12488         * tests/test-strerror_r.c (main): Enhance tests to incorporate
12489         recent POSIX rulings and to match our strerror guarantees.
12490         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
12491
12492 2011-05-24  Jim Meyering  <meyering@redhat.com>
12493
12494         test-perror2.c: avoid warning about unused variable
12495         * tests/test-perror2.c (main): Remove declaration of unused "fp".
12496
12497 2011-05-24  Eric Blake  <eblake@redhat.com>
12498
12499         perror: avoid spurious test failure on HP-UX
12500         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
12501
12502         tests: fix logic bug in init.sh
12503         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
12504         shell.
12505
12506 2011-05-24  Jim Meyering  <meyering@redhat.com>
12507
12508         utimensat: do not reference an out-of-scope buffer
12509         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
12510         declared in an inner scope, yet "times" would be dereferenced outside
12511         the scope in which "ts" was valid.
12512         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
12513         of ts[2] "out/up", so that the use of aliased "times" (via
12514         "times = ts;") does not end up referencing an out-of-scope "ts"
12515
12516         opendir-safer.c: don't clobber errno; don't close negative FD
12517         * lib/opendir-safer.c (opendir_safer):
12518         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
12519         file descriptor, and more importantly, don't clobber the
12520         offending errno value with EINVAL.  Before, upon failure
12521         of dup_safer, we would pass the negative file descriptor to
12522         fdopendir, which would clobber errno.
12523
12524 2011-05-23  Bruno Haible  <bruno@clisp.org>
12525
12526         idcache: Fix module description.
12527         * modules/idcache (Include): Set to "idcache.h".
12528
12529 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
12530
12531         gnulib-tool: fix portability problem with MacOS sed
12532         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
12533         before the "}".  Problem reported by Leo in
12534         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
12535         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
12536         sed_extract_condition1, sed_extract_condition2.
12537
12538 2011-05-23  Bruno Haible  <bruno@clisp.org>
12539
12540         hash: Simplify autoconf macro.
12541         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
12542
12543 2011-05-23  Bruno Haible  <bruno@clisp.org>
12544
12545         getugroups: Fix module description.
12546         * modules/getugroups (Include): Set to "getugroups.h".
12547
12548 2011-05-23  Bruno Haible  <bruno@clisp.org>
12549
12550         linkat: Simplify autoconf macro.
12551         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
12552
12553 2011-05-23  Bruno Haible  <bruno@clisp.org>
12554             Eric Blake  <eblake@redhat.com>
12555
12556         linkat, renameat: Update dependencies.
12557         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
12558         * modules/linkat (Depends-on): Likewise. Remove also readlink,
12559         symlinkat.
12560
12561 2011-05-23  Jim Meyering  <meyering@redhat.com>
12562
12563         maint.mk: more tight_scope improvements
12564         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
12565         (_gl_TS_headers): Define only in if-0'd block.
12566         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
12567         sometimes we must *not* use it.  Adjust uses accordingly.
12568         (sc_tight_scope): Use much simpler grep-based test to determine
12569         whether we skip this rule.
12570
12571         maint.mk: generalize/improve the tight-scope rule
12572         * top/maint.mk: Emit a warning when the test is skipped.
12573         (_gl_TS_dir): Add $(srcdir)/ prefix.
12574         (_gl_TS_function_match): Simplify, rather than trying
12575         to enumerate common types.  Otherwise, it would fail to match an
12576         "extern unsigned char const *" declaration in idutils.
12577         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
12578         a way to support use of that type of macro.
12579         (_gl_TS_var_match): Simplify regexp.
12580         (_gl_TS_obj_files): New configurable variable.
12581         (_gl_TS_headers): Likewise.
12582
12583 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12584
12585         verify: fix bug when gnulib <assert.h> is also included
12586         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
12587         is defined, not if _GL_STATIC_ASSERT_H is not defined.
12588         Perhaps there's a better way, but this fixes the immediate problem.
12589         Problem reported by Bruno Haible in
12590         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
12591
12592 2011-05-22  Bruno Haible  <bruno@clisp.org>
12593
12594         xgetcwd: Simplify autoconf macro.
12595         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
12596
12597 2011-05-22  Bruno Haible  <bruno@clisp.org>
12598
12599         New module 'mktime-internal'.
12600         * modules/mktime-internal: New file.
12601         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
12602         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
12603         mktime_internal as a C macro if libc has __mktime_internal.
12604         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
12605         conditions.
12606         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
12607
12608 2011-05-22  Bruno Haible  <bruno@clisp.org>
12609
12610         timegm: Correct mktime replacement statements.
12611         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
12612         defining mktime as a C macro. This completes a 2009-07-28 commit.
12613
12614 2011-05-22  Bruno Haible  <bruno@clisp.org>
12615
12616         timegm: Simplify autoconf macro.
12617         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
12618
12619 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
12620
12621         clock-time: change to LGPLv2+.
12622         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
12623         BSD-like but we have no mark for that; this is good enough for now.
12624
12625 2011-05-21  Bruno Haible  <bruno@clisp.org>
12626
12627         strerror_r: Fix comments.
12628         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
12629
12630 2011-05-21  Bruno Haible  <bruno@clisp.org>
12631
12632         relocatable-prog-wrapper: Fix possible link error.
12633         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
12634         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
12635         (gl_FUNC_SETENV): ... to here.
12636         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
12637         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
12638
12639 2011-05-21  Bruno Haible  <bruno@clisp.org>
12640
12641         relocatable-prog-wrapper: Assume strerror() exists.
12642         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
12643         m4/strerror.m4.
12644         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
12645         * lib/relocwrapper.c: Remove mention of strerror module.
12646         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
12647         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
12648         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
12649         C macro.
12650
12651 2011-05-21  Bruno Haible  <bruno@clisp.org>
12652
12653         select: Simplify replacement idiom.
12654         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
12655         Win32 platforms.
12656         * lib/sys_select.in.h (select): Simplify accordingly.
12657         * modules/select (Depends-on): Likewise.
12658
12659 2011-05-21  Bruno Haible  <bruno@clisp.org>
12660
12661         mkdir-p: Simplify autoconf macro.
12662         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
12663         gl_FUNC_LCHOWN.
12664
12665 2011-05-21  Eric Blake  <eblake@redhat.com>
12666
12667         strerror_r: avoid clobbering strerror on cygwin
12668         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
12669         fall back instead to sys_errlist.
12670         * modules/strerror (configure.ac): Add witness.
12671         * tests/test-strerror_r.c (main): Enhance test.
12672         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12673         * tests/test-perror2.c (main): Free memory before exit.
12674
12675 2011-05-21  Bruno Haible  <bruno@clisp.org>
12676
12677         mkdtemp: Use gnulib naming conventions.
12678         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
12679         * modules/mkdtemp (configure.ac): Update.
12680
12681 2011-05-20  Eric Blake  <eblake@redhat.com>
12682
12683         strerror_r: avoid corrupting errno on Solaris
12684         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
12685         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12686
12687         strerror_r: avoid compiler warning
12688         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
12689
12690         strerror_r: simplify AIX code
12691         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
12692
12693         test-perror: avoid spurious failure on FreeBSD
12694         * modules/perror-tests (Depends-on): Add strerror, now that
12695         strerror_r no longer pulls it in.
12696
12697 2011-05-20  Bruno Haible  <bruno@clisp.org>
12698
12699         strerror_r-posix: Remove unused dependencies.
12700         * modules/strerror_r-posix (Depends-on): Remove strerror.
12701         Reported by Eric Blake.
12702
12703 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12704
12705         intprops: remove assumption about A|B representation
12706         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
12707         is a valid integer if both A and B are.  Although this is true for
12708         all known practical hosts, the C standard doesn't guarantee it,
12709         and the code need not assume it.  Also, this change may work around
12710         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
12711         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
12712
12713 2011-05-20  Eric Blake  <eblake@redhat.com>
12714
12715         perror: work around FreeBSD bug
12716         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
12717         is broken.  Move AC_LIBOBJ...
12718         * modules/perror (configure.ac): Here.
12719         * doc/posix-functions/perror.texi (perror): Document this.
12720         * tests/test-perror2.c (main): Enhance test.
12721
12722         test-perror: check for strerror interactions
12723         * tests/macros.h (STREQ): Add macro.
12724         * modules/perror-tests (Files): Add second test.
12725         * tests/test-perror2.c (main): New file.
12726         * doc/posix-functions/perror.texi (perror): Document glibc bug.
12727
12728         test-perror: rewrite to use init script
12729         * modules/perror-tests (Files): Add init.sh.
12730         * tests/test-perror.sh: Use temporary directory.
12731
12732 2011-05-20  Jim Meyering  <meyering@redhat.com>
12733
12734         maint: replace misused "a" with "an"
12735         * doc/intprops.texi: "a integer"
12736         * doc/regex.texi: "a explanation"
12737         * lib/alignof.h: "a object"
12738         * lib/argmatch.h: "a explanation"
12739         * lib/argp-help.c: "a option" and "a OPTION_DOC"
12740         * lib/stdint.in.h: "a integer"
12741         * lib/userspec.c: "a owner"
12742         * doc/gnulib.texi: Fix "a idea", and reword.
12743
12744 2011-05-19  Jim Meyering  <meyering@redhat.com>
12745
12746         maint: correct misuse of "a" and "an"
12747         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
12748         * lib/argp-help.c: "an docum...": s/an/a/
12749         * lib/argp-parse.c: "An vector": s/An/A/
12750         * lib/execute.c: "an native": s/an/a/
12751         * lib/spawn-pipe.c: Likewise.
12752         * lib/gc.h: "an Gc_rc": s/an/a/
12753         * lib/unigbrk.in.h: "an grapheme": s/an/a/
12754         * lib/fts.c: "an stat.st_dev": s/an/a/
12755
12756 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12757
12758         intprops-tests: work around HP-UX 11.23 cc bug with constants
12759         * tests/test-intprops.c (VERIFY): New macro.
12760         (main): Use it, instead of verify, to work around the compiler bug; see
12761         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12762
12763         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
12764         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
12765         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
12766         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
12767         (_GL_REMAINDER_OVERFLOW): Use it.
12768
12769         intprops-tests: revert unsigned part of previous change
12770         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
12771         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
12772         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
12773         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
12774
12775 2011-05-19  Bruno Haible  <bruno@clisp.org>
12776
12777         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
12778         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
12779         strerror_r() returned without filling the buffer.
12780         Reported by Eric Blake.
12781
12782 2011-05-19  Eric Blake  <eblake@redhat.com>
12783
12784         strerror_r: guarantee unchanged errno
12785         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
12786         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
12787         failure.
12788         * tests/test-strerror_r.c (main): Enhance test.
12789
12790 2011-05-19  Bruno Haible  <bruno@clisp.org>
12791
12792         strerror_r: Reorder #if blocks.
12793         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
12794         for consistency with the previous commit.
12795
12796 2011-05-19  Bruno Haible  <bruno@clisp.org>
12797
12798         perror: Avoid clobbering the strerror buffer when possible.
12799         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
12800         * lib/strerror.c: Include it.
12801         * modules/strerror (Files): Add lib/strerror-impl.h.
12802         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
12803         (my_strerror): New function, defined through lib/strerror-impl.h.
12804         (perror): Use it instead of strerror.
12805         * modules/perror (Files): Add lib/strerror-impl.h.
12806         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
12807
12808 2011-05-19  Eric Blake  <eblake@redhat.com>
12809
12810         strerror_r: fix on newer cygwin
12811         * lib/strerror_r.c (strerror_r): Cygwin now has
12812         __xpg_strerror_r, use it.
12813
12814 2011-05-19  Bruno Haible  <bruno@clisp.org>
12815
12816         strerror_r: Avoid clobbering the strerror buffer when possible.
12817         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
12818         (sys_nerr, sys_errlist): New declarations.
12819         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
12820         HP-UX, native Win32, IRIX, and 32-bit Solaris.
12821         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
12822
12823 2011-05-19  Bruno Haible  <bruno@clisp.org>
12824
12825         strerror_r: Fix test failure on mingw.
12826         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
12827         EXTEND_STRERROR_R.
12828         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
12829         macros from errno.in.h instead.
12830
12831 2011-05-19  Eric Blake  <eblake@redhat.com>
12832
12833         strerror: relax test for Solaris
12834         * tests/test-strerror.c (main): Permit Solaris behavior.
12835         * tests/test-strerror_r.c (main): Likewise.
12836
12837         strerror: enforce POSIX ruling on strerror(0)
12838         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
12839         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
12840         * lib/strerror_r.c (rpl_strerror_r): Work around it.
12841         * doc/posix-functions/strerror.texi (strerror): Document it.
12842         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
12843         * tests/test-strerror.c (main): Strengthen test.
12844         * tests/test-strerror_r.c (main): Likewise.
12845
12846 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
12847
12848         intprop-tests: port to older and more-pedantic compilers
12849         * modules/intprops-tests (Files): Add tests/macros.h.
12850         * tests/test-intprops.c: Include macros.h.
12851         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
12852         it's no longer documented to expand to an integer constant expression.
12853         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
12854         argument is floating point, as it's no longer documented to expand
12855         to an integer constant expression in that case.
12856         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
12857         compiler bugs reported by Bruno Haible.  See
12858         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12859         (U0, U1): New constants, to work around the same bugs.  Also,
12860         in tests, use e.g., "(unsigned int) 39" rather than "39u".
12861
12862         intprops: work around C compiler bugs
12863         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
12864         bug in Sun C 5.11 2010/08/13 and other compilers; see
12865         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
12866
12867         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
12868         * doc/intprops.texi (Integer Type Determination): Fix
12869         documentation for TYPE_IS_INTEGER: it returns an constant
12870         expression, not an integer constant expression.  Fix doc for
12871         TYPE_SIGNED: it returns an integer constant expression only if its
12872         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
12873         hardly worth documented that way....)
12874
12875 2011-05-18  Bruno Haible  <bruno@clisp.org>
12876
12877         strerror_r: Avoid clobbering the strerror buffer when possible.
12878         * lib/strerror_r.c (strerror_r): Merge the three implementations.
12879         Handle gnulib defined errno values here. When strerror() returns NULL
12880         or an empty string, return EINVAL.
12881         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
12882         gnulib defined errno values here.
12883         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
12884
12885 2011-05-18  Eric Blake  <eblake@redhat.com>
12886
12887         fnmatch: avoid compiler warning
12888         * lib/fnmatch_loop.c (FCT): Use correct type.
12889         Reported by Matthias Bolte.
12890
12891 2011-05-13  Jim Meyering  <meyering@redhat.com>
12892
12893         maint.mk: three new prohibit_<HDR>_without_use rules
12894         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
12895         (sc_prohibit_stdio-safer_without_use): Likewise.
12896         (sc_prohibit_xfreopen_without_use): Likewise.
12897
12898 2011-05-17  Jim Meyering  <meyering@redhat.com>
12899
12900         announce-gen: fail if the NEWS delta is empty
12901         If there's nothing noteworthy in NEWS, then either you forgot
12902         or you shouldn't be releasing.
12903         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
12904
12905 2011-05-17  Pádraig Brady <P@draigBrady.com>
12906
12907         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
12908         reserved symbols starting with double underscore from the check.
12909
12910 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12911
12912         intprops: add doc
12913         * doc/intprops.texi: New file, documenting intprops.
12914         * doc/gnulib.texi (Particular Modules): Include it.
12915
12916         verify: add doc to gnulib manual and fix example
12917         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
12918         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
12919         (Compile-time Assertions): Fix example so it can't overflow.
12920
12921 2011-05-17  Jim Meyering  <meyering@redhat.com>
12922
12923         warnings.m4: don't usurp save_CPPFLAGS variable name
12924         * m4/warnings.m4: Prefix local temporary variable name with gl_.
12925
12926         doc: fix typo
12927         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
12928
12929 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12930             Bruno Haible  <bruno@clisp.org>
12931
12932         doc: Tweak recent change.
12933         * README (Portability guidelines): Tweak new text.
12934         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
12935         Interix 6.1.
12936
12937 2011-05-16  Eric Blake  <eblake@redhat.com>
12938
12939         inttypes: avoid autoconf warning
12940         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
12941         * m4/stdint.m4 (gl_STDINT_H): Likewise.
12942
12943 2011-05-16  Sam Steingold <sds@gnu.org>
12944         and Eric Blake  <eblake@redhat.com>
12945
12946         vc-list-files: accept multiple directory operands
12947         * build-aux/vc-list-files: Iterate over all remaining operands.
12948
12949 2011-05-16  Bruno Haible  <bruno@clisp.org>
12950
12951         Fix confusion regarding deprecated modules.
12952         * modules/calloc (Status, Notice): Mark module as deprecated, not
12953         obsolete.
12954         * modules/fnmatch-posix (Status, Notice): Likewise.
12955         * modules/getdate (Status, Notice): Likewise.
12956         * modules/getopt (Status, Notice): Likewise.
12957         * modules/malloc (Status, Notice): Likewise.
12958         * modules/pipe (Status, Notice): Likewise.
12959         * modules/realloc (Status, Notice): Likewise.
12960         * modules/rename-dest-slash (Status, Notice): Likewise.
12961         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
12962         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
12963         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
12964         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
12965         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
12966
12967 2011-05-16  Bruno Haible  <bruno@clisp.org>
12968
12969         doc: List the target platforms.
12970         * doc/gnulib-intro.texi (Target Platforms): New section.
12971         * doc/gnulib.texi (Introduction): Update menu.
12972         * README (Portability guidelines): Refer to the new section. Update
12973         statement about oldest supported environment. Remove rationale why
12974         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
12975         unportable C89 function.
12976         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
12977         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
12978
12979 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
12980
12981         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
12982
12983 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12984
12985         intprops-tests: new module
12986         * modules/intprops-tests, tests/test-intprops.c: New files.
12987
12988         intprops: add safe, portable integer overflow checking
12989         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
12990         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
12991         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
12992         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
12993         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
12994         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
12995         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
12996         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
12997         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12998         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
12999         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
13000
13001 2011-05-12  James Youngman  <jay@gnu.org>
13002
13003         Add a test for glibc's Bugzilla bug #12378.
13004         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
13005         doesn't allow the literal matching of a lone "[" (which is
13006         required by POSIX).
13007         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
13008
13009 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
13010
13011         Sync glibc change fixing Bugzilla bug #12378.
13012         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
13013         beginning and fall back to matching as normal character if the
13014         string ends before the matching ']' is found.  This is what POSIX
13015         requires.
13016
13017 2011-05-13  Eric Blake  <eblake@redhat.com>
13018
13019         getcwd-lgpl: relax test for FreeBSD
13020         * doc/posix-functions/getcwd.texi (getcwd): Document portability
13021         issue.
13022         * tests/test-getcwd-lgpl.c (main): Relax test.
13023         Reported by Matthias Bolte.
13024
13025 2011-05-11  Eric Blake  <eblake@redhat.com>
13026
13027         test-fflush: silence compiler warning
13028         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
13029
13030 2011-05-11  Bruno Haible  <bruno@clisp.org>
13031
13032         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
13033         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
13034         * modules/canonicalize (Depends-on): Add 'nocrash'.
13035         * modules/canonicalize-lgpl (Depends-on): Likewise.
13036         * doc/posix-functions/realpath.texi: Update platforms list.
13037         Reported by Ryan Schmidt <ryandesign@macports.org>.
13038
13039 2011-05-11  Bruno Haible  <bruno@clisp.org>
13040
13041         group-member: Declare function in <unistd.h>.
13042         * lib/unistd.in.h (group_member): New declaration.
13043         * lib/group-member.h: Remove file.
13044         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
13045         * tests/test-unistd-c++.cc: Check signature of group_member.
13046         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
13047         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
13048         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
13049         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
13050         HAVE_GROUP_MEMBER.
13051         * modules/group-member (Files): Remove lib/group-member.h.
13052         (Depends-on): Add unistd. Specify conditions.
13053         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13054         (Include): Change to <unistd.h>.
13055         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
13056         HAVE_GROUP_MEMBER.
13057         * NEWS: Mention the change.
13058         * lib/euidaccess.c: Don't include group-member.h.
13059
13060 2011-05-11  Bruno Haible  <bruno@clisp.org>
13061
13062         group-member: Document module.
13063         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
13064         module.
13065
13066 2011-05-11  Bruno Haible  <bruno@clisp.org>
13067
13068         fclose: Fix mistake earlier today.
13069         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
13070
13071 2011-05-11  Eric Blake  <eblake@redhat.com>
13072
13073         fclose: preserve fflush errors
13074         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
13075         Reported by Jim Meyering.
13076
13077         bootstrap: support a prereq of 'rpcgen -' on RHEL5
13078         * build-aux/bootstrap (check_versions): When no specific version
13079         is required, merely check that the app produces an exit status
13080         that indicates its existence.
13081
13082         maint.mk: drop redundant check
13083         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
13084         the same but better.
13085
13086 2011-05-11  Bruno Haible  <bruno@clisp.org>
13087
13088         fclose: Fix possible link error.
13089         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
13090         unregister_shadow_fd. Improve comments.
13091         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
13092         Eric Blake.
13093
13094 2011-05-11  Jim Meyering  <meyering@redhat.com>
13095
13096         maint.mk: improve "can not" detection and generalize rule name
13097         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
13098         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
13099         Use the same technique as in sc_prohibit_doubled_word, so that
13100         we recognize "can not" also when the words are separated by a newline.
13101         Suggested by Eric Blake.
13102         (perl_filename_lineno_text_): Define.  Factored out of...
13103         (prohibit_doubled_word_): ...here.  Use the new definition.
13104         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
13105         (prohibit_undesirable_word_seq_RE_): New overridable variable.
13106         (ignore_undesirable_word_sequence_RE_): New overridable variable.
13107
13108 2011-05-10  Eric Blake  <eblake@redhat.com>
13109
13110         fclose: avoid double close race when possible
13111         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
13112         all but WINDOWS_SOCKETS.
13113
13114 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
13115
13116         openat: correct new comment
13117         * lib/openat-proc.c (openat_proc_name): Correct the comment.
13118
13119 2011-05-10  Jim Meyering  <meyering@redhat.com>
13120
13121         openat: add comments
13122         * lib/openat-proc.c (openat_proc_name): Add comments,
13123         mostly from Eric Blake.
13124
13125 2011-05-09  Eric Blake  <eblake@redhat.com>
13126
13127         openat: reduce syscalls in first probe of /proc
13128         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
13129         be a directory.  Simplify the probe for .. bugs.
13130         * modules/openat (Depends-on): Drop same-inode.
13131         Reported by Bastien ROUCARIES.
13132
13133 2011-05-09  Jim Meyering  <meyering@redhat.com>
13134
13135         maint.mk: change semantics/name of tight_scope variables
13136         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
13137         Rename variables to align with semantics that make them more useful.
13138
13139         maint.mk: tweak new rule's name not to impinge
13140         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
13141         (sc_tight_scope): Use new rule name rather than $@-0.
13142
13143         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
13144         * top/maint.mk (sc_tight_scope): New rule.
13145         (sc_tight_scope-0): New rule, ifdef'd out.
13146         (_gl_TS_dir): Default.
13147         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
13148         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
13149
13150 2011-05-09  Simon Josefsson  <simon@josefsson.org>
13151
13152         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
13153         Haible <bruno@clisp.org>.
13154
13155 2011-05-08  Bruno Haible  <bruno@clisp.org>
13156
13157         Comments.
13158         * m4/isnanf.m4: Add comment.
13159         * m4/isnanl.m4: Likewise.
13160
13161 2011-05-08  Bruno Haible  <bruno@clisp.org>
13162
13163         glob: Remove obsolete macro.
13164         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
13165
13166 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
13167
13168         intprops: Sun C 5.11 supports __typeof__
13169         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
13170         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
13171         which is new.
13172         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
13173
13174         intprops: switch to usual gnulib indenting and naming
13175         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
13176         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
13177
13178         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
13179
13180 2011-05-08  Jim Meyering  <meyering@redhat.com>
13181
13182         maint.mk: suppress "Entering/Leaving directory" diag in announcement
13183         * top/maint.mk (release-prep): Use make's --no-print-directory
13184         option when generating the announcement.  This eliminates the
13185         pesky "make[2]: Entering/Leaving directory" diagnostics in the
13186         generated announcement template.
13187
13188 2011-05-08  Bruno Haible  <bruno@clisp.org>
13189
13190         tzset: Fix gettimeofday wrapper on Solaris 2.6.
13191         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
13192         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
13193
13194 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
13195
13196         ignore-value, verify: Omit include files from lib_SOURCES.
13197         * modules/ignore-value, modules/verify (Makefile.am):
13198         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
13199         that leads Automake to duplicate use of am__objects_... variables
13200         in Makefile.in.  See
13201         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
13202
13203 2011-05-07  Bruno Haible  <bruno@clisp.org>
13204
13205         fclose: Simplify autoconf macro.
13206         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
13207         defined.
13208
13209 2011-05-07  Bruno Haible  <bruno@clisp.org>
13210
13211         canonicalize-lgpl: Fix autoconf macro ordering bug.
13212         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
13213         gl_STDLIB_H_DEFAULTS.
13214
13215 2011-05-06  Eric Blake  <eblake@redhat.com>
13216
13217         maintainer-makefile: make sc_po_check easier to tune
13218         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
13219         to probe for strings, such as an alternate location for gnulib.
13220
13221         fclose: guarantee behavior on seekable stdin
13222         * modules/fclose (Depends-on): Add fflush.
13223         * doc/posix-functions/fclose.texi (fclose): Document this.
13224         * tests/test-fclose.c (main): Make test for this unconditional.
13225
13226 2011-05-06  Bruno Haible  <bruno@clisp.org>
13227
13228         fflush, fpurge: Relicense under LGPLv2+.
13229         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
13230         * modules/fpurge (License): Likewise.
13231         With permission from Eric Blake and Jim Meyering.
13232         Suggested by Eric Blake.
13233
13234 2011-05-06  Karl Berry  <karl@gnu.org>
13235
13236         * MODULES.html.sh (func_all_modules): remove exit.
13237
13238 2011-05-06  Jim Meyering  <meyering@redhat.com>
13239
13240         maint.mk: use info-gnu@ as the default only for a stable release
13241         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
13242         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
13243         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
13244         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
13245
13246 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13247
13248         assert-h: new module, which supports C1X-style static_assert
13249         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
13250         * lib/verify.h: Revamp so that this can be copied into assert.h,
13251         while retaining the ability to use it standalone as before.
13252         Rename private identifiers so as not to encroach on the
13253         standard C namespace, since this is now used by assert.h.
13254         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
13255         the old verify_true.
13256         (_GL_VERIFY_TRUE): New macro, with much of the contents of
13257         the old verify_true.  Use _GL_VERIFY_TYPE.
13258         (_GL_VERIFY): New macro, with much of the contents of the old verify.
13259         (static_assert): New macro, if _GL_STATIC_ASSERT_H
13260         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
13261         defined when this file is copied into the replacement assert.h.
13262         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
13263         and _Static_assert is not built in.
13264         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
13265         defined, and use the new macros mentioned above.
13266         * doc/posix-headers/assert.texi: Document this.
13267
13268 2011-05-05  Bruno Haible  <bruno@clisp.org>
13269
13270         fclose, fflush: Respect rules for use of AC_LIBOBJ.
13271         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
13272         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
13273         gl_REPLACE_FCLOSE here.
13274         * modules/fflush (Depends-on): Remove fclose.
13275         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
13276         combination with module 'fclose'.
13277
13278 2011-05-05  Bruno Haible  <bruno@clisp.org>
13279
13280         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
13281         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
13282         gl_FUNC_FFLUSH.
13283         (gl_FUNC_FFLUSH): Use it.
13284         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
13285         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
13286         gl_REPLACE_FSEEKO here.
13287
13288 2011-05-05  Bruno Haible  <bruno@clisp.org>
13289
13290         tzset: Relicense under LGPL.
13291         * modules/tzset (License): Change to LGPL.
13292         No agreement needed; it's a no-op.
13293
13294         strtoimax, strtoumax: Relicense under LGPL.
13295         * modules/strtoimax (License): Change to LGPL.
13296         * modules/strtoumax (License): Likewise.
13297         With permission from Jim Meyering, Paul Eggert:
13298         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
13299         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
13300
13301         getgroups: Relicense under LGPL.
13302         * modules/getgroups (License): Change to LGPL.
13303         With permission from Jim Meyering, Paul Eggert, Eric Blake:
13304         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13305         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13306         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13307
13308         nanosleep: Relicense under LGPL.
13309         * modules/nanosleep (License): Change to LGPL.
13310         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
13311         Haible:
13312         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
13313         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
13314         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13315         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13316
13317         futimens: Relicense under LGPL.
13318         * modules/futimens (License): Change to LGPL.
13319         With permission from Eric Blake:
13320         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13321
13322         fflush: Relicense under LGPL.
13323         * modules/fflush (License): Change to LGPL.
13324         With permission from Eric Blake, Bruno Haible, Jim Meyering:
13325         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
13326         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
13327         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
13328
13329         tmpfile: Relicense under LGPL.
13330         * modules/tmpfile (License): Change to LGPL.
13331         With permission from Ben Pfaff:
13332         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13333
13334         isfinite: Relicense under LGPL.
13335         * modules/isfinite (License): Change to LGPL.
13336         With permission from Ben Pfaff, Bruno Haible:
13337         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
13338         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
13339
13340         acosl..tanl: Relicense under LGPL.
13341         * modules/acosl (License): Change to LGPL.
13342         * modules/asinl (License): Likewise.
13343         * modules/atanl (License): Likewise.
13344         * modules/cosl (License): Likewise.
13345         * modules/expl (License): Likewise.
13346         * modules/logl (License): Likewise.
13347         * modules/sinl (License): Likewise.
13348         * modules/sqrtl (License): Likewise.
13349         * modules/tanl (License): Likewise.
13350         Source code originally from glibc and Paolo Bonzini. Agreements:
13351         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
13352         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
13353
13354 2011-05-05  Bruno Haible  <bruno@clisp.org>
13355
13356         signal: Define sighandler_t.
13357         * lib/signal.in.h (sighandler_t): New type.
13358         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
13359         whether sighandler_t is defined.
13360         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
13361         * modules/signal (Depends-on): Add extensions.
13362         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
13363         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
13364         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
13365
13366 2011-05-05  Eric Blake  <eblake@redhat.com>
13367
13368         maint: remove useless REPLACE_*_H macros
13369         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
13370         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
13371         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
13372         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
13373         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
13374         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
13375         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
13376         * m4/btowc.m4: Update callers.
13377         * m4/dirfd.m4: Likewise.
13378         * m4/duplocale.m4: Likewise.
13379         * m4/fchdir.m4: Likewise.
13380         * m4/fdopendir.m4: Likewise.
13381         * m4/inet_ntop.m4: Likewise.
13382         * m4/inet_pton.m4: Likewise.
13383         * m4/ioctl.m4: Likewise.
13384         * m4/mbrlen.m4: Likewise.
13385         * m4/mbrtowc.m4: Likewise.
13386         * m4/mbsinit.m4: Likewise.
13387         * m4/mbsnrtowcs.m4: Likewise.
13388         * m4/mbsrtowcs.m4: Likewise.
13389         * m4/poll.m4: Likewise.
13390         * m4/setlocale.m4: Likewise.
13391         * m4/wcrtomb.m4: Likewise.
13392         * m4/wcsnrtombs.m4: Likewise.
13393         * m4/wcsrtombs.m4: Likewise.
13394         * m4/wctob.m4: Likewise.
13395         * m4/wcwidth.m4: Likewise.
13396         * modules/posix_spawn: Likewise.
13397         * modules/posix_spawn_file_actions_addclose: Likewise.
13398         * modules/posix_spawn_file_actions_adddup2: Likewise.
13399         * modules/posix_spawn_file_actions_addopen: Likewise.
13400         * modules/posix_spawn_file_actions_destroy: Likewise.
13401         * modules/posix_spawn_file_actions_init: Likewise.
13402         * modules/posix_spawnattr_destroy: Likewise.
13403         * modules/posix_spawnattr_getflags: Likewise.
13404         * modules/posix_spawnattr_getpgroup: Likewise.
13405         * modules/posix_spawnattr_getschedparam: Likewise.
13406         * modules/posix_spawnattr_getschedpolicy: Likewise.
13407         * modules/posix_spawnattr_getsigdefault: Likewise.
13408         * modules/posix_spawnattr_getsigmask: Likewise.
13409         * modules/posix_spawnattr_init: Likewise.
13410         * modules/posix_spawnattr_setflags: Likewise.
13411         * modules/posix_spawnattr_setpgroup: Likewise.
13412         * modules/posix_spawnattr_setschedparam: Likewise.
13413         * modules/posix_spawnattr_setschedpolicy: Likewise.
13414         * modules/posix_spawnattr_setsigdefault: Likewise.
13415         * modules/posix_spawnattr_setsigmask: Likewise.
13416         * modules/posix_spawnp: Likewise.
13417
13418 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
13419
13420         Add option to do-release-commit-and-tag to specify branch.
13421         * build-aux/do-release-commit-and-tag: Add --branch.
13422
13423 2011-05-03  Bruno Haible  <bruno@clisp.org>
13424
13425         Avoid unnecessary compilation units, through conditional dependencies.
13426         * modules/accept (Depends-on): Add conditions to the dependencies.
13427         * modules/acosl (Depends-on): Likewise.
13428         * modules/argz (Depends-on): Likewise.
13429         * modules/asinl (Depends-on): Likewise.
13430         * modules/atanl (Depends-on): Likewise.
13431         * modules/atoll (Depends-on): Likewise.
13432         * modules/bind (Depends-on): Likewise.
13433         * modules/btowc (Depends-on): Likewise.
13434         * modules/canonicalize-lgpl (Depends-on): Likewise.
13435         * modules/ceil (Depends-on): Likewise.
13436         * modules/ceilf (Depends-on): Likewise.
13437         * modules/ceill (Depends-on): Likewise.
13438         * modules/chdir-long (Depends-on): Likewise.
13439         * modules/chown (Depends-on): Likewise.
13440         * modules/close (Depends-on): Likewise.
13441         * modules/connect (Depends-on): Likewise.
13442         * modules/cosl (Depends-on): Likewise.
13443         * modules/dirfd (Depends-on): Likewise.
13444         * modules/dprintf (Depends-on): Likewise.
13445         * modules/dprintf-posix (Depends-on): Likewise.
13446         * modules/error (Depends-on): Likewise.
13447         * modules/euidaccess (Depends-on): Likewise.
13448         * modules/expl (Depends-on): Likewise.
13449         * modules/faccessat (Depends-on): Likewise.
13450         * modules/fchdir (Depends-on): Likewise.
13451         * modules/fclose (Depends-on): Likewise.
13452         * modules/fcntl (Depends-on): Likewise.
13453         * modules/fdopendir (Depends-on): Likewise.
13454         * modules/fflush (Depends-on): Likewise.
13455         * modules/floor (Depends-on): Likewise.
13456         * modules/floorf (Depends-on): Likewise.
13457         * modules/floorl (Depends-on): Likewise.
13458         * modules/fnmatch (Depends-on): Likewise.
13459         * modules/fopen (Depends-on): Likewise.
13460         * modules/fprintf-posix (Depends-on): Likewise.
13461         * modules/frexp (Depends-on): Likewise.
13462         * modules/frexp-nolibm (Depends-on): Likewise.
13463         * modules/frexpl (Depends-on): Likewise.
13464         * modules/frexpl-nolibm (Depends-on): Likewise.
13465         * modules/fseek (Depends-on): Likewise.
13466         * modules/fsusage (Depends-on): Likewise.
13467         * modules/ftell (Depends-on): Likewise.
13468         * modules/ftello (Depends-on): Likewise.
13469         * modules/futimens (Depends-on): Likewise.
13470         * modules/getcwd (Depends-on): Likewise.
13471         * modules/getcwd-lgpl (Depends-on): Likewise.
13472         * modules/getdelim (Depends-on): Likewise.
13473         * modules/getdomainname (Depends-on): Likewise.
13474         * modules/getgroups (Depends-on): Likewise.
13475         * modules/gethostname (Depends-on): Likewise.
13476         * modules/getline (Depends-on): Likewise.
13477         * modules/getlogin_r (Depends-on): Likewise.
13478         * modules/getopt-posix (Depends-on): Likewise.
13479         * modules/getpeername (Depends-on): Likewise.
13480         * modules/getsockname (Depends-on): Likewise.
13481         * modules/getsockopt (Depends-on): Likewise.
13482         * modules/getsubopt (Depends-on): Likewise.
13483         * modules/getusershell (Depends-on): Likewise.
13484         * modules/glob (Depends-on): Likewise.
13485         * modules/grantpt (Depends-on): Likewise.
13486         * modules/iconv_open (Depends-on): Likewise.
13487         * modules/iconv_open-utf (Depends-on): Likewise.
13488         * modules/inet_ntop (Depends-on): Likewise.
13489         * modules/inet_pton (Depends-on): Likewise.
13490         * modules/ioctl (Depends-on): Likewise.
13491         * modules/isapipe (Depends-on): Likewise.
13492         * modules/isfinite (Depends-on): Likewise.
13493         * modules/isinf (Depends-on): Likewise.
13494         * modules/lchown (Depends-on): Likewise.
13495         * modules/ldexpl (Depends-on): Likewise.
13496         * modules/link (Depends-on): Likewise.
13497         * modules/linkat (Depends-on): Likewise.
13498         * modules/listen (Depends-on): Likewise.
13499         * modules/logl (Depends-on): Likewise.
13500         * modules/lstat (Depends-on): Likewise.
13501         * modules/mbrlen (Depends-on): Likewise.
13502         * modules/mbrtowc (Depends-on): Likewise.
13503         * modules/mbsinit (Depends-on): Likewise.
13504         * modules/mbsnrtowcs (Depends-on): Likewise.
13505         * modules/mbsrtowcs (Depends-on): Likewise.
13506         * modules/mbtowc (Depends-on): Likewise.
13507         * modules/memcmp (Depends-on): Likewise.
13508         * modules/mkdir (Depends-on): Likewise.
13509         * modules/mkdtemp (Depends-on): Likewise.
13510         * modules/mkfifo (Depends-on): Likewise.
13511         * modules/mkfifoat (Depends-on): Likewise.
13512         * modules/mknod (Depends-on): Likewise.
13513         * modules/mkostemp (Depends-on): Likewise.
13514         * modules/mkostemps (Depends-on): Likewise.
13515         * modules/mkstemp (Depends-on): Likewise.
13516         * modules/mkstemps (Depends-on): Likewise.
13517         * modules/mktime (Depends-on): Likewise.
13518         * modules/nanosleep (Depends-on): Likewise.
13519         * modules/open (Depends-on): Likewise.
13520         * modules/openat (Depends-on): Likewise.
13521         * modules/perror (Depends-on): Likewise.
13522         * modules/poll (Depends-on): Likewise.
13523         * modules/popen (Depends-on): Likewise.
13524         * modules/posix_spawn (Depends-on): Likewise.
13525         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
13526         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
13527         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
13528         * modules/posix_spawnp (Depends-on): Likewise.
13529         * modules/pread (Depends-on): Likewise.
13530         * modules/printf-posix (Depends-on): Likewise.
13531         * modules/ptsname (Depends-on): Likewise.
13532         * modules/putenv (Depends-on): Likewise.
13533         * modules/pwrite (Depends-on): Likewise.
13534         * modules/readline (Depends-on): Likewise.
13535         * modules/readlink (Depends-on): Likewise.
13536         * modules/readlinkat (Depends-on): Likewise.
13537         * modules/recv (Depends-on): Likewise.
13538         * modules/recvfrom (Depends-on): Likewise.
13539         * modules/regex (Depends-on): Likewise.
13540         * modules/remove (Depends-on): Likewise.
13541         * modules/rename (Depends-on): Likewise.
13542         * modules/renameat (Depends-on): Likewise.
13543         * modules/rmdir (Depends-on): Likewise.
13544         * modules/round (Depends-on): Likewise.
13545         * modules/roundf (Depends-on): Likewise.
13546         * modules/roundl (Depends-on): Likewise.
13547         * modules/rpmatch (Depends-on): Likewise.
13548         * modules/select (Depends-on): Likewise.
13549         * modules/send (Depends-on): Likewise.
13550         * modules/sendto (Depends-on): Likewise.
13551         * modules/setenv (Depends-on): Likewise.
13552         * modules/setlocale (Depends-on): Likewise.
13553         * modules/setsockopt (Depends-on): Likewise.
13554         * modules/shutdown (Depends-on): Likewise.
13555         * modules/sigaction (Depends-on): Likewise.
13556         * modules/signbit (Depends-on): Likewise.
13557         * modules/sigprocmask (Depends-on): Likewise.
13558         * modules/sinl (Depends-on): Likewise.
13559         * modules/sleep (Depends-on): Likewise.
13560         * modules/snprintf (Depends-on): Likewise.
13561         * modules/snprintf-posix (Depends-on): Likewise.
13562         * modules/socket (Depends-on): Likewise.
13563         * modules/sprintf-posix (Depends-on): Likewise.
13564         * modules/sqrtl (Depends-on): Likewise.
13565         * modules/stat (Depends-on): Likewise.
13566         * modules/strchrnul (Depends-on): Likewise.
13567         * modules/strdup-posix (Depends-on): Likewise.
13568         * modules/strerror (Depends-on): Likewise.
13569         * modules/strerror_r-posix (Depends-on): Likewise.
13570         * modules/strndup (Depends-on): Likewise.
13571         * modules/strnlen (Depends-on): Likewise.
13572         * modules/strptime (Depends-on): Likewise.
13573         * modules/strsep (Depends-on): Likewise.
13574         * modules/strsignal (Depends-on): Likewise.
13575         * modules/strstr-simple (Depends-on): Likewise.
13576         * modules/strtod (Depends-on): Likewise.
13577         * modules/strtoimax (Depends-on): Likewise.
13578         * modules/strtok_r (Depends-on): Likewise.
13579         * modules/strtoumax (Depends-on): Likewise.
13580         * modules/symlink (Depends-on): Likewise.
13581         * modules/symlinkat (Depends-on): Likewise.
13582         * modules/tanl (Depends-on): Likewise.
13583         * modules/tcgetsid (Depends-on): Likewise.
13584         * modules/tmpfile (Depends-on): Likewise.
13585         * modules/trunc (Depends-on): Likewise.
13586         * modules/truncf (Depends-on): Likewise.
13587         * modules/truncl (Depends-on): Likewise.
13588         * modules/uname (Depends-on): Likewise.
13589         * modules/unlink (Depends-on): Likewise.
13590         * modules/unlockpt (Depends-on): Likewise.
13591         * modules/unsetenv (Depends-on): Likewise.
13592         * modules/usleep (Depends-on): Likewise.
13593         * modules/utimensat (Depends-on): Likewise.
13594         * modules/vasprintf (Depends-on): Likewise.
13595         * modules/vdprintf (Depends-on): Likewise.
13596         * modules/vdprintf-posix (Depends-on): Likewise.
13597         * modules/vfprintf-posix (Depends-on): Likewise.
13598         * modules/vprintf-posix (Depends-on): Likewise.
13599         * modules/vsnprintf (Depends-on): Likewise.
13600         * modules/vsnprintf-posix (Depends-on): Likewise.
13601         * modules/vsprintf-posix (Depends-on): Likewise.
13602         * modules/wcrtomb (Depends-on): Likewise.
13603         * modules/wcscasecmp (Depends-on): Likewise.
13604         * modules/wcscspn (Depends-on): Likewise.
13605         * modules/wcsdup (Depends-on): Likewise.
13606         * modules/wcsncasecmp (Depends-on): Likewise.
13607         * modules/wcsnrtombs (Depends-on): Likewise.
13608         * modules/wcspbrk (Depends-on): Likewise.
13609         * modules/wcsrtombs (Depends-on): Likewise.
13610         * modules/wcsspn (Depends-on): Likewise.
13611         * modules/wcsstr (Depends-on): Likewise.
13612         * modules/wcstok (Depends-on): Likewise.
13613         * modules/wcswidth (Depends-on): Likewise.
13614         * modules/wctob (Depends-on): Likewise.
13615         * modules/wctomb (Depends-on): Likewise.
13616         * modules/wctype (Depends-on): Likewise.
13617         * modules/wcwidth (Depends-on): Likewise.
13618         * modules/write (Depends-on): Likewise.
13619
13620 2011-05-03  Bruno Haible  <bruno@clisp.org>
13621
13622         Support for conditional dependencies.
13623         * doc/gnulib.texi (Module description): Document the syntax of
13624         conditional dependencies.
13625         * gnulib-tool: New option --conditional-dependencies.
13626         (func_usage): Document it.
13627         (cond_dependencies): New variable.
13628         (func_get_automake_snippet_conditional,
13629         func_get_automake_snippet_unconditional): New functions, extracted from
13630         func_get_automake_snippet.
13631         (func_get_automake_snippet): Use them.
13632         (sed_first_32_chars): New variable.
13633         (func_module_shellfunc_name): New function.
13634         (func_module_shellvar_name): New function.
13635         (func_module_conditional_name): New function.
13636         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
13637         func_cond_module_condition): New functions.
13638         (func_modules_transitive_closure): Add support for conditional
13639         dependencies.
13640         (func_emit_lib_Makefile_am): For a conditional module, enclose the
13641         conditional automake snippet in an automake conditional.
13642         (func_emit_autoconf_snippets): Emit shell functions that contain the
13643         code for conditional modules.
13644         (func_import, func_create_testdir): Update specification.
13645
13646 2011-05-03  Eric Blake  <eblake@redhat.com>
13647
13648         test-getaddrinfo: report error information
13649         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
13650
13651 2011-05-03  Jim Meyering  <meyering@redhat.com>
13652
13653         bootstrap: avoid build failure when $GZIP is set
13654         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
13655         program name.  If defined at all, it is supposed to list gzip options.
13656         Reported by Alan Curry in http://debbugs.gnu.org/8609
13657
13658 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
13659
13660         readme-release: new module with release instructions
13661         * modules/readme-release: New module.
13662         * top/README-release: New file, from coreutils, grep, diffutils.
13663         * MODULES.html.sh (Support for maintaining and releasing): Add it.
13664
13665 2011-05-02  Eric Blake  <eblake@redhat.com>
13666
13667         fflush: also replace fclose when fixing fflush
13668         * modules/fflush (Depends-on): Add fclose.
13669         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
13670         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
13671         memstreams with no backing fd.
13672         * doc/posix-functions/fclose.texi (fclose): Document the use of
13673         fflush module to fix the bug.
13674         * tests/test-fclose.c (main): Relax test when fclose is used in
13675         isolation.
13676
13677         fclose: add some tests
13678         * modules/fclose-tests: New test module.
13679         * tests/test-fclose.c: New file.
13680         * doc/posix-functions/fclose.texi (fclose): Document the bug.
13681
13682         fclose: reduced dependencies
13683         * modules/fclose (Depends-on): Switch from fflush/fseeko to
13684         simpler lseek.
13685         * lib/fclose.c (rpl_fclose): Likewise.
13686         Reported by Simon Josefsson.
13687
13688         exit: drop remaining clients
13689         * modules/argmatch (Depends-on): Replace exit with stdlib.
13690         * modules/copy-file (Depends-on): Likewise.
13691         * modules/execute (Depends-on): Likewise.
13692         * modules/exitfail (Depends-on): Likewise.
13693         * modules/obstack (Depends-on): Likewise.
13694         * modules/pagealign_alloc (Depends-on): Likewise.
13695         * modules/pipe-filter-gi (Depends-on): Likewise.
13696         * modules/pipe-filter-ii (Depends-on): Likewise.
13697         * modules/savewd (Depends-on): Likewise.
13698         * modules/spawn-pipe (Depends-on): Likewise.
13699         * modules/wait-process (Depends-on): Likewise.
13700         * modules/xsetenv (Depends-on): Likewise.
13701         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
13702         * modules/git-merge-changelog (Depends-on): Likewise.
13703         * modules/long-options (Depends-on): Likewise.
13704         * modules/pt_chown (Depends-on): Likewise.
13705         * modules/sysexits (Depends-on): Likewise.
13706
13707         freading: relax license from LGPLv3+ to LGPLv2+
13708         * modules/freading (License): Relax LGPL version.
13709
13710 2011-05-02  Bruno Haible  <bruno@clisp.org>
13711
13712         fchdir: Remove unused dependencies.
13713         * modules/fchdir (Depends-on): Remove include_next.
13714
13715 2011-05-02  Bruno Haible  <bruno@clisp.org>
13716
13717         gnulib-tool: Refactor.
13718         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
13719         from func_emit_autoconf_snippets.
13720         (func_emit_autoconf_snippets): Use it.
13721
13722 2011-05-02  Simon Josefsson  <simon@josefsson.org>
13723
13724         * NEWS: Document removal of 'exit'.
13725         * modules/exit: Remove file.
13726
13727 2011-05-01  Bruno Haible  <bruno@clisp.org>
13728
13729         Update DEPENDENCIES.
13730         * DEPENDENCIES (gettext): Recommend the newest release.
13731         Reported by Simon Josefsson.
13732
13733 2011-05-01  Bruno Haible  <bruno@clisp.org>
13734
13735         gnulib-tool: Reduce code duplication.
13736         * gnulib-tool (func_emit_autoconf_snippets): New function.
13737         (func_import, func_create_testdir): Use it.
13738
13739 2011-04-30  Eric Blake  <eblake@redhat.com>
13740
13741         fclose: don't fail on non-seekable input stream
13742         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
13743         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
13744         since fflush is allowed to fail in that case.
13745
13746 2011-04-30  Bruno Haible  <bruno@clisp.org>
13747
13748         dup3: cleanup
13749         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
13750
13751 2011-04-30  Bruno Haible  <bruno@clisp.org>
13752
13753         netdb: Make it work in C++ mode.
13754         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
13755         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
13756         module.
13757         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
13758         gl_MODULE_INDICATOR_FOR_TESTS.
13759         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
13760         * modules/netdb-c++-tests: New file.
13761         * tests/test-netdb-c++.cc: New file.
13762
13763 2011-04-30  Bruno Haible  <bruno@clisp.org>
13764
13765         New modules 'vfscanf', 'vscanf'.
13766         * modules/vfscanf: New file.
13767         * modules/vscanf: New file.
13768         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
13769         here.
13770         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
13771         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
13772
13773 2011-04-30  Bruno Haible  <bruno@clisp.org>
13774
13775         passfd: Add comments.
13776         * lib/passfd.c: Add comments about platforms.
13777
13778 2011-04-30  Bruno Haible  <bruno@clisp.org>
13779
13780         sys_uio: Make <sys/uio.h> self-contained.
13781         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
13782         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
13783
13784 2011-04-30  Bruno Haible  <bruno@clisp.org>
13785
13786         sys_socket: Ensure 'struct iovec' definition.
13787         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
13788         <sys/socket.h>.
13789         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
13790
13791 2011-04-30  Bruno Haible  <bruno@clisp.org>
13792
13793         sys_uio: Protect definition of 'struct iovec'.
13794         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
13795         it as a C struct.
13796
13797 2011-04-30  Bruno Haible  <bruno@clisp.org>
13798
13799         manywarnings: fix indentation
13800         * m4/manywarnings.m4: Indent by 2 spaces consistently.
13801
13802 2011-04-30  Pádraig Brady <P@draigBrady.com>
13803
13804         manywarnings: add -Wno-missing-field-initializers if needed.
13805         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
13806         option if it's needed to allow initialization with { 0, }
13807
13808 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
13809
13810         announce-gen: cosmetic improvement
13811         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
13812
13813 2011-04-29  Jim Meyering  <meyering@redhat.com>
13814
13815         vc-list-files: indent with spaces, not TABs
13816         * build-aux/vc-list-files: Convert leading TABs to spaces,
13817         to match the style of most other files in gnulib.
13818
13819         announce-gen: indent with spaces, not TABs
13820         * build-aux/announce-gen: Convert all TABs to spaces, to match
13821         the style of most other files in gnulib.
13822
13823 2011-04-29  Eric Blake  <eblake@redhat.com>
13824
13825         quotearg: avoid uninitialized variable use
13826         * lib/quotearg.c (quoting_options_from_style): Initialize
13827         remaining fields, and ensure that custom styles are only used via
13828         quoting_options rather than quoting_style.
13829
13830 2011-04-29  Jim Meyering  <meyering@redhat.com>
13831
13832         maint.mk: remove unused VC-tag variable
13833         * top/maint.mk (VC-tag): Remove unused variable.
13834
13835 2011-04-29  Bruno Haible  <bruno@clisp.org>
13836
13837         netdb: fix gai_strerror replacements
13838         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
13839         * modules/netdb: Substitute it.
13840
13841 2011-04-29  Jim Meyering  <meyering@redhat.com>
13842
13843         test-getcwd.c: avoid new set-but-not-used warning
13844         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
13845         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
13846         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
13847         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
13848
13849         test-hash.c: avoid a new shadowing warning
13850         * tests/test-hash.c (main): Don't shadow "dup".
13851
13852 2011-04-28  Eric Blake  <eblake@redhat.com>
13853
13854         getaddrinfo: fix gai_strerror signature
13855         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
13856         and work around mingw with UNICODE defined.
13857         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
13858         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
13859         * modules/netdb (Makefile.am): Substitute it.
13860         * lib/netdb.in.h (gai_strerror): Declare replacement.
13861         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
13862         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
13863         the fix.
13864
13865         getsockopt: avoid compiler warning
13866         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
13867         Reported by Matthias Bolte.
13868
13869         tests: drop unused link dependency
13870         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
13871         * modules/dirent-safer-tests (Makefile.am): Likewise.
13872         * modules/fdopendir-tests (Makefile.am): Likewise.
13873         * modules/mkfifoat-tests (Makefile.am): Likewise.
13874         * modules/openat-safer-tests (Makefile.am): Likewise.
13875         * modules/openat-tests (Makefile.am): Likewise.
13876         * modules/readlinkat-tests (Makefile.am): Likewise.
13877         * modules/symlinkat-tests (Makefile.am): Likewise.
13878         * modules/linkat-tests (Makefile.am): Likewise.
13879         (Depends-on): Switch to filenamecat-lgpl.
13880         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
13881         LIBINTL.
13882         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
13883         * tests/test-linkat.c (main): Don't require xalloc.
13884
13885         hash, mgetgroups: drop xalloc dependency
13886         * lib/hash.c (includes): Adjust includes.
13887         * lib/mgetgroups.c (includes): Likewise.
13888         (xgetgroups): Move...
13889         * lib/xgetgroups.c: ...to new file.
13890         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
13891         * modules/xgetgroups: New file, split from...
13892         * modules/mgetgroups: ...here.
13893         (Depends-on): Add xalloc-oversized.
13894         * modules/hash (Depends-on): Likewise.
13895         * modules/hash-tests (Depends-on): Drop xalloc.
13896         (test_hash_LDADD): Drop unused library.
13897         * tests/test-hash.c (main): Break xalloc dependency.
13898         (includes): Drop unused include.
13899
13900         xalloc-oversized: new module
13901         * modules/xalloc-oversized: New module.
13902         * modules/xalloc (Depends-on): Add it.
13903         * lib/xalloc.h (xalloc_oversized): Move...
13904         * lib/xalloc-oversized.h: ...into new file.
13905
13906         utimecmp: drop dependency on xmalloc
13907         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
13908         due to memory pressure.
13909         * modules/utimecmp (Depends-on): Drop xalloc.
13910
13911 2011-04-27  Eric Blake  <eblake@redhat.com>
13912
13913         getcwd: fix mingw bugs
13914         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
13915         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
13916         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
13917
13918 2011-04-27  Bruno Haible  <bruno@clisp.org>
13919
13920         mkstemps: Ensure declaration on MacOS X 10.5.
13921         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
13922         * doc/glibc-functions/mkstemps.texi: Document header file problem on
13923         MacOS X.
13924
13925 2011-04-27  Bruno Haible  <bruno@clisp.org>
13926
13927         mkstemp: More documentation.
13928         * doc/posix-functions/mkstemp.texi: Document header file problem on
13929         MacOS X.
13930
13931 2011-04-27  Bruno Haible  <bruno@clisp.org>
13932
13933         mkstemp: Tweak configure message when cross-compiling.
13934         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
13935         result as a guess.
13936
13937 2011-04-27  Bruno Haible  <bruno@clisp.org>
13938
13939         clean-temp: Clarify what it does.
13940         * lib/clean-temp.h: Add more comments.
13941         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
13942         module.
13943         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
13944         * doc/glibc-functions/mkstemps.texi: Likewise.
13945         * doc/glibc-functions/mkostemps.texi: Likewise.
13946
13947 2011-04-27  Eric Blake  <eblake@redhat.com>
13948
13949         fchdir: avoid extra chdir and fix test
13950         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
13951         getcwd-lgpl.
13952         * lib/fchdir.c (get_name): Any absolute name will do; it does not
13953         have to be canonical.
13954         (canonicalize_file_name): Drop unused macro.
13955         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
13956
13957         filenamecat-lgpl: fix licence
13958         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
13959         when it was first created.
13960
13961         linkat, renameat: add missing dependency
13962         * modules/linkat (Depends-on): Require getcwd-lgpl.
13963         * modules/renameat (Depends-on): Likewise.
13964
13965         tests: reduce dependencies
13966         * tests/test-linkat.c (main): Use lighter-weight getcwd.
13967         * tests/test-renameat.c (main): Likewise.
13968         * modules/linkat-tests (Depends-on): Relax dependency.
13969         * modules/renameat-tests (Depends-on): Likewise.
13970         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
13971         dependency explicit.
13972
13973         save-cwd: reduce default dependency
13974         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
13975         * lib/save-cwd.c: Update comments.
13976         * NEWS: Document the semantic change.
13977
13978         getcwd: enhance tests
13979         * tests/test-getcwd-lgpl.c: New file, taken from...
13980         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
13981         repeat long path stress tests from m4 probe.
13982         * modules/getcwd-lgpl-tests: New module.
13983         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
13984         * m4/getcwd-abort-bug.m4: Update comment.
13985         * m4/getcwd-path-max.m4: Likewise.
13986
13987         getcwd-lgpl: new module
13988         * modules/getcwd-lgpl: New module.
13989         * lib/getcwd-lgpl.c: New file.
13990         * doc/posix-functions/getcwd.texi (getcwd): Document it.
13991         * MODULES.html.sh (lacking POSIX:2008): Likewise.
13992         * modules/getcwd (configure.ac): Set C witness.
13993         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
13994
13995         getcwd: tweak comments
13996         * m4/getcwd-abort-bug.m4: Fix comments.
13997         * m4/getcwd-path-max.m4: Likewise.
13998         * m4/getcwd.m4: Likewise.
13999
14000 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14001         and Eric Blake  <eblake@redhat.com>
14002
14003         mkstemp: replace if system version uses wrong permissions
14004         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
14005         read/write mode bits set in file created by mkstemp.
14006         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
14007
14008 2011-04-27  Eric Blake  <eblake@redhat.com>
14009
14010         passfd: avoid compiler warning
14011         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
14012         Reported by Laine Stump.
14013
14014 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
14015
14016         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
14017         required by the NetBSD (and perhaps other 4.4BSD derived) join.
14018
14019 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
14020         and Eric Blake  <eblake@redhat.com>
14021
14022         mkstemp: mention clean-temp module
14023         * lib/mkstemp.c: Add comment.
14024         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
14025
14026 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
14027
14028         inttypes: also provide default values for 32-bit tests
14029         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
14030         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
14031
14032 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14033
14034         strtoumax: remove dependency on strtoimax
14035         This is like the strtoull change of yesterday.
14036         * modules/strtoumax (Files): Add lib/strtoimax.c.
14037         (Depends-on): Remove strtoimax and add verify.
14038
14039         inttypes-incomplete: new module
14040         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
14041         all but the PRI* and SCN* parts of gl_INTTYPES_H.
14042         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
14043         of gl_INTTYPES_H.
14044         (gl_INTTYPES_H): Rewrite in terms of these new macros.
14045         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
14046         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
14047         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
14048         * modules/strtoumax, modules/xstrtol (Depends-on):
14049         Depend on inttypes-incomplete, not inttypes.
14050         * modules/inttypes-incomplete: New module, containing the contents
14051         of the old modules/inttypes module, except that the Files: section
14052         omits m4/inttypes-pri.m4, and the configure.ac section invokes
14053         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
14054         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
14055         (Depends-on): Depend only on inttypes-incomplete.
14056         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
14057
14058         inttypes: omit now-redundant strtoimax and strtoumax work
14059         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
14060         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
14061
14062         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
14063         This supports apps that need pointers to strtoimax and strtoumax,
14064         and ports to HP-UX 11.00 64.bit, which has macros that expand to
14065         nonexistent functions.  See
14066         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
14067         et seq.
14068         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
14069         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
14070         a macro.
14071         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
14072
14073 2011-04-25  Simon Josefsson  <simon@josefsson.org>
14074
14075         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
14076
14077 2011-04-25  Bruno Haible  <bruno@clisp.org>
14078
14079         strtol, strtoul: Mark modules as obsolete.
14080         * modules/strtol (Status, Notice): New sections.
14081         * modules/strtoul (Status, Notice): New sections.
14082
14083 2011-04-25  Bruno Haible  <bruno@clisp.org>
14084
14085         strtod: Remove check for strtod, unless supporting old platforms.
14086         * modules/strtod-obsolete: New file.
14087         * m4/strtod-obsolete.m4: New file.
14088         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
14089         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
14090         * modules/strtod (Depends-on): Add strtod-obsolete.
14091         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
14092
14093 2011-04-25  Bruno Haible  <bruno@clisp.org>
14094
14095         strcase: Make module obsolete.
14096         * modules/strcase (Status, Notice): New sections.
14097
14098 2011-04-25  Bruno Haible  <bruno@clisp.org>
14099
14100         dup2: Remove check for dup2, unless supporting old obsolete platforms.
14101         * modules/dup2-obsolete: New file.
14102         * m4/dup2-obsolete.m4: New file.
14103         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
14104         gl_FUNC_DUP2_OBSOLETE is not also defined.
14105         * modules/dup2 (Depends-on): Add dup2-obsolete.
14106         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
14107
14108 2011-04-25  Bruno Haible  <bruno@clisp.org>
14109
14110         strnlen: Avoid memchr related link error on old obsolete platforms.
14111         * modules/memchr-obsolete: New file.
14112         * m4/memchr-obsolete.m4: New file.
14113         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
14114         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
14115         * modules/memchr (Depends-on): Add memchr-obsolete.
14116         * modules/strnlen (Depends-on): Likewise.
14117         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
14118
14119 2011-04-25  Jim Meyering  <meyering@redhat.com>
14120
14121         maint.mk: makefile_at_at_check extend and clean up
14122         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
14123         in addition to */Makefile.am.
14124         Exempt legitimate uses of @VAR@ notation, e.g.,
14125         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
14126         Remove obsolete coreutils-specific comment.
14127         Prompted by discussion here:
14128         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
14129
14130 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14131
14132         strtoul: remove dependency on strtol
14133         This is so that 'configure' need not check for strtol merely because
14134         the application needs strtoul.
14135         * modules/strtoul (Files): Add lib/strtol.c.
14136         (Depends-on): Remove strtol.
14137
14138         strtoull: remove dependency on strtoul
14139         This is like the strtoll change.
14140         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
14141         (Depends-on): Remove strtoul.
14142
14143         strtoll: remove dependency on strtol
14144         This is so that 'configure' need not check for strtol merely because
14145         the application needs strtoll.
14146         * modules/strtoll (Files): Add lib/strtol.c.
14147         (Depends-on): Remove strtol.
14148
14149 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14150
14151         inttypes: Move some configure check to module 'imaxdiv'.
14152         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
14153         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
14154         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
14155
14156 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14157
14158         inttypes: Move some configure check to module 'imaxabs'.
14159         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
14160         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
14161         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
14162
14163 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14164
14165         inttypes: Remove configure tests that are not needed since 2009-12-31.
14166         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
14167         gl_cv_header_working_inttypes_h.
14168
14169 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
14170
14171         * modules/strnlen (Depends-on): Remove memchr.
14172         The strnlen implementation doesn't need the memchr module's fixes; see
14173         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
14174
14175         strtol: remove dependency on wchar
14176         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
14177         * modules/strtol (Depends-on): Remove wchar.
14178
14179 2011-04-21  Eric Blake  <eblake@redhat.com>
14180
14181         passfd: fix test regression on Linux
14182         * modules/passfd-tests (configure.ac): Correct socketpair check.
14183
14184         passfd: speed up configure and drop unused code
14185         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
14186         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
14187         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
14188         Instead of probing at configure for unix_scm_rights_bsd44_way,
14189         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
14190         check to a struct member probe.
14191         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
14192         (sendfd, recvfd): Update preprocessor checks.
14193         * modules/passfd (Files): Reflect rename, and drop unused file.
14194         (Depends-on): Drop unused dependency.
14195
14196         passfd: allow compilation on mingw
14197         * modules/sys_socket (Depends-on): Add sys_uio.
14198         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
14199         iovec and a minimal struct msghdr.
14200         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
14201         * tests/test-sys_socket.c (main): Enhance test.
14202         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
14203         guaranteed to provide what we need.
14204         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
14205         * modules/passfd-tests (Depends-on): Add sys_wait.
14206         * tests/test-passfd.c (main): Skip test on mingw, for now.
14207         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
14208         partial 'struct msghdr' implementation.
14209
14210         sys_uio: new module
14211         * modules/sys_uio: New module.
14212         * modules/sys_uio-tests: Likewise.
14213         * lib/sys_uio.in.h: New file.
14214         * m4/sys_uio_h.m4: Likewise.
14215         * tests/test-sys_uio.c: Likewise.
14216         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
14217         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
14218
14219 2011-04-20  Jim Meyering  <meyering@redhat.com>
14220
14221         useless-if-before-free: avoid false-positive
14222         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
14223         disjunct so that it too requires a terminating ";".  Without that,
14224         this script would identify as useless one statement from gcc that
14225         was not:
14226           if (aligned_ptr)
14227             free (((void **) aligned_ptr) [-1]);
14228
14229 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
14230
14231         doc: update users.txt.
14232         * users.txt: Add barcode.
14233
14234 2011-04-19  Bruno Haible  <bruno@clisp.org>
14235
14236         ioctl: Remove link dependency on native Windows.
14237         * lib/fd-hook.h: Renamed from lib/close-hook.h.
14238         (gl_close_fn, gl_ioctl_fn): New types.
14239         (struct fd_hook): Renamed from struct close_hook. Change type of
14240         private_close_fn field. Add private_ioctl_fn field.
14241         (close_hook_fn): Add parameter for primary close method.
14242         (execute_close_hooks, execute_all_close_hooks): Likewise.
14243         (ioctl_hook_fn): New type.
14244         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
14245         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14246         argument.
14247         (unregister_fd_hook): Renamed from unregister_close_hook.
14248         * lib/fd-hook.c: Renamed from lib/close-hook.c.
14249         Don't include <unistd.h>.
14250         (close): Remove undef.
14251         (anchor): Update.
14252         (execute_close_hooks): Add argument for primary close method.
14253         (execute_all_close_hooks): Likewise.
14254         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
14255         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
14256         argument. Allow each argument to be NULL.
14257         (unregister_fd_hook): Renamed from unregister_close_hook.
14258         * lib/close.c (rpl_close): Pass 'close' function pointer to
14259         execute_all_close_hooks.
14260         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
14261         (primary_ioctl): New function.
14262         (ioctl): Don't call ioctlsocket here. Instead, call
14263         execute_all_ioctl_hooks.
14264         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
14265         close method.
14266         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
14267         (fd_sockets_hook): Renamed from close_sockets_hook.
14268         (gl_sockets_startup, gl_sockets_cleanup): Update.
14269         * modules/fd-hook: Renamed from modules/close-hook. Update.
14270         * modules/close (Depends-on): Add fd-hook, remove close-hook.
14271         * modules/sockets (Depends-on): Likewise.
14272         * modules/ioctl (Depends-on): Add fd-hook.
14273         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
14274         GNULIB_SOCKET.
14275
14276 2011-04-19  Bruno Haible  <bruno@clisp.org>
14277
14278         Move the support of O_NONBLOCK in open() to the 'open' module.
14279         * modules/nonblocking (Depends-on): Remove 'open'.
14280         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
14281         gl_cv_have_open_O_NONBLOCK.
14282         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
14283         O_NONBLOCK support.
14284         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
14285
14286 2011-04-17  Bruno Haible  <bruno@clisp.org>
14287
14288         pipe2: Simplify code.
14289         * lib/pipe2.c (pipe2): Reduce code duplication.
14290
14291 2011-04-17  Bruno Haible  <bruno@clisp.org>
14292
14293         nonblocking: Add comment.
14294         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
14295
14296 2011-04-17  Bruno Haible  <bruno@clisp.org>
14297
14298         nonblocking: Add tests for sockets.
14299         * tests/test-nonblocking-socket.sh: New file.
14300         * tests/test-nonblocking-socket-main.c: New file.
14301         * tests/test-nonblocking-socket-child.c: New file.
14302         * tests/test-nonblocking-socket.h: New file.
14303         * tests/socket-server.h: New file.
14304         * tests/socket-client.h: New file.
14305         * modules/nonblocking-socket-tests: New file.
14306         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
14307
14308 2011-04-17  Bruno Haible  <bruno@clisp.org>
14309
14310         nonblocking: Add tests for pipes.
14311         * tests/test-nonblocking-pipe.sh: New file.
14312         * tests/test-nonblocking-pipe-main.c: New file.
14313         * tests/test-nonblocking-pipe-child.c: New file.
14314         * tests/test-nonblocking-pipe.h: New file.
14315         * tests/test-nonblocking-writer.h: New file.
14316         * tests/test-nonblocking-reader.h: New file.
14317         * tests/test-nonblocking-misc.h: New file.
14318         * modules/nonblocking-pipe-tests: New file.
14319         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
14320
14321 2011-04-16  Bruno Haible  <bruno@clisp.org>
14322
14323         gettext: Clarify the needed programmer actions.
14324         * modules/gettext (Notice): New field.
14325         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
14326
14327 2011-04-16  Bruno Haible  <bruno@clisp.org>
14328
14329         strchrnul: Tweak last commit.
14330         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
14331         bug.
14332         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
14333         as in _GL_FUNCDECL_SYS.
14334         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
14335         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
14336
14337 2011-04-15  Eric Blake  <eblake@redhat.com>
14338
14339         strchrnul: work around cygwin bug
14340         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
14341         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
14342         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
14343         * modules/string (Makefile.am): Substitute it.
14344         * lib/string.in.h (strchrnul): Use it.
14345
14346 2011-04-15  Bruno Haible  <bruno@clisp.org>
14347
14348         Don't require lib/stdio-write.c when only module 'stdio' is used.
14349         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
14350         invocation.
14351         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
14352
14353 2011-04-14  Bruno Haible  <bruno@clisp.org>
14354
14355         Support non-blocking pipe I/O in read() on native Windows.
14356         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
14357         (read): New declaration.
14358         * lib/read.c: New file.
14359         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
14360         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
14361         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
14362         vscanf): New declarations.
14363         * lib/stdio-read.c: New file.
14364         * m4/read.m4: New file.
14365         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
14366         REPLACE_READ.
14367         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
14368         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14369         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
14370         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
14371         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
14372         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14373         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14374         * modules/read: New file.
14375         * modules/nonblocking (Files): Add lib/stdio-read.c.
14376         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
14377         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
14378         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
14379         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
14380         * modules/pread (Depends-on): Add read.
14381         * modules/safe-read (Depends-on): Likewise.
14382         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
14383         gets, scanf, vfscanf, vscanf): Verify signatures.
14384         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
14385         problem with non-blocking pipes.
14386         * doc/posix-functions/fgetc.texi: Likewise.
14387         * doc/posix-functions/fgets.texi: Likewise.
14388         * doc/posix-functions/fread.texi: Likewise.
14389         * doc/posix-functions/fscanf.texi: Likewise.
14390         * doc/posix-functions/getc.texi: Likewise.
14391         * doc/posix-functions/getchar.texi: Likewise.
14392         * doc/posix-functions/gets.texi: Likewise.
14393         * doc/posix-functions/scanf.texi: Likewise.
14394         * doc/posix-functions/vfscanf.texi: Likewise.
14395         * doc/posix-functions/vscanf.texi: Likewise.
14396
14397 2011-04-14  Bruno Haible  <bruno@clisp.org>
14398
14399         Support non-blocking pipe I/O in write() on native Windows.
14400         * lib/write.c (rpl_write): Split a write request that failed merely
14401         because the byte count was larger than the pipe buffer's size.
14402         * doc/posix-functions/write.texi: Mention the problem with large byte
14403         counts.
14404
14405 2011-04-14  Bruno Haible  <bruno@clisp.org>
14406
14407         wchar: Ensure that wchar_t gets defined on uClibc.
14408         * lib/wchar.in.h: On uClibc, include <stddef.h>.
14409         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
14410
14411 2011-04-13  Bruno Haible  <bruno@clisp.org>
14412
14413         safe-write, full-read: Avoid unnecessary compilation units.
14414         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
14415         (Depends-on): Remove safe-read. Add ssize_t.
14416         * modules/full-read (Files): Add lib/full-write.c.
14417         (Depends-on): Add full-write.
14418
14419 2011-04-13  Bruno Haible  <bruno@clisp.org>
14420
14421         Support non-blocking pipe I/O and SIGPIPE in pwrite().
14422         * modules/pwrite (Depends-on): Add 'write'.
14423
14424 2011-04-13  Bruno Haible  <bruno@clisp.org>
14425
14426         Support non-blocking pipe I/O in write() on native Windows.
14427         * lib/unistd.in.h (write): Enable replacement also if
14428         GNULIB_UNISTD_H_NONBLOCKING is 1.
14429         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
14430         (rpl_write): When failing to write on a non-blocking pipe, change
14431         errno from ENOSPC to EAGAIN.
14432         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
14433         putchar, puts, vfprintf, vprintf): Enable replacement also if
14434         GNULIB_STDIO_H_NONBLOCKING is 1.
14435         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
14436         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
14437         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
14438         CALL_WITH_SIGPIPE_EMULATION.
14439         (CALL_WITH_SIGPIPE_EMULATION): Use them.
14440         * m4/nonblocking.m4: New file.
14441         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
14442         for non-blocking I/O support.
14443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14444         GNULIB_UNISTD_H_NONBLOCKING.
14445         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
14446         required for non-blocking I/O support.
14447         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
14448         * modules/nonblocking (Files): Add m4/nonblocking.m4,
14449         lib/stdio-write.c, m4/asm-underscore.m4.
14450         (Depends-on): Add stdio, unistd.
14451         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
14452         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
14453         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
14454         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
14455         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
14456         problem with non-blocking pipes.
14457         * doc/posix-functions/fputc.texi: Likewise.
14458         * doc/posix-functions/fputs.texi: Likewise.
14459         * doc/posix-functions/fwrite.texi: Likewise.
14460         * doc/posix-functions/printf.texi: Likewise.
14461         * doc/posix-functions/putc.texi: Likewise.
14462         * doc/posix-functions/putchar.texi: Likewise.
14463         * doc/posix-functions/puts.texi: Likewise.
14464         * doc/posix-functions/vfprintf.texi: Likewise.
14465         * doc/posix-functions/vprintf.texi: Likewise.
14466         * doc/posix-functions/write.texi: Likewise.
14467
14468 2011-04-10  Jim Meyering  <meyering@redhat.com>
14469
14470         maint.mk: prohibit doubled words
14471         Detect them also when they're separated by a newline.
14472         There are 3 ways to customize it:
14473           - disable the test on a per file basis, as usual with rules using
14474             $(VC_LIST_EXCEPT)
14475           - replace the default doubled-word-selecting regexp (affects all files)
14476           - ignore a particular file-vs-doubled-word match
14477         I nearly used that last one to ignore the "is is" match in
14478         coreutils' NEWS file, since the text was "ls -is is ..."
14479         To do that, I would have added this line to cfg.mk:
14480           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
14481         but it would have ignored any "is is" match in NEWS.
14482         Low probability, but still...
14483         Instead, I changed the text, slightly:
14484           -  ls -is is now consistent with ls -lis in ignoring values returned
14485           +  "ls -is" is now consistent with ls -lis in ignoring values returned
14486         * top/maint.mk (prohibit_double_word_RE_): Provide default.
14487         (prohibit_doubled_word_): Define.
14488         (sc_prohibit_doubled_word): New rule.
14489         (sc_prohibit_the_the): Remove.  Subsumed by the above.
14490
14491 2011-04-10  Jim Meyering  <meyering@redhat.com>
14492
14493         maint: fix doubled-word typo in comment
14494         * m4/gethostname.m4: s/is is/it is/
14495         * m4/getdomainname.m4: Likewise.
14496
14497 2011-04-10  Jim Meyering  <meyering@redhat.com>
14498
14499         maint: remove doubled word: s/it it/it/
14500         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
14501
14502 2011-04-10  Jim Meyering  <meyering@redhat.com>
14503
14504         maint.mk: remove useless semicolon and backslash
14505         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
14506         semicolon and backslash.
14507
14508 2011-04-10  Bruno Haible  <bruno@clisp.org>
14509
14510         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
14511         * modules/stdint-tests (Depends-on): Add wchar.
14512
14513 2011-04-10  Jim Meyering  <meyering@redhat.com>
14514
14515         maint: remove doubled words in comments, e.g., s/a a/a/
14516         * lib/strptime.c (day_of_the_week): s/the the/the/
14517         * tests/test-chown.h (test_chown): s/a a/a/
14518
14519         test-chown.h: correct a cast
14520         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
14521         when the destination is a stat.st_gid.
14522
14523 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
14524
14525         getaddrinfo: Fix test for sa_len member.
14526         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
14527         include <sys/types.h> before <sys/socket.h>.
14528
14529 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14530
14531         maint: change "can not" to "cannot"
14532         * doc/posix-functions/iconv.texi (iconv): This one crossed line
14533         boundaries.
14534
14535 2011-04-09  Jim Meyering  <meyering@redhat.com>
14536
14537         maint: change "a a" to "a"
14538         * tests/test-lchown.h (test_lchown): s/a a/a/
14539
14540         maint.mk: prohibit \<the the\>
14541         * top/maint.mk (sc_prohibit_the_the): New rule.
14542
14543         maint: fix "the the" in comment
14544         * lib/count-one-bits.h: s/the the/the/
14545
14546         maint: change "can not" to "cannot"
14547         But do not change the occurrences in maintain.texi or in
14548         build-aux/po/Makefile.in.in, which I presume comes from gettext.
14549         * doc/gnulib-tool.texi: s/can not/cannot/
14550         * doc/posix-functions/accept.texi (accept): Likewise.
14551         * doc/posix-functions/socket.texi (socket): Likewise.
14552         * lib/mbrtowc.c: Likewise.
14553
14554         maint.mk: prohibit use of "can not"
14555         * top/maint.mk (sc_prohibit_can_not): New rule.
14556         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
14557
14558 2011-04-09  Bruno Haible  <bruno@clisp.org>
14559
14560         careadlinkat: Guard against misuse of careadlinkatcwd.
14561         * lib/careadlinkat.c: Include <stdlib.h>.
14562         (careadlinkatcwd): Check that the fd argument is as expected.
14563
14564 2011-04-09  Bruno Haible  <bruno@clisp.org>
14565
14566         careadlinkat: Use common coding style.
14567         * lib/careadlinkat.c: Move gnulib includes after system includes.
14568
14569 2011-04-09  Bruno Haible  <bruno@clisp.org>
14570
14571         careadlinkat: Clarify specification.
14572         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
14573         (careadlinkatcwd): Add comment.
14574         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
14575
14576 2011-04-09  Bruno Haible  <bruno@clisp.org>
14577
14578         areadlinkat: Avoid link error on many platforms.
14579         * modules/areadlinkat (Depends-on): Add areadlink.
14580
14581 2011-04-09  Bruno Haible  <bruno@clisp.org>
14582
14583         allocator, careadlinkat: Fix double-inclusion guard.
14584         * lib/allocator.h: Fix double-inclusion guard.
14585         * lib/careadlinkat.h: Likewise.
14586
14587 2011-04-09  Bruno Haible  <bruno@clisp.org>
14588
14589         relocatable-prog-wrapper: Update after module 'areadlink' changed.
14590         * lib/relocwrapper.c: Update dependencies hierarchy.
14591         * build-aux/install-reloc: Update list of files to be compiled.
14592         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
14593         lib/allocator.[hc].
14594
14595 2011-04-08  Eric Blake  <eblake@redhat.com>
14596
14597         strftime: silence gnulib-tool warning
14598         * modules/strftime-tests (Depends-on): Drop automatic dependency.
14599
14600 2011-04-08  Bruno Haible  <bruno@clisp.org>
14601
14602         verify: Fix syntax error with GCC 4.6 in C++ mode.
14603         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
14604         (HAVE_STATIC_ASSERT): New macro.
14605         (verify_true, verify): Use 'static_assert' if it is supported and
14606         '_Static_assert' is not supported.
14607
14608 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
14609
14610         allocator: New module.
14611         * modules/allocator, lib/allocator.c: New files.
14612         * lib/allocator.h (stdlib_allocator): New decl.
14613         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
14614         Remove.  Do not include <stdlib.h>.
14615         (careadlinkat): Use stdlib_allocator instead of rolling our own.
14616         * modules/careadlinkat (Files): Remove lib/allocator.h.
14617         (Depends-on): Add allocator.
14618
14619         stdlib: let modules use system malloc, realloc
14620         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
14621         if !_GL_USE_STDLIB_ALLOC.
14622         (malloc, realloc): Limit this change to a smaller scope.
14623
14624         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
14625         (malloc, realloc): Don't #undef; no longer needed.
14626         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14627         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14628         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14629         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14630         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14631         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14632         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
14633         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
14634
14635         careadlinkat: rename members to avoid problem
14636         * lib/allocator.h (struct allocator): Rename members from
14637         malloc/realloc to allocate/reallocate, to avoid problems if malloc
14638         and realloc are #define'd.  Reported by Eric Blake in
14639         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
14640         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
14641
14642 2011-04-08  Eric Blake  <eblake@redhat.com>
14643
14644         nonblocking: reduce dependency
14645         * tests/test-nonblocking.c: Only test sockets when in use.
14646         * modules/nonblocking-tests (Depends-on): Drop socket.
14647         (Makefile.am): Link even if sockets are not present.
14648         * modules/pipe2-tests (Makefile.am): Likewise.
14649         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
14650
14651         pipe2: fix O_NONBLOCK support on mingw
14652         * modules/pipe2 (Depends-on): Add nonblocking.
14653         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
14654         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
14655         * tests/test-nonblocking.c (main): Likewise.
14656         * modules/pipe2-tests (Makefile.am): Avoid link failure.
14657
14658         fcntl-h: fix O_ACCMODE on cygwin
14659         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
14660         * lib/fcntl.in.h (O_ACCMODE): Fix it.
14661
14662         pipe-filter: drop O_NONBLOCK workarounds
14663         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
14664         * modules/pipe-filter-ii (Depends-on): Likewise.
14665         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
14666
14667         nonblocking: provide O_NONBLOCK for mingw
14668         * modules/nonblocking (Depends-on): Add open.
14669         (configure.ac): Set new witness macro.
14670         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
14671         * modules/fcntl-h (Makefile.am): Substitute it.
14672         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
14673         nonblocking module is in use.
14674         * lib/nonblocking.c: Adjust portability test.
14675         * lib/open.c (open): Don't let native open see gnulib flag.
14676         * tests/test-fcntl-h.c (main): Enhance test.
14677         * tests/test-open.h (test_open): Likewise.
14678         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
14679
14680         careadlinkat: fix compilation error on mingw
14681         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
14682         within struct allocator.
14683
14684 2011-04-06  Eric Blake  <eblake@redhat.com>
14685
14686         binary-io: relicense under LGPLv2+
14687         * modules/binary-io (License): Relax to LGPLv2+.
14688         Requested for libvirt, and required by pipe2.
14689
14690 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
14691
14692         verify: use _Static_assert if available
14693         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
14694         (verify_true, verify): Use it if available.  This generates better
14695         diagnostics with GCC 4.6.0 and later.
14696
14697 2011-04-05  Bruno Haible  <bruno@clisp.org>
14698
14699         Remove leftover generated .h files after config.status changed.
14700
14701         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
14702         GL_GENERATE_ALLOCA_H.
14703         * modules/alloca-opt (Makefile.am): Remove alloca.h if
14704         GL_GENERATE_ALLOCA_H evaluates to false.
14705
14706         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
14707         GL_GENERATE_ARGZ_H.
14708         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
14709         evaluates to false.
14710
14711         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
14712         GL_GENERATE_BYTESWAP_H.
14713         * modules/byteswap (Makefile.am): Remove byteswap.h if
14714         GL_GENERATE_BYTESWAP_H evaluates to false.
14715
14716         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
14717         GL_GENERATE_ERRNO_H.
14718         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
14719         evaluates to false.
14720
14721         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
14722         GL_GENERATE_FLOAT_H.
14723         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
14724         evaluates to false.
14725
14726         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
14727         GL_GENERATE_FNMATCH_H.
14728         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
14729         GL_GENERATE_FNMATCH_H evaluates to false.
14730
14731         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
14732         GL_GENERATE_GLOB_H.
14733         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
14734         evaluates to false.
14735
14736         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
14737         automake conditional GL_GENERATE_ICONV_H.
14738         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
14739         evaluates to false.
14740
14741         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
14742         GL_GENERATE_NETINET_IN_H.
14743         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
14744         GL_GENERATE_NETINET_IN_H evaluates to false.
14745
14746         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
14747         conditional GL_GENERATE_PTHREAD_H.
14748         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
14749         * modules/pthread (Makefile.am): Remove pthread.h if
14750         GL_GENERATE_PTHREAD_H evaluates to false.
14751
14752         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
14753         GL_GENERATE_SCHED_H.
14754         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
14755         evaluates to false.
14756
14757         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
14758         conditional GL_GENERATE_SELINUX_CONTEXT_H.
14759         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
14760         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
14761
14762         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
14763         GL_GENERATE_STDARG_H.
14764         * modules/stdarg (Makefile.am): Remove stdarg.h if
14765         GL_GENERATE_STDARG_H evaluates to false.
14766
14767         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
14768         GL_GENERATE_STDBOOL_H.
14769         * modules/stdbool (Makefile.am): Remove stdbool.h if
14770         GL_GENERATE_STDBOOL_H evaluates to false.
14771
14772         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
14773         conditional GL_GENERATE_STDDEF_H.
14774         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
14775         * modules/stddef (Makefile.am): Remove stddef.h if
14776         GL_GENERATE_STDDEF_H evaluates to false.
14777
14778         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
14779         GL_GENERATE_STDINT_H.
14780         * modules/stdint (Makefile.am): Remove stdint.h if
14781         GL_GENERATE_STDINT_H evaluates to false.
14782
14783         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
14784         GL_GENERATE_SYSEXITS_H.
14785         * modules/sysexits (Makefile.am): Remove sysexits.h if
14786         GL_GENERATE_SYSEXITS_H evaluates to false.
14787
14788         Reported by Karl Berry and Ralf Wildenhues.
14789
14790 2011-04-05  Bruno Haible  <bruno@clisp.org>
14791
14792         Ensure to rebuild generated .h files when config.status has changed.
14793         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
14794         config.status.
14795         * modules/ctype (Makefile.am): Likewise.
14796         * modules/dirent (Makefile.am): Likewise.
14797         * modules/errno (Makefile.am): Likewise.
14798         * modules/fcntl-h (Makefile.am): Likewise.
14799         * modules/float (Makefile.am): Likewise.
14800         * modules/getopt-posix (Makefile.am): Likewise.
14801         * modules/glob (Makefile.am): Likewise.
14802         * modules/iconv-h (Makefile.am): Likewise.
14803         * modules/inttypes (Makefile.am): Likewise.
14804         * modules/langinfo (Makefile.am): Likewise.
14805         * modules/locale (Makefile.am): Likewise.
14806         * modules/math (Makefile.am): Likewise.
14807         * modules/netdb (Makefile.am): Likewise.
14808         * modules/netinet_in (Makefile.am): Likewise.
14809         * modules/poll-h (Makefile.am): Likewise.
14810         * modules/pthread (Makefile.am): Likewise.
14811         * modules/pty (Makefile.am): Likewise.
14812         * modules/sched (Makefile.am): Likewise.
14813         * modules/search (Makefile.am): Likewise.
14814         * modules/selinux-h (Makefile.am): Likewise.
14815         * modules/signal (Makefile.am): Likewise.
14816         * modules/spawn (Makefile.am): Likewise.
14817         * modules/stdarg (Makefile.am): Likewise.
14818         * modules/stdbool (Makefile.am): Likewise.
14819         * modules/stddef (Makefile.am): Likewise.
14820         * modules/stdint (Makefile.am): Likewise.
14821         * modules/stdio (Makefile.am): Likewise.
14822         * modules/stdlib (Makefile.am): Likewise.
14823         * modules/string (Makefile.am): Likewise.
14824         * modules/strings (Makefile.am): Likewise.
14825         * modules/sys_file (Makefile.am): Likewise.
14826         * modules/sys_ioctl (Makefile.am): Likewise.
14827         * modules/sys_select (Makefile.am): Likewise.
14828         * modules/sys_socket (Makefile.am): Likewise.
14829         * modules/sys_stat (Makefile.am): Likewise.
14830         * modules/sys_time (Makefile.am): Likewise.
14831         * modules/sys_times (Makefile.am): Likewise.
14832         * modules/sys_utsname (Makefile.am): Likewise.
14833         * modules/sys_wait (Makefile.am): Likewise.
14834         * modules/sysexits (Makefile.am): Likewise.
14835         * modules/termios (Makefile.am): Likewise.
14836         * modules/time (Makefile.am): Likewise.
14837         * modules/unistd (Makefile.am): Likewise.
14838         * modules/wchar (Makefile.am): Likewise.
14839         * modules/wctype-h (Makefile.am): Likewise.
14840         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
14841
14842 2011-04-05  Bruno Haible  <bruno@clisp.org>
14843
14844         pipe2: Relicense under LGPLv2+.
14845         * modules/pipe2 (License): Change to LGPLv2+.
14846         Requested by Eric Blake, for libvirt.
14847
14848 2011-04-05  Bruce Korb  <bkorb@gnu.org>
14849
14850         bootstrap: compute gnulib_extra_files after updating build_aux
14851         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
14852         change build_aux or also supply gnulib_extra_files.  Handle correctly.
14853
14854 2011-04-05  Eric Blake  <eblake@redhat.com>
14855
14856         bootstrap: preserve git whitelist item sorting
14857         * build-aux/bootstrap (sort_patterns): New function.
14858         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
14859
14860 2011-04-05  Simon Josefsson  <simon@josefsson.org>
14861
14862         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
14863         sc_space_tab check.
14864
14865 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
14866
14867         areadlink, areadlinkat: rewrite in terms of careadlinkat
14868         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
14869         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
14870         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
14871         (malloc, realloc): Remove #undefs.
14872         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
14873         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
14874         readlink, ssize_t, stdint, unistd.
14875         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
14876         areadlink, stdint.
14877
14878         careadlinkat: new module
14879         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
14880         * modules/careadlinkat: New files, written by me with
14881         a review and feedback from Ben Pfaff in
14882         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
14883
14884 2011-04-01  Bruno Haible  <bruno@clisp.org>
14885
14886         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
14887         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
14888         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
14889         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
14890         Reported by Bruce Korb <bruce.korb@gmail.com>.
14891
14892 2011-04-01  Bruno Haible  <bruno@clisp.org>
14893
14894         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
14895         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
14896         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
14897         * modules/wcpcpy (Depends-on): Add extensions.
14898         * modules/wcpncpy (Depends-on): Likewise.
14899         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
14900         systems.
14901         * doc/posix-functions/wcpncpy.texi: Likewise.
14902         * doc/posix-functions/wcwidth.texi: Likewise.
14903
14904 2011-03-31  Eric Blake  <eblake@redhat.com>
14905
14906         nonblocking: fix mingw test failures
14907         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
14908         non-blocking flag on regular file.
14909         (get_nonblocking_flag): Set errno on invalid fd.
14910         * tests/test-nonblocking.c (main): Avoid test failure on
14911         directories if fchdir is not active.
14912         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
14913
14914 2011-03-31  Bruno Haible  <bruno@clisp.org>
14915
14916         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
14917         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
14918         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
14919         Reported by Simon Josefsson <simon@josefsson.org>.
14920
14921 2011-03-31  Bruno Haible  <bruno@clisp.org>
14922         and Eric Blake  <eblake@redhat.com>
14923
14924         nonblocking: new module
14925         * modules/nonblocking: New module.
14926         * modules/nonblocking-tests: Likewise.
14927         * lib/nonblocking.h: New file.
14928         * lib/nonblocking.c: Likewise.
14929         * tests/test-nonblocking.c: New test.
14930         * lib/ioctl.c (ioctl) [mingw]: Update comment.
14931
14932 2011-03-30  Bruno Haible  <bruno@clisp.org>
14933
14934         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
14935         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
14936         instead of 'printf' format for GCC >= 4.4.
14937         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
14938         (fprintf, printf, vfprintf, vprintf): Declare with
14939         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
14940         the system's vfprintf() function.
14941         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
14942
14943 2011-03-30  Eric Blake  <eblake@redhat.com>
14944
14945         passfd: fix scoping bug
14946         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
14947         before sendmsg/recvmsg.
14948
14949         passfd: standardize coding conventions
14950         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
14951         can be learned at compile time.
14952         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
14953         ifdefs.
14954         (sendfd, recvfd): Follow gnulib code conventions.
14955
14956         passfd: fix incorrect sendmsg arguments
14957         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
14958         incorrect msg_controllen value.
14959         * modules/passfd-tests (Depends-on): Check for alarm.
14960         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
14961         Reported by Bastien ROUCARIES.
14962
14963 2011-03-30  Bruno Haible  <bruno@clisp.org>
14964
14965         c-strcasestr: Relicense under LGPLv2+.
14966         * modules/c-strcasestr (License): Change to LGPLv2+.
14967         Requested by Eric Blake, for libvirt.
14968
14969 2011-03-30  Simon Josefsson  <simon@josefsson.org>
14970
14971         * users.txt: Add libidn2.  Fix libtasn1 link.
14972
14973 2011-03-30  Jim Meyering  <meyering@redhat.com>
14974
14975         tests: readlink* ("",... fails with EINVAL on newer kernels
14976         readlink and readlinkat have typically failed with ENOENT for
14977         the invalid, empty file name,  "".  However, with the advent
14978         of linux-2.6.39, they fail with EINVAL.
14979         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
14980         when operating on the empty file name.
14981         * tests/test-readlink.h (test_readlink): Likewise.
14982
14983 2011-03-29  Bruno Haible  <bruno@clisp.org>
14984
14985         Relicense some modules under LGPLv2+, for libidn2.
14986         * modules/array-mergesort (License): Change to LGPLv2+.
14987         * modules/c-strcaseeq (License): Likewise.
14988         * modules/striconveh (License): Likewise.
14989         * modules/striconveha (License): Likewise.
14990         * modules/uniconv/base (License): Likewise.
14991         * modules/uniconv/u8-conv-from-enc (License): Likewise.
14992         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
14993         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
14994         * modules/unictype/base (License): Likewise.
14995         * modules/unictype/bidiclass-of (License): Likewise.
14996         * modules/unictype/category-M (License): Likewise.
14997         * modules/unictype/category-none (License): Likewise.
14998         * modules/unictype/category-of (License): Likewise.
14999         * modules/unictype/category-test (License): Likewise.
15000         * modules/unictype/category-test-withtable (License): Likewise.
15001         * modules/unictype/combining-class (License): Likewise.
15002         * modules/unictype/joiningtype-of (License): Likewise.
15003         * modules/unictype/scripts (License): Likewise.
15004         * modules/uninorm/base (License): Likewise.
15005         * modules/uninorm/canonical-decomposition (License): Likewise.
15006         * modules/uninorm/composition (License): Likewise.
15007         * modules/uninorm/decompose-internal (License): Likewise.
15008         * modules/uninorm/decomposition-table (License): Likewise.
15009         * modules/uninorm/nfc (License): Likewise.
15010         * modules/uninorm/nfd (License): Likewise.
15011         * modules/uninorm/u32-normalize (License): Likewise.
15012         * modules/unistr/base (License): Likewise.
15013         * modules/unistr/u32-cpy (License): Likewise.
15014         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
15015         * modules/unistr/u32-to-u8 (License): Likewise.
15016         * modules/unistr/u32-uctomb (License): Likewise.
15017         * modules/unistr/u8-check (License): Likewise.
15018         * modules/unistr/u8-mblen (License): Likewise.
15019         * modules/unistr/u8-mbtouc (License): Likewise.
15020         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
15021         * modules/unistr/u8-mbtoucr (License): Likewise.
15022         * modules/unistr/u8-prev (License): Likewise.
15023         * modules/unistr/u8-strlen (License): Likewise.
15024         * modules/unistr/u8-to-u32 (License): Likewise.
15025         * modules/unistr/u8-uctomb (License): Likewise.
15026         * modules/unitypes (License): Likewise.
15027         Requested by Simon Josefsson.
15028
15029 2011-03-29  Simon Josefsson  <simon@josefsson.org>
15030
15031         lib-symbol-visibility: Add a notice.
15032         * modules/lib-symbol-visibility (Notice): New field.
15033
15034 2011-03-29  Bruno Haible  <bruno@clisp.org>
15035
15036         getaddrinfo: Doc fix.
15037         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
15038         section "fixed in Gnulib".
15039
15040 2011-03-28  Simon Josefsson  <simon@josefsson.org>
15041
15042         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
15043         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
15044
15045 2011-03-26  Bruno Haible  <bruno@clisp.org>
15046
15047         unictype/property-byname: Reduce the number of load-time relocations.
15048         * lib/unictype/pr_byname.c: Include <stdlib.h>.
15049         (UC_PROPERTY_INDEX_*): New enumeration values.
15050         (uc_property_byname): Convert an index from the lookup table to an
15051         uc_property_t.
15052         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
15053         values.
15054
15055 2011-03-26  Bruno Haible  <bruno@clisp.org>
15056
15057         unictype/property-byname: Allow omitted word separators and aliases.
15058         * lib/unictype/pr_byname.gperf: Add property names without word
15059         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
15060         for 'space'.
15061
15062 2011-03-26  Bruno Haible  <bruno@clisp.org>
15063
15064         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
15065         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
15066         also hyphens to space.
15067         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
15068         without spaces.
15069         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
15070
15071 2011-03-26  Bruno Haible  <bruno@clisp.org>
15072
15073         unictype/joiningtype-byname: Recognize long names as well.
15074         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
15075         a long name.
15076         * lib/unictype/joiningtype_byname.c: Include <string.h>,
15077         unictype/joiningtype_byname.h.
15078         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
15079         * lib/unictype/joiningtype_byname.gperf: New file.
15080         * modules/unictype/joiningtype-byname (Files): Add
15081         lib/unictype/joiningtype_byname.gperf.
15082         (Depends-on): Add gperf.
15083         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
15084         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
15085         long names.
15086
15087         Tests for module 'unictype/joiningtype-longname'.
15088         * modules/unictype/joiningtype-longname-tests: New file.
15089         * tests/unictype/test-joiningtype_longname.c: New file.
15090
15091         New module 'unictype/joiningtype-longname'.
15092         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
15093         * lib/unictype/joiningtype_longname.c: New file.
15094         * modules/unictype/joiningtype-longname: New file.
15095         * modules/unictype/joiningtype-all (Depends-on): Add
15096         unictype/joiningtype-longname.
15097
15098 2011-03-26  Bruno Haible  <bruno@clisp.org>
15099
15100         unictype/bidiclass-byname: Recognize long names as well.
15101         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
15102         name.
15103         * lib/unictype/bidi_byname.c: Include <string.h>,
15104         unictype/bidi_byname.h.
15105         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
15106         * lib/unictype/bidi_byname.gperf: New file.
15107         * modules/unictype/bidiclass-byname (Files): Add
15108         lib/unictype/bidi_byname.gperf.
15109         (Depends-on): Add gperf.
15110         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
15111         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
15112         long names.
15113
15114         Tests for module 'unictype/bidiclass-longname'.
15115         * modules/unictype/bidiclass-longname-tests: New file.
15116         * tests/unictype/test-bidi_longname.c: New file.
15117
15118         New module 'unictype/bidiclass-longname'.
15119         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
15120         * lib/unictype/bidi_longname.c: New file.
15121         * modules/unictype/bidiclass-longname: New file.
15122         * modules/unictype/bidiclass-all (Depends-on): Add
15123         unictype/bidiclass-longname.
15124
15125 2011-03-26  Bruno Haible  <bruno@clisp.org>
15126
15127         unictype/bidi*: Rename modules.
15128         * modules/unictype/bidiclass-all: Renamed from
15129         modules/unictype/bidicategory-all.
15130         * modules/unictype/bidiclass-name: Renamed from
15131         modules/unictype/bidiclass-name.
15132         (Description): Update.
15133         * modules/unictype/bidiclass-name-tests: Renamed from
15134         modules/unictype/bidicategory-name-tests.
15135         * modules/unictype/bidiclass-byname: Renamed from
15136         modules/unictype/bidicategory-byname.
15137         (Description): Update.
15138         * modules/unictype/bidiclass-byname-tests: Renamed from
15139         modules/unictype/bidicategory-byname-tests.
15140         * modules/unictype/bidiclass-of: Renamed from
15141         modules/unictype/bidicategory-of.
15142         (Description): Update.
15143         * modules/unictype/bidiclass-of-tests: Renamed from
15144         modules/unictype/bidicategory-of-tests.
15145         * modules/unictype/bidiclass-test: Renamed from
15146         modules/unictype/bidicategory-test.
15147         (Description): Update.
15148         * modules/unictype/bidiclass-test-tests: Renamed from
15149         modules/unictype/bidicategory-test-tests.
15150         * modules/unictype/bidicategory-all: New file, a simple redirection.
15151         * modules/unictype/bidicategory-name: Likewise.
15152         * modules/unictype/bidicategory-byname: Likewise.
15153         * modules/unictype/bidicategory-of: Likewise.
15154         * modules/unictype/bidicategory-test: Likewise.
15155         * modules/unictype/property-bidi-* (Dependencies): Update.
15156         * lib/unictype/bidi_*.c: Update comment.
15157
15158 2011-03-26  Bruno Haible  <bruno@clisp.org>
15159
15160         unictype/bidi*: Rename functions, part 2.
15161         * modules/unictype/bidicategory-name (configure.ac): Update required
15162         libunistring version.
15163         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
15164
15165 2011-03-25  Bruno Haible  <bruno@clisp.org>
15166
15167         New module 'unictype/combining-class-all'.
15168         * modules/unictype/combining-class-all: New file.
15169
15170         Tests for module 'unictype/combining-class-byname'.
15171         * modules/unictype/combining-class-byname-tests: New file.
15172         * tests/unictype/test-combiningclass_byname.c: New file.
15173
15174         New module 'unictype/combining-class-byname'.
15175         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
15176         * lib/unictype/combiningclass_byname.c: New file.
15177         * lib/unictype/combiningclass_byname.gperf: New file.
15178         * modules/unictype/combining-class-byname: New file.
15179
15180         Tests for module 'unictype/combining-class-longname'.
15181         * modules/unictype/combining-class-longname-tests: New file.
15182         * tests/unictype/test-combiningclass_longname.c: New file.
15183
15184         New module 'unictype/combining-class-longname'.
15185         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
15186         * lib/unictype/combiningclass_longname.c: New file.
15187         * modules/unictype/combining-class-longname: New file.
15188
15189         Tests for module 'unictype/combining-class-name'.
15190         * modules/unictype/combining-class-name-tests: New file.
15191         * tests/unictype/test-combiningclass_name.c: New file.
15192
15193         New module 'unictype/combining-class-name'.
15194         * lib/unictype.in.h (uc_combining_class_name): New declaration.
15195         * lib/unictype/combiningclass_name.c: New file.
15196         * modules/unictype/combining-class-name: New file.
15197
15198 2011-03-25  Bruno Haible  <bruno@clisp.org>
15199
15200         unictype/combining-class: Rename source files.
15201         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
15202         of unictype/combining.h.
15203         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
15204         Update.
15205         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
15206         * modules/unictype/combining-class (Description): Fix.
15207         (Files, Makefile.am): Update.
15208         * tests/unictype/test-combiningclass.c: Renamed from
15209         tests/unictype/test-combining.c.
15210         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
15211
15212 2011-03-25  Bruno Haible  <bruno@clisp.org>
15213
15214         unictype: Update list of canonical combining classes.
15215         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
15216
15217 2011-03-25  Bruno Haible  <bruno@clisp.org>
15218
15219         unictype/category-byname: Recognize long names as well.
15220         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
15221         a long name.
15222         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
15223         unictype/categ_byname.h.
15224         (UC_CATEGORY_INDEX_*): New enumeration values.
15225         (uc_general_category_byname): Use uc_general_category_lookup and
15226         convert from index to value.
15227         * lib/unictype/categ_byname.gperf: New file.
15228         * modules/unictype/category-byname (Files): Add
15229         lib/unictype/categ_byname.gperf.
15230         (Depends-on): Add gperf.
15231         (Makefile.am): Add rule for generating unictype/categ_byname.h.
15232         * tests/unictype/test-categ_byname.c (main): Test the recognition of
15233         long names.
15234
15235         Tests for module 'unictype/category-longname'.
15236         * modules/unictype/category-longname-tests: New file.
15237         * tests/unictype/test-categ_longname.c: New file.
15238
15239         New module 'unictype/category-longname'.
15240         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
15241         * lib/unictype/categ_longname.c: New file.
15242         * modules/unictype/category-longname: New file.
15243         * modules/unictype/category-all (Depends-on): Add it.
15244
15245 2011-03-25  Bruno Haible  <bruno@clisp.org>
15246
15247         Tests for module 'unictype/category-LC'.
15248         * modules/unictype/category-LC-tests: New file.
15249         * tests/unictype/test-categ_LC.c: New file, automatically generated.
15250
15251         New module 'unictype/category-LC'.
15252         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
15253         (UC_CATEGORY_LC): New declaration.
15254         (UC_CASED_LETTER): New macro.
15255         * lib/gen-uni-tables.c (is_category_LC): New function.
15256         (output_categories): Also handle category LC.
15257         (UC_CATEGORY_MASK_LC): New enumeration value.
15258         (general_category_byname): Also handle category LC.
15259         * lib/unictype/categ_LC.c: New file.
15260         * lib/unictype/categ_LC.h: New file, automatically generated.
15261         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
15262         category LC.
15263         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
15264         * modules/unictype/category-LC: New file.
15265         * modules/unictype/category-byname (Depends-on): Add
15266         unictype/category-LC.
15267         * modules/unictype/category-all (Depends-on): Likewise.
15268
15269 2011-03-25  Eric Blake  <eblake@redhat.com>
15270
15271         xmalloc: revert yesterday's regression
15272         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
15273         realloc's underlying behavior (allowing allocation of zero-size
15274         objects, especially if malloc-gnu is also in use).
15275
15276 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
15277
15278         maint.mk: add missing version to VC-tag
15279         * top/maint.mk: git tag was missing actual tag name; add it.
15280
15281         valgrind: do leak checking, and exit with code 1 on error (not 0)
15282         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
15283         to VALGRIND.
15284
15285 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
15286
15287         posix-modules: say what it does.
15288         * posix-modules: Add a line to the --help output saying what it does.
15289
15290 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
15291
15292         xmalloc: Do not leak if underlying realloc is C99 compatible.
15293         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
15294         This avoids a leak on C99-based systems.  See
15295         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
15296
15297 2011-03-24  Eric Blake  <eblake@redhat.com>
15298
15299         realloc: document portability problem
15300         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
15301         passing 0 size to realloc.
15302
15303 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
15304
15305         doc: update users.txt
15306         * users.txt: Add cvsps, tmpwatch
15307
15308 2011-03-23  Matt Rice  <ratmice@gmail.com>
15309
15310         doc: update users.txt
15311         * users.txt: Add gdb.
15312
15313 2011-03-23  Jim Meyering  <meyering@redhat.com>
15314
15315         doc: update users.txt
15316         Looking through matches up to the following URL (there are still
15317         several more pages), I found several projects that use gnulib:
15318         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
15319         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
15320         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
15321
15322 2011-03-22  Bruno Haible  <bruno@clisp.org>
15323
15324         unictype/bidi*: Rename functions.
15325         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
15326         uc_bidi_class, uc_is_bidi_class): New declarations.
15327         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
15328         uc_bidi_category_byname.
15329         (uc_bidi_category_byname): New function.
15330         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
15331         u_bidi_category_name.
15332         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
15333         (uc_bidi_category_name): New function.
15334         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
15335         uc_bidi_category.
15336         (uc_bidi_category): New function.
15337         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
15338         uc_is_bidi_category. Invoke uc_bidi_class.
15339         (uc_is_bidi_category): New function.
15340         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
15341         instead of uc_bidi_category_byname.
15342         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
15343         instead of uc_bidi_category_name.
15344         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
15345         uc_bidi_category.
15346         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
15347         instead of uc_is_bidi_category.
15348
15349 2011-03-21  Bruno Haible  <bruno@clisp.org>
15350
15351         New module 'unictype/joininggroup-all'.
15352         * modules/unictype/joininggroup-all: New file.
15353
15354         Tests for module 'unictype/joininggroup-of'.
15355         * modules/unictype/joininggroup-of-tests: New file.
15356         * tests/unictype/test-joininggroup_of.c: New file.
15357         * tests/unictype/test-joininggroup_of.h: New file, automatically
15358         generated by gen-uni-tables.
15359
15360         New module 'unictype/joininggroup-of'.
15361         * modules/unictype/joininggroup-of: New file.
15362         * lib/unictype/joininggroup_of.c: New file.
15363         * lib/unictype/joininggroup_of.h: New file, automatically generated by
15364         gen-uni-tables.
15365
15366         Tests for module 'unictype/joininggroup-byname'.
15367         * modules/unictype/joininggroup-byname-tests: New file.
15368         * tests/unictype/test-joininggroup_byname.c: New file.
15369
15370         New module 'unictype/joininggroup-byname'.
15371         * modules/unictype/joininggroup-byname: New file.
15372         * lib/unictype/joininggroup_byname.c: New file.
15373         * lib/unictype/joininggroup_byname.gperf: New file.
15374
15375         Tests for module 'unictype/joininggroup-name'.
15376         * modules/unictype/joininggroup-name-tests: New file.
15377         * tests/unictype/test-joininggroup_name.c: New file.
15378
15379         New module 'unictype/joininggroup-name'.
15380         * modules/unictype/joininggroup-name: New file.
15381         * lib/unictype/joininggroup_name.c: New file.
15382         * lib/unictype/joininggroup_name.h: New file.
15383
15384         New module 'unictype/joiningtype-all'.
15385         * modules/unictype/joiningtype-all: New file.
15386
15387         Tests for module 'unictype/joiningtype-of'.
15388         * modules/unictype/joiningtype-of-tests: New file.
15389         * tests/unictype/test-joiningtype_of.c: New file.
15390         * tests/unictype/test-joiningtype_of.h: New file, automatically
15391         generated by gen-uni-tables.
15392
15393         New module 'unictype/joiningtype-of'.
15394         * modules/unictype/joiningtype-of: New file.
15395         * lib/unictype/joiningtype_of.c: New file.
15396         * lib/unictype/joiningtype_of.h: New file, automatically generated by
15397         gen-uni-tables.
15398
15399         Tests for module 'unictype/joiningtype-byname'.
15400         * modules/unictype/joiningtype-byname-tests: New file.
15401         * tests/unictype/test-joiningtype_byname.c: New file.
15402
15403         New module 'unictype/joiningtype-byname'.
15404         * modules/unictype/joiningtype-byname: New file.
15405         * lib/unictype/joiningtype_byname.c: New file.
15406
15407         Tests for module 'unictype/joiningtype-name'.
15408         * modules/unictype/joiningtype-name-tests: New file.
15409         * tests/unictype/test-joiningtype_name.c: New file.
15410
15411         New module 'unictype/joiningtype-name'.
15412         * modules/unictype/joiningtype-name: New file.
15413         * lib/unictype/joiningtype_name.c: New file.
15414
15415         unictype: Add support for Arabic shaping properties.
15416         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
15417         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
15418         declarations.
15419         (UC_JOINING_GROUP_*): New enumeration values.
15420         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
15421         declarations.
15422         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
15423         (unicode_joining_type): New variable.
15424         (UC_JOINING_GROUP_*): New enumeration values.
15425         (unicode_joining_group): New variable.
15426         (fill_arabicshaping, joining_type_as_c_identifier,
15427         output_joining_type_test, output_joining_type,
15428         joining_group_as_c_identifier, output_joining_group_test,
15429         output_joining_group): New functions.
15430         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
15431         fill_arabicshaping and output_joining_type_test, output_joining_type,
15432         output_joining_group_test, output_joining_group.
15433         Reported by Simon Josefsson.
15434
15435 2011-03-21  Jim Meyering  <meyering@redhat.com>
15436
15437         strftime: fix a bug in yesterday's change
15438         * lib/strftime.c (add): Accommodate width's initial value of -1.
15439         Otherwise, nstrftime would copy uninitialized data into
15440         the result buffer.
15441
15442 2011-03-21  Jim Meyering  <meyering@redhat.com>
15443
15444         tests: add strftime-tests module
15445         * tests/test-strftime.c: New file.
15446         * modules/strftime-tests: New module.
15447
15448 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15449
15450         strftime: don't assume a byte count fits in 'int'
15451         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
15452         found this problem by static analysis, using gcc -Wstrict-overflow
15453         (GCC 4.5.2, x86-64).  This reported an optimization that depended
15454         on an integer overflow having undefined behavior, but it turns out
15455         that the argument is a size, which might not fit in 'int' anyway,
15456
15457 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15458
15459         stdio: don't require ignore_value around fwrite
15460
15461         This patch works around libc bug 11959
15462         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
15463         Without this patch, applications must often write
15464         ignore_value (fwrite (...)) even though the ignore_value is
15465         not helpful here.  It's common to write many objects, using
15466         fwrite/printf/etc., and then use ferror to detect output error.
15467
15468         I considered making this patch optional, but decided against it,
15469         because libc is obviously being inconsistent here: there is no
15470         reason libc should insist that user code must inspect fwrite
15471         return's value without also insisting that it inspect printf's,
15472         putchar's, etc.  If user code wants to have a strict style where
15473         all these functions' values are checked (so that ferror need not
15474         be checked), we could add support for that style in a new gnulib
15475         module, but in the meantime it's better to be consistent and to
15476         support common usage.
15477
15478         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
15479         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
15480         that we are compiling in checking mode, and if not C++, and
15481         if not already wrapping fwrite for some other reason.
15482         (fwrite): #define to rpl_fwrite if the latter is defined.
15483
15484 2011-03-20  Bruno Haible  <bruno@clisp.org>
15485
15486         verror: Fix compilation error introduced on 2011-02-13.
15487         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
15488         instead of __attribute__.
15489         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15490
15491 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
15492             Bruno Haible  <bruno@clisp.org>
15493
15494         socklen: do not depend on sys_socket
15495         While trying to modify Emacs to use gnulib's socklen module,
15496         I discovered a circular dependency: socklen depends on sys_socket
15497         and vice versa.  Emacs can use socklen, but it does not need
15498         sys_socket because it has its own substitute for sys/socket.h.
15499         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
15500         gl_TYPE_SOCKLEN_T.
15501         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
15502         gl_PREREQ_SYS_H_SOCKET.
15503         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
15504         gl_PREREQ_SYS_H_SOCKET.
15505         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
15506         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
15507         * modules/socklen (Depends-on): Do not depend on sys_socket.
15508         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
15509
15510 2011-03-20  Jim Meyering  <meyering@redhat.com>
15511
15512         maint.mk: sort file names *after* new transformation
15513         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
15514         prefix would have led to an unwarranted failure in GNU parted.
15515         Sort after that transformation.
15516
15517 2011-03-19  Jim Meyering  <meyering@redhat.com>
15518
15519         maint.mk: fix po-file syntax-check rule
15520         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
15521         Patch by Bruno Haible.
15522
15523 2011-03-19  Bruno Haible  <bruno@clisp.org>
15524
15525         socklen: Update comment.
15526         * m4/socklen.m4: Update comment about platforms.
15527
15528 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15529             Bruno Haible  <bruno@clisp.org>
15530
15531         inet_ntop, inet_pton: Simplify.
15532         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
15533         documented to provide socklen_t and we already depend on sys_socket.
15534         * modules/inet_pton (Depends-on): Likewise.
15535         * lib/arpa_inet.in.h: Adjust comment.
15536
15537 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
15538             Bruno Haible  <bruno@clisp.org>
15539
15540         netdb: Simplify.
15541         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
15542         documented to provide socklen_t and we already depend on sys_socket.
15543         * lib/netdb.in.h: Adjust comment.
15544
15545 2011-03-19  Bruno Haible  <bruno@clisp.org>
15546
15547         sys_socket, netdb: Document problem with socklen_t.
15548         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
15549         platforms.
15550         * doc/posix-headers/netdb.texi: Likewise.
15551
15552 2011-03-18  Eric Blake  <eblake@redhat.com>
15553
15554         maint.mk: let po check work in VPATH build
15555         * top/maint.mk (po_file): Allow cfg.mk override.
15556         (sc_po_check): Allow VPATH use.
15557         Reported by Jiri Denemark.
15558
15559 2011-03-16  Jim Meyering  <meyering@redhat.com>
15560
15561         maint.mk: allow fine-grained syntax-check exclusion via Make variables
15562         Before, you would have had to create one .x-sc_ file per rule in order
15563         to exempt offending files.  Now, you may instead use a Make variable --
15564         usually defined in cfg.mk -- whose name identifies the affected rule.
15565         * top/maint.mk (_sc_excl): Define.
15566         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
15567         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
15568
15569 2011-03-13  Bruno Haible  <bruno@clisp.org>
15570
15571         ignore-value tests: Avoid warnings.
15572         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
15573         empty for gcc < 3.4.
15574
15575 2011-03-13  Bruno Haible  <bruno@clisp.org>
15576
15577         passfd: Fix link error on Solaris.
15578         * modules/passfd (Description): Correct.
15579         (Depends-on): Add socketlib.
15580         (Link): New section.
15581         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
15582
15583 2011-03-13  Bruno Haible  <bruno@clisp.org>
15584
15585         passfd: Fix link error on AIX 5.2.
15586         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
15587
15588 2011-03-13  Bruno Haible  <bruno@clisp.org>
15589
15590         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
15591         * lib/sys_socket.in.h: Include <stddef.h>.
15592         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
15593         CMSG_FIRSTHDR. Remove unused variable.
15594
15595 2011-03-13  Bruno Haible  <bruno@clisp.org>
15596
15597         passfd: Fix compilation error on OpenBSD.
15598         * lib/passfd.c: Include <sys/uio.h>.
15599
15600 2011-03-13  Bruno Haible  <bruno@clisp.org>
15601
15602         passfd test: Fix warnings.
15603         * tests/test-passfd.c: Include <sys/wait.h>.
15604         (main): Fix typo.
15605
15606 2011-03-13  Bruno Haible  <bruno@clisp.org>
15607
15608         passfd module, part 4, tweaks.
15609         * tests/test-passfd.c: Reorder includes.
15610         (main): Fix perror and printf calls.
15611
15612 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15613
15614         passfd module, part 4.
15615         * modules/passfd-tests: New file.
15616         * tests/test-passfd.c: New file.
15617
15618 2011-03-13  Jim Meyering  <meyering@redhat.com>
15619
15620         Makefile: rely on GNU make; derive syntax-check rule names
15621         Rather than requiring that each sc_ rule be listed as a dependent
15622         of "check", use features of GNU make to derive the list.
15623         * Makefile (syntax-check-rules): Define.
15624         (check): Depend on the new variable, not the hard-coded list.
15625
15626 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
15627             Bruno Haible  <bruno@clisp.org>
15628
15629         passfd module, part 3.
15630         * lib/passfd.h (recvfd): Add a flags argument.
15631         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
15632         (recvfd): Add a flags argument.
15633         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
15634         exists.
15635         * modules/passfd (Depends-on): Add cloexec.
15636         Suggested by Eric Blake.
15637
15638 2011-03-13  Bruno Haible  <bruno@clisp.org>
15639
15640         passfd module, part 2, tweaks.
15641         * modules/passfd (Files): Reorder.
15642         (Depends-on): Remove errno.
15643         (Include): Remove <sys/socket.h>, <sys/un.h>.
15644         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
15645         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
15646         specification header. Include <sys/socket.h> always. Don't include
15647         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
15648         (sendfd): Clarify that it sets errno when it fails.
15649         (recvfd): Fix specification.
15650
15651 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15652
15653         passfd module, part 2.
15654         * modules/passfd: New file.
15655         * lib/passfd.h: New file.
15656         * lib/passfd.c: New file.
15657
15658 2011-03-12  Bruno Haible  <bruno@clisp.org>
15659
15660         wcswidth, mbswidth: Avoid integer overflow.
15661         * lib/wcswidth.c: Include <limits.h>.
15662         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
15663         * lib/mbswidth.c: Include <limits.h>.
15664         (mbsnwidth): Avoid 'int' overflow.
15665         Reported by Jim Meyering.
15666
15667 2011-03-12  Bruno Haible  <bruno@clisp.org>
15668
15669         futimens, utimensat: Avoid endless recursion on Solaris 10.
15670         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
15671         Solaris.
15672         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
15673         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
15674
15675 2011-03-11  Jim Meyering  <meyering@redhat.com>
15676
15677         maint.mk: relax a regexp to accommodate other formatting styles
15678         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
15679         between "ngettext" and the following "(".
15680
15681 2011-03-11  Pádraig Brady <P@draigBrady.com>
15682
15683         maint.mk: suppress a false positive warning
15684         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
15685         diagnostics are marked with ngettext.
15686
15687 2011-03-10  Eric Blake  <eblake@redhat.com>
15688
15689         wchar: add explicit dependencies, for Tru64
15690         * modules/mbmemcasecoll (Depends-on): Add wchar.
15691         * modules/mbtowc (Depends-on): Likewise.
15692         * modules/vasnprintf (Depends-on): Likewise.
15693         * modules/unistdio/u-printf-args (Depends-on): Likewise.
15694         * modules/wctomb (Depends-on): Likewise.
15695         Reported by Peter O'Gorman.
15696
15697 2011-03-08  Bruno Haible  <bruno@clisp.org>
15698
15699         passfd module, part 1, tweaks.
15700         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
15701         Improve indentation. Improve AC_MSG_CHECKING messages.
15702         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
15703         gl_SOCKET_FAMILIES.
15704
15705 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
15706
15707         passfd module, part 1.
15708         * m4/afunix.m4: New file.
15709         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
15710         sockets.
15711
15712 2011-03-08  Bruno Haible  <bruno@clisp.org>
15713
15714         regex-quote: New API.
15715         * lib/regex-quote.h: Include <stdbool.h>.
15716         (struct regex_quote_spec): New type.
15717         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15718         New declarations.
15719         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15720         'const struct regex_quote_spec *' argument.
15721         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
15722         (pcre_special): New constant.
15723         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
15724         New functions.
15725         (regex_quote_length, regex_quote_copy, regex_quote): Take a
15726         'const struct regex_quote_spec *' argument.
15727         * modules/regex-quote (Depends-on): Add stdbool.
15728         * tests/test-regex-quote.c (check): Update for new API. Add test for
15729         anchored results.
15730         * NEWS: Mention the API change.
15731         Reported by Reuben Thomas and Eric Blake.
15732
15733 2011-03-06  Bruno Haible  <bruno@clisp.org>
15734
15735         regex-quote: Fix creation of POSIX extended regular expressions.
15736         * lib/regex-quote.c (ere_special): Add grouping and alternation
15737         operators.
15738
15739 2011-03-05  Bruno Haible  <bruno@clisp.org>
15740
15741         doc: Improve doc regarding autopoint vs. gnulib.
15742         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
15743         disable autopoint while running autoreconf.
15744         Suggested by Ralf Wildenhues.
15745
15746 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15747
15748         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
15749         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
15750
15751 2011-03-03  Bruce Korb  <bkorb@gnu.org>
15752
15753         parse-duration: remove xalloc.h dependency
15754         * lib/parse-duration.c (parse_period): handle NULL return from
15755         strdup instead of calling xstrdup().
15756         * modules/parse-duration: remove "xalloc" dependency
15757
15758 2011-03-03  Matthew Booth  <mbooth@redhat.com>
15759
15760         bootstrap: honor m4_base when running aclocal
15761         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
15762
15763 2011-03-02  Jim Meyering  <meyering@redhat.com>
15764
15765         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
15766         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
15767         on request from Matt Booth.
15768
15769 2011-03-01  Eric Blake  <eblake@redhat.com>
15770
15771         test-link: work on Hurd
15772         * tests/test-link.h (test_link): Hurd rejects linking directories
15773         with EISDIR instead of the POSIX-mandated EPERM.
15774
15775 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
15776
15777         stdio: simplify by moving files to printf-posix, sigpipe
15778         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
15779         since this symbol is needed only if printf is replaced.
15780         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
15781         Require gl_ASM_SYMBOL_PREFIX.
15782         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
15783         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
15784         (Depends-on): Add 'raise'.
15785         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
15786         * modules/stdio (Files): Remove lib/stdio-write.c,
15787         m4/asm-underscore.m4.
15788         (Depends-on): Remove 'raise'.
15789
15790         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
15791         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
15792         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
15793         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
15794
15795 2011-02-28  Bruno Haible  <bruno@clisp.org>
15796
15797         localcharset: Assume ANSI C behaviour of free().
15798         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
15799         calling free().
15800         Suggested by Simon Josefsson <simon@josefsson.org>.
15801
15802 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
15803             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
15804             Bruno Haible  <bruno@clisp.org>  (tiny change)
15805
15806         On Cygwin, use /proc file system instead of win32 API.
15807         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
15808         Win32 file names.
15809         (DllMain): Simplify by removing Cygwin specific code.
15810         (find_shared_library_fullname): Use Linux specific implementation also
15811         for Cygwin.
15812         (get_shared_library_fullname): Update accordingly.
15813         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
15814         Win32 file names.
15815         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
15816         Cygwin specific code.
15817
15818 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
15819             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
15820
15821         Fix OpenMP flag detection for various Fortran compilers.
15822         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
15823         OpenMP-conditional compilation construct, to force compile
15824         failure with missing OpenMP flag.
15825         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
15826
15827 2011-02-25  Eric Blake  <eblake@redhat.com>
15828
15829         strstr: expand test coverage
15830         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
15831         compilation.
15832         * tests/test-memmem.c (main): Duplicate tests.
15833         * tests/test-strcasestr.c (main): Likewise.
15834         * tests/test-c-strcasestr.c (main): Likewise.
15835
15836 2011-02-25  Jim Meyering  <meyering@redhat.com>
15837
15838         maint.mk: detect missing-NL-at-EOF, too
15839         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
15840         it also detects when a file lacks a newline at EOF.
15841         (require_exactly_one_NL_at_EOF_): Renamed from
15842         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
15843         since people may well have .x-sc_... file names tied to the
15844         existing name.  Suggested by Eric Blake.
15845
15846 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15847
15848         dirname: move m4/dos.m4 functionality into lib/dosname.h
15849
15850         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
15851         extracts symbols from it, puts them into config.h; but it's much
15852         easier to use the symbols directly.  filename.h already does this,
15853         but it disagrees with dos.m4 in some respects.  This patch
15854         introduces a different include file dosname.h that packages up
15855         dos.m4, and then later we can work on merging filename.h and
15856         dosname.h.  Applications that need only the easy-to-configure
15857         symbols should consider including dosname.h rather than dirname.h.
15858         * NEWS: Mention incompatible changes.
15859         * m4/dos.m4: Remove.
15860         * lib/dosname.h, modules/dosname: New files.
15861         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
15862         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
15863         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
15864         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
15865         Include dosname.h, not dirname.h.
15866         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
15867         Include dosname.h, for definitions of symbols like ISSLASH
15868         that used to be in config.h.
15869         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
15870         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
15871         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
15872         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
15873         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
15874         * modules/rmdir (Files): Likewise.
15875         * modules/stat (Files): Likewise.
15876         * modules/unlink (Files): Likewise.
15877         * modules/dirname-lgpl (Depends-on): Add dosname.
15878         * modules/lstat (Depends-on): Likewise.
15879         * modules/openat (Depends-on): Likewise.
15880         * modules/rmdir (Depends-on): Likewise.
15881         * modules/savewd (Depends-on): Likewise.
15882         * modules/stat (Depends-on): Likewise.
15883         * modules/unlink (Depends-on): Likewise.
15884         * modules/openat (Depends-on): Remove dirname-lgpl.
15885         * modules/savewd (Depends-on): Likewise.
15886         * tests/test-dirname.c: Do not use removed symbols like
15887         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
15888         the remaining symbols, e.g., ISSLASH ('\\').
15889
15890 2011-02-25  Eric Blake  <eblake@redhat.com>
15891
15892         strstr: revert patches that introduced bug and pessimization
15893         * lib/str-two-way.h: Add another reference.
15894         (two_way_short_needle, two_way_long_needle): Revert changes from
15895         2011-02-24; they pessimize search speed.
15896         (critical_factorization): Partially revert changes from
15897         2010-06-22; they violate the requirement that the left half of the
15898         needle be smaller than the period of the needle.
15899
15900 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15901
15902         filenamecat: remove unnecessary dependency on dirname-lgpl
15903         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
15904         is no direct dependency, just an indirect one via filenamecat-lgpl.
15905
15906         remove: remove unnecessary use of m4/dos.m4
15907         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
15908         * modules/remove (FILES): Remove m4/dos.m4.
15909
15910         * lib/openat-proc.c: Don't include dirname.h; not needed.
15911
15912         backupfile: remove unnecessary use of m4/dos.m4
15913         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
15914         of its symbols are used by the backupfile code.  backupfile.c does
15915         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
15916         for the rare case of programs that want all their backup file
15917         names to live within 8+3 limits, and dos.m4 doesn't address that.
15918         * modules/backupfile (Files): Remove m4/dos.m4.
15919
15920 2011-02-24  Jim Meyering  <meyering@redhat.com>
15921
15922         strstr: fix a bug whereby strstr would mistakenly return NULL
15923         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
15924         in period calculation.
15925         (two_way_long_needle): Likewise.
15926         The original problem was reported by Mike Stump in
15927         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
15928         Ralf Wildenhues provided the short needle and haystack.
15929         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
15930         Add a more involved test to trigger the bug in two_way_long_needle.
15931
15932 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15933
15934         gnulib-tool: remove use of bold display in help screen
15935         * gnulib-tool (func_usage): Do not use bold display anymore in the
15936         help screen.  That was just meant to be a temporary emphasis for a
15937         backward-incompatible change.
15938
15939 2011-02-23  Bruno Haible  <bruno@clisp.org>
15940
15941         Fix misindentation of preprocessor directives.
15942         * lib/argp-namefrob.h: Reindent preprocessor directives.
15943         * lib/getopt_int.h (struct _getopt_data): Likewise.
15944         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
15945         * lib/vasnprintf.c (decode_long_double): Likewise.
15946         * tests/test-argmatch.c: Insert blank lines, for clarity.
15947         * tests/test-exclude.c: Likewise.
15948
15949 2011-02-22  Bruno Haible  <bruno@clisp.org>
15950
15951         ioctl: Fix for MacOS X in 64-bit mode.
15952         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
15953         value.
15954         Suggested by Eric Blake.
15955         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
15956
15957 2011-02-22  Jim Meyering  <meyering@redhat.com>
15958
15959         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
15960         * Makefile (sc_cpp_indent_check): Don't limit the check to files
15961         in lib/.
15962
15963 2011-02-22  Eric Blake  <eblake@redhat.com>
15964
15965         maint: avoid any CDPATH issue
15966         * Makefile (sc_cpp_indent_check): Anchor cd argument.
15967
15968         maint: adjust cpp indentation for my modules, as well
15969         * Makefile (sc_cpp_indent_check): Add my name.
15970         * lib/fbufmode.c: Filter through cppi.
15971         * lib/fpurge.c: Likewise.
15972         * lib/freadable.c: Likewise.
15973         * lib/freading.c: Likewise.
15974         * lib/fwritable.c: Likewise.
15975         * lib/fwriting.c: Likewise.
15976         * lib/sigaction.c: Likewise.
15977
15978 2011-02-22  Jim Meyering  <meyering@redhat.com>
15979
15980         maint: adjust cpp indentation to reflect nesting depth
15981         I.e., in a block of code that begins with an unnested "#if",
15982         put one space between the "#" in column 1 and following token.
15983         For example,
15984         -#include <sys/vfs.h>
15985         +# include <sys/vfs.h>
15986         Do this only in .c files that are part of a module I maintain.
15987         * lib/linkat.c: Filter through cppi.
15988         * lib/nanosleep.c: Likewise.
15989         * lib/openat.c: Likewise.
15990         * lib/openat-die.c: Likewise.
15991         * lib/dup3.c: Likewise.
15992         * lib/fchownat.c: Likewise.
15993         * lib/flock.c: Likewise.
15994         * lib/fsync.c: Likewise.
15995         * lib/fts.c: Likewise.
15996         * lib/getpass.c: Likewise.
15997         * lib/gettimeofday.c: Likewise.
15998         * lib/userspec.c: Likewise.
15999         * Makefile (sc_cpp_indent_check): New rule, to check this.
16000
16001 2011-02-22  Bruno Haible  <bruno@clisp.org>
16002
16003         New module 'wctomb'.
16004         * lib/stdlib.in.h (wctomb): New declaration.
16005         * lib/wctomb.c: New file.
16006         * lib/wctomb-impl.h: New file.
16007         * m4/wctomb.m4: New file.
16008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
16009         REPLACE_WCTOMB.
16010         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
16011         REPLACE_WCTOMB.
16012         * modules/wctomb: New file.
16013         * tests/test-stdlib-c++.cc: Test signature of wctomb.
16014         * doc/posix-functions/wctomb.texi: Mention the new module.
16015         * modules/wctob (Depends-on): Add wctomb.
16016
16017 2011-02-22  Bruno Haible  <bruno@clisp.org>
16018
16019         New module 'mbtowc'.
16020         * lib/stdlib.in.h (mbtowc): New declaration.
16021         * lib/mbtowc.c: New file.
16022         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
16023         * m4/mbtowc.m4: New file.
16024         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
16025         REPLACE_MBTOWC.
16026         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
16027         REPLACE_MBTOWC.
16028         * modules/mbtowc: New file.
16029         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
16030         * doc/posix-functions/mbtowc.texi: Mention the new module.
16031         * modules/btowc (Depends-on): Add mbtowc.
16032
16033 2011-02-22  Bruno Haible  <bruno@clisp.org>
16034
16035         wcrtomb: Add more tests for native Windows platforms.
16036         * tests/test-wcrtomb-w32-1.sh: New file.
16037         * tests/test-wcrtomb-w32-2.sh: New file.
16038         * tests/test-wcrtomb-w32-3.sh: New file.
16039         * tests/test-wcrtomb-w32-4.sh: New file.
16040         * tests/test-wcrtomb-w32-5.sh: New file.
16041         * tests/test-wcrtomb-w32.c: New file.
16042         * modules/wcrtomb-tests (Files): Add them.
16043         (Makefile.am): Arrange to run these tests.
16044         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
16045         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
16046
16047 2011-02-20  Bruno Haible  <bruno@clisp.org>
16048
16049         wcrtomb: Enhance test.
16050         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
16051
16052 2011-02-20  Bruno Haible  <bruno@clisp.org>
16053
16054         mbrtowc: Tiny optimization.
16055         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
16056
16057 2011-02-20  Jim Meyering  <meyering@redhat.com>
16058
16059         test-exclude.c: remove unmatched #endif
16060         * tests/test-exclude.c: Remove stray #endif, left over from
16061         the change of a week ago.
16062
16063 2011-02-19  Jim Meyering  <meyering@redhat.com>
16064
16065         git-version-gen: skip "-dirty" check when appropriate
16066         * build-aux/git-version-gen: Don't run any git commands when the
16067         version string comes from .tarball-version.  Prior to this, we
16068         would run git update-index --refresh even from a just-unpacked
16069         tarball directory, and that could affect a .git/ directory in a
16070         parent of the build directory.  Reported by Mike Frysinger.
16071
16072 2011-02-19  Bruno Haible  <bruno@clisp.org>
16073
16074         unictype/property-byname: Reduce the size of the 'data' segment.
16075         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
16076
16077 2011-02-19  Bruno Haible  <bruno@clisp.org>
16078
16079         unictype/scripts: Reduce the size of the 'data' segment.
16080         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
16081         '%pic'.
16082         * lib/unictype/scripts_byname.gperf: Regenerated.
16083
16084 2011-02-19  Bruno Haible  <bruno@clisp.org>
16085
16086         stdint: Update documentation.
16087         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
16088
16089 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
16090
16091         stdint: omit redundant check for wchar.h
16092         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
16093         always tests whether wchar.h exists, so remove the now-redundant test.
16094
16095 2011-02-18  Bruno Haible  <bruno@clisp.org>
16096
16097         stdint: Cut dependency to module 'wchar'.
16098         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
16099         include the necessary prerequisites.
16100         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
16101         * modules/stdint (Depends-on): Remove wchar.
16102         (Makefile.am): Substitute HAVE_WCHAR_H.
16103         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
16104
16105 2011-02-18  Eric Blake  <eblake@redhat.com>
16106
16107         longlong: skip, rather than fail, on cross-compilation
16108         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
16109         when cross-compiling; regression from 2011-02-16.
16110
16111 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16112
16113         * NEWS: Mention 2011-02-08 change to stdlib.
16114
16115 2011-02-17  Bruno Haible  <bruno@clisp.org>
16116
16117         getloadavg: Add comments about platforms.
16118         * m4/getloadavg.m4: Add comment.
16119         * lib/getloadavg.c: Likewise.
16120
16121 2011-02-17  Bruno Haible  <bruno@clisp.org>
16122
16123         getloadavg: Fix link error on Solaris 2.6.
16124         * modules/getloadavg (Link): New section.
16125         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
16126         linking test-getloadavg.
16127         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
16128         getloadavg.
16129
16130 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
16131
16132         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
16133         It was 'int', but this doesn't match the IRIX 6.5 manual.
16134         Suggested by Bruno Haible in
16135         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
16136
16137 2011-02-17  Bruno Haible  <bruno@clisp.org>
16138
16139         havelib: Fix comments.
16140         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
16141         change.
16142
16143 2011-02-17  Bruno Haible  <bruno@clisp.org>
16144
16145         havelib: Update config.rpath.
16146         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
16147
16148 2011-02-17  Bruno Haible  <bruno@clisp.org>
16149
16150         getloadavg test: Add some plausibility checks.
16151         * tests/test-getloadavg.c (check_avg): Print a warning when the value
16152         is improbable.
16153
16154 2011-02-16  Eric Blake  <eblake@redhat.com>
16155
16156         maintainer-makefile: make syntax-check a no-op from tarballs
16157         * top/maint.mk (no-vc-detected): New rule.
16158         (local-checks-available): Use it to avoid hanging if someone tries
16159         'make syntax-check' from a tarball.  Also append to any non-syntax
16160         checks already defined in cfg.mk.
16161
16162 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
16163
16164         longlong: tune, particularly for common case of c99
16165
16166         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
16167         or running anything if c99, or if unsigned long long int does not
16168         work.  In either case, we know the answer without further tests.
16169         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
16170         it at most once, and use its results for both long long int and
16171         unsigned long long int.  This is more likely to be efficient in
16172         the common case where the program wants to check for both long
16173         long int and unsigned long long int.
16174         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
16175         since the answer is already known.
16176
16177 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
16178
16179         getloadavg: set errno
16180         * lib/getloadavg.c: Set errno when returning -1.  If no other
16181         error number looks appropriate, set it to ENOSYS if the getloadavg
16182         looks like it can't possibly ever work, ENOTSUP otherwise.
16183         Suggested by Bruno Haible in
16184         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
16185
16186         getloadavg: trim unused parts and speed up 'configure'
16187         * NEWS: Document this.
16188         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
16189         always compiled if getloadavg is absent.
16190         Move test code to ...
16191         * tests/test-getloadavg.c: New file, containing previous
16192         contents of test from lib/getloadavg.c.  It also contains
16193         suggestions by Bruno Haible in
16194         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
16195         * modules/getloadavg-tests: New file.
16196         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
16197         Do tests in the same order as they're needed for getloadavg.c.
16198         Omit setgid-related tests that generate symbols KMEM_GROUP,
16199         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
16200         Do only the tests that are needed to see whether the system has
16201         getloadavg, moving the other tests into ...
16202         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
16203         NLIST_NAME_UNION; nobody should be using it.  Do not define
16204         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
16205         relevant, as the user of this module shouldn't care how getloadavg
16206         is implemented.
16207
16208         getloadavg: omit unused var
16209         * lib/getloadavg.c (getloadavg): Omit unused local variable.
16210
16211 2011-02-15  Jim Meyering  <meyering@redhat.com>
16212
16213         doc: update users.txt
16214         * users.txt: Update iwhd's URL.
16215
16216 2011-02-13  Bruno Haible  <bruno@clisp.org>
16217
16218         Consistent macro naming for macros that use GCC __attribute__.
16219         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
16220         _ATTRIBUTE_NONNULL_.
16221         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
16222         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
16223         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
16224         ATTRIBUTE_DEPRECATED.
16225         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
16226         ATTRIBUTE_NORETURN.
16227         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16228         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16229         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16230         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
16231         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
16232         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
16233         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
16234         ATTRIBUTE_SENTINEL.
16235         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
16236         ATTRIBUTE_RETURN_CHECK.
16237         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
16238         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
16239         ATTRIBUTE_NORETURN.
16240         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
16241         Reported by Paul Eggert.
16242
16243 2011-02-13  Bruno Haible  <bruno@clisp.org>
16244
16245         Don't interfere with a program's definition of __attribute__.
16246         * lib/argp.h (__attribute__): Remove definition.
16247         (_GL_ATTRIBUTE_FORMAT): New macro.
16248         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
16249         * lib/argp-fmtstream.h (__attribute__): Remove definition.
16250         (_GL_ATTRIBUTE_FORMAT): New macro.
16251         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
16252         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
16253         GCC 3 or newer.
16254         * lib/error.h (__attribute__): Remove definition.
16255         (_GL_ATTRIBUTE_FORMAT): New macro.
16256         (error, error_at_line): Use it.
16257         * lib/hash.h (__attribute__): Remove definition.
16258         (ATTRIBUTE_WUR): Update definition. Define always.
16259         * lib/openat.h (__attribute__): Remove definition.
16260         (ATTRIBUTE_NORETURN): Update definition. Define always.
16261         * lib/sigpipe-die.h (__attribute__): Remove definition.
16262         (ATTRIBUTE_NORETURN): Update definition. Define always.
16263         * lib/vasnprintf.h (__attribute__): Remove definition.
16264         (_GL_ATTRIBUTE_FORMAT): New macro.
16265         (asnprintf, vasnprintf): Use it.
16266         * lib/xalloc.h (__attribute__): Remove definition.
16267         (ATTRIBUTE_NORETURN): Update definition. Define always.
16268         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
16269         * lib/xmemdup0.h (__attribute__): Remove definition.
16270         (ATTRIBUTE_NORETURN): Update definition. Define always.
16271         * lib/xprintf.h (__attribute__): Remove definition.
16272         (_GL_ATTRIBUTE_FORMAT): New macro.
16273         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
16274         * lib/xstrtol.h (__attribute__): Remove definition.
16275         (ATTRIBUTE_NORETURN): Update definition. Define always.
16276         * lib/xvasprintf.h (__attribute__): Remove definition.
16277         (_GL_ATTRIBUTE_FORMAT): New macro.
16278         (xasprintf, xvasprintf): Use it.
16279         * tests/test-argmatch.c (__attribute__): Remove definition.
16280         (ATTRIBUTE_NORETURN): Update definition. Define always.
16281         * tests/test-exclude.c (__attribute__): Remove definition.
16282         (ATTRIBUTE_NORETURN): Update definition. Define always.
16283         Reported by Paul Eggert.
16284
16285 2011-02-13  Bruno Haible  <bruno@clisp.org>
16286
16287         mbrtowc: Add more tests for native Windows platforms.
16288         * tests/test-mbrtowc-w32-1.sh: New file.
16289         * tests/test-mbrtowc-w32-2.sh: New file.
16290         * tests/test-mbrtowc-w32-3.sh: New file.
16291         * tests/test-mbrtowc-w32-4.sh: New file.
16292         * tests/test-mbrtowc-w32-5.sh: New file.
16293         * tests/test-mbrtowc-w32.c: New file.
16294         * modules/mbrtowc-tests (Files): Add them.
16295         (Makefile.am): Arrange to run these tests.
16296         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
16297         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
16298
16299 2011-02-13  Bruno Haible  <bruno@clisp.org>
16300
16301         mbrtowc: Work around native Windows bug.
16302         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
16303         guess when no suitable locale for testing was found.
16304         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
16305
16306 2011-02-13  Bruno Haible  <bruno@clisp.org>
16307
16308         mbsinit: Work around mingw bug.
16309         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
16310         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
16311         Windows.
16312         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
16313
16314 2011-02-13  Bruno Haible  <bruno@clisp.org>
16315
16316         mbsinit: Don't crash for a NULL argument.
16317         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
16318         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
16319
16320 2011-02-13  Bruno Haible  <bruno@clisp.org>
16321
16322         Don't interfere with a program's definition of __attribute__.
16323         * lib/stdio.in.h (__attribute__): Remove definition.
16324         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
16325         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
16326         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
16327         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
16328         * lib/string.in.h (__attribute__): Remove definition.
16329         Reported by Paul Eggert.
16330
16331 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16332
16333         stdlib: don't get in the way of non-GCC __attribute__
16334         See thread starting at
16335         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
16336         Revert previous stdlib change, installing the following instead:
16337         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
16338         to get in the way of a non-GCC compiler that supports __attribute__.
16339         (_GL_ATTRIBUTE_RETURN): New macro.
16340         (_Exit): Use it instead of __attribute__.
16341
16342 2011-02-12  Bruno Haible  <bruno@clisp.org>
16343
16344         quotearg test: Avoid test failure on mingw.
16345         * tests/test-quotearg.sh: Convert the locale identifier from native
16346         Windows syntax to Unix syntax.
16347
16348 2011-02-12  Bruno Haible  <bruno@clisp.org>
16349
16350         setlocale: Prefer gnulib's override over libintl's override.
16351         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
16352         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
16353         GNULIB_defined_setlocale is set.
16354
16355 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
16356
16357         stdlib: support non-GCC __attribute__
16358
16359         Fix a serious and tricky problem encountered when attempting to
16360         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
16361         5.5, but it crashed due to memory corruption on Solaris 10 with
16362         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
16363         bits that are otherwise zero.  This tagging is optional inside
16364         Emacs but is preferred and is used when __attribute__ ((__aligned
16365         (8))) works, as it does with both recent-enough GCC and with Sun C
16366         5.11.  However, Sun C 5.11 is not GCC and does not #define
16367         __GNUC__ and __GNUC_MINOR__.
16368
16369         When I added the getloadavg module to Emacs, it brought in
16370         stdlib.in.h, which contained this fragment:
16371
16372            #ifndef __attribute__
16373            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
16374            #  define __attribute__(Spec)   /* empty */
16375            # endif
16376            #endif
16377
16378         When files that include <stdlib.h> were compiled with Sun C 5.11,
16379         the above code disabled __attribute__ ((__aligned (8))), which
16380         caused variables to not be properly aligned, which eventually led
16381         to the pointer corruption mentioned above.  (This was a bit hard
16382         to diagnose, unfortunately.)
16383
16384         Several "#define __attribute__(X) /* empty */" code snippets need
16385         to be eradicated from Gnulib to work with non-GCC compilers that
16386         support __attribute__.  The Autoconf way to do this is to test for
16387         each kind of attribute that we want support for, and selectively
16388         enable that in source code.
16389
16390         Fix this problem just for stdlib.h, by adding a test for the
16391         __noreturn__ attribute, and change stdlib.in.h to use that test
16392         when needed.  This technique can be easily generalized to the
16393         other *.in.h files and attributes, and a similar technique can be
16394         used for *.h and *.c files.  This patch is enough to solve the
16395         problem for Emacs + getloadavg, and I thought I'd publish it for
16396         feedback before undertaking further, similar fixes in other
16397         modules.
16398
16399         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
16400         because it's not needed for stdlib.h.  It merely substitutes the
16401         value directly into stdlib.h.  We may well need to #define it, or
16402         similar symbols, for other modules, but it's nice to also have an
16403         option to not #define it for applications like Emacs that do not
16404         need it.
16405
16406         * lib/stdlib.in.h (__attribute__): Do not #define.
16407         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
16408         be defined only if the _Exit module is also used.
16409         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
16410         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
16411         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
16412         platforms.
16413         * modules/_Exit (Files): Add m4/attribute.m4.
16414         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
16415         * m4/attribute.m4: New file.
16416
16417 2011-02-12  Bruno Haible  <bruno@clisp.org>
16418
16419         wcsrtombs: Work around bug on native Windows.
16420         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
16421         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
16422         instead of len.
16423         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
16424
16425 2011-02-12  Bruno Haible  <bruno@clisp.org>
16426
16427         mbsrtowcs: Work around bug on native Windows.
16428         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
16429         against mingw bug.
16430         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
16431
16432 2011-02-12  Bruno Haible  <bruno@clisp.org>
16433
16434         Avoid setlocale bugs in tests.
16435         * modules/btowc (Dependencies): Add setlocale.
16436         * modules/c-strcase (Dependencies): Likewise.
16437         * modules/mbmemcasecmp (Dependencies): Likewise.
16438         * modules/mbmemcasecoll (Dependencies): Likewise.
16439         * modules/mbrtowc (Dependencies): Likewise.
16440         * modules/mbscasecmp (Dependencies): Likewise.
16441         * modules/mbscasestr (Dependencies): Likewise.
16442         * modules/mbschr (Dependencies): Likewise.
16443         * modules/mbscspn (Dependencies): Likewise.
16444         * modules/mbsinit (Dependencies): Likewise.
16445         * modules/mbsncasecmp (Dependencies): Likewise.
16446         * modules/mbsnrtowcs (Dependencies): Likewise.
16447         * modules/mbspbrk (Dependencies): Likewise.
16448         * modules/mbspcasecmp (Dependencies): Likewise.
16449         * modules/mbsrchr (Dependencies): Likewise.
16450         * modules/mbsrtowcs (Dependencies): Likewise.
16451         * modules/mbsspn (Dependencies): Likewise.
16452         * modules/mbsstr (Dependencies): Likewise.
16453         * modules/nl_langinfo (Dependencies): Likewise.
16454         * modules/quotearg (Dependencies): Likewise.
16455         * modules/unicase/locale-language (Dependencies): Likewise.
16456         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
16457         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
16458         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
16459         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
16460         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
16461         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
16462         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
16463         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
16464         * modules/vasnprintf-posix (Dependencies): Likewise.
16465         * modules/wcrtomb (Dependencies): Likewise.
16466         * modules/wcsnrtombs (Dependencies): Likewise.
16467         * modules/wcsrtombs (Dependencies): Likewise.
16468
16469 2011-02-12  Bruno Haible  <bruno@clisp.org>
16470
16471         setlocale: Workaround native Windows bug.
16472         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
16473         succeeds but sets LC_CTYPE to "C", report a failure.
16474         * tests/test-setlocale2.sh: New file.
16475         * tests/test-setlocale2.c: New file.
16476         * modules/setlocale-tests (Files): Add the new files.
16477         (Makefile.am): Enable test-setlocale2.sh test.
16478         * doc/posix-functions/setlocale.texi: Mention workaround.
16479
16480 2011-02-11  Bruno Haible  <bruno@clisp.org>
16481
16482         Tests for module 'setlocale'.
16483         * modules/setlocale-tests: New file.
16484         * tests/test-setlocale1.sh: New file.
16485         * tests/test-setlocale1.c: New file.
16486
16487         New module 'setlocale'.
16488         * lib/locale.in.h (setlocale): New declaration.
16489         * lib/setlocale.c: New file, based on
16490         gettext/gettext-runtime/intl/setlocale.c.
16491         * m4/setlocale.m4: New file.
16492         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
16493         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
16494         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
16495         REPLACE_SETLOCALE.
16496         * modules/setlocale: New file.
16497         * tests/test-locale-c++.cc: Test the declaration of setlocale.
16498         * doc/posix-functions/setlocale.texi: Mention the new module.
16499
16500 2011-02-11  Bruno Haible  <bruno@clisp.org>
16501
16502         Prepare for locale dependent tests on mingw.
16503         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
16504         because it has the wrong locale encoding.
16505         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
16506         French_France.1252 instead of "fr".
16507         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
16508         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
16509         because it has the wrong locale encoding.
16510         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
16511         native Windows, try Turkish_Turkey.65001.
16512         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
16513         Chinese_China.54936.
16514
16515         Prepare for locale dependent tests on mingw.
16516         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
16517         differently.
16518         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
16519         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
16520         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
16521         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16522
16523 2011-02-11  Eric Blake  <eblake@redhat.com>
16524
16525         strptime: avoid compiler warnings
16526         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
16527         compiler warnings about dead code.
16528         Reported by Daniel P. Berrange.
16529
16530 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
16531
16532         doc: update users.txt
16533         * users.txt: Add rcs.
16534
16535 2011-02-10  John W. Eaton  <jwe@gnu.org>
16536
16537         doc: update users.txt
16538         * users.txt: Add octave.
16539
16540 2011-02-10  Jim Meyering  <meyering@redhat.com>
16541
16542         doc: update users.txt
16543         * users.txt: Add iwhd.
16544
16545 2011-02-09  Bruno Haible  <bruno@clisp.org>
16546
16547         gnulib-tool: Make copyright notice adjustment more robust.
16548         * gnulib-tool (func_import): In sed_transform_main_lib_file,
16549         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
16550         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
16551         License".
16552         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
16553
16554 2011-02-06  Bruno Haible  <bruno@clisp.org>
16555
16556         New module 'towctrans'.
16557         * modules/towctrans: New file.
16558         * lib/wctype.in.h (towctrans): New declaration.
16559         * lib/towctrans.c: New file.
16560         * lib/towctrans-impl.h: New file.
16561         * m4/towctrans.m4: New file.
16562         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
16563         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
16564         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
16565         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
16566         * doc/posix-functions/towctrans.texi: Mention the new module.
16567
16568 2011-02-06  Bruno Haible  <bruno@clisp.org>
16569
16570         New module 'wctrans'.
16571         * modules/wctrans: New file.
16572         * lib/wctype.in.h (wctrans): New declaration.
16573         * lib/wctrans.c: New file.
16574         * lib/wctrans-impl.h: New file.
16575         * m4/wctrans.m4: New file.
16576         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
16577         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
16578         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
16579         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
16580         * doc/posix-functions/wctrans.texi: Mention the new module.
16581
16582 2011-02-06  Bruno Haible  <bruno@clisp.org>
16583
16584         New module 'iswctype'.
16585         * modules/iswctype: New file.
16586         * lib/wctype.in.h (iswctype): New declaration.
16587         * lib/iswctype.c: New file.
16588         * lib/iswctype-impl.h: New file.
16589         * m4/iswctype.m4: New file.
16590         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
16591         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
16592         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
16593         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
16594         * doc/posix-functions/iswctype.texi: Mention the new module and the
16595         HP-UX 11.00 problem.
16596
16597 2011-02-06  Bruno Haible  <bruno@clisp.org>
16598
16599         New module 'wctype'.
16600         * modules/wctype: Change to represent the wctype() substitute.
16601         * lib/wctype.in.h (wctype): New declaration.
16602         * lib/wctype.c: New file.
16603         * lib/wctype-impl.h: New file.
16604         * m4/wctype.m4: New file.
16605         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
16606         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
16607         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
16608         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
16609         * doc/posix-functions/wctype.texi: Mention the new module and the
16610         HP-UX 11.00 problem.
16611
16612 2011-02-06  Bruno Haible  <bruno@clisp.org>
16613
16614         wctype-h: Ensure wctype_t and wctrans_t are defined.
16615         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
16616         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16617         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
16618         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
16619         HAVE_WCTRANS_T.
16620         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
16621
16622 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
16623
16624         flock: fix license typo
16625
16626         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
16627         omitted.
16628
16629 2011-02-08  Bruno Haible  <bruno@clisp.org>
16630
16631         Split large sed scripts, for HP-UX sed.
16632         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
16633         to avoid HP-UX limit of 99 commands, in the near future.
16634         * modules/stdlib (Makefile.am): Likewise.
16635         * modules/unistd (Makefile.am): Likewise.
16636         * modules/wchar (Makefile.am): Likewise.
16637         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16638         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
16639         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
16640
16641 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16642             Bruno Haible  <bruno@clisp.org>
16643
16644         stdlib: improve random_r modularization
16645         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
16646         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
16647         you also need the random_r module to get this material right.
16648         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
16649         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
16650         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
16651
16652 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
16653
16654         stdlib: don't depend on stdint
16655         * lib/stdlib.in.h: Don't include <stdint.h> merely because
16656         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
16657         be independent of whether stdint.h is needed.
16658         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
16659         here, instead of ...
16660         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
16661         struct random_data should be using the random_r module, not just
16662         the stdlib module (which wouldn't make sense: what package needs
16663         just struct random_data without also needing random_r?).
16664         * modules/stdlib (Depends-on): Remove stdint.
16665
16666         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
16667         See the thread rooted at
16668         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
16669         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
16670         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
16671         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
16672         __VMS)); previously it was always included (via fcntl--.h).
16673         (getloadavg): Do not use c_strtod.  Instead, approximate it by
16674         hand; this is good enough for load averages.  Also, do not use
16675         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
16676         flags directly if available and don't bother otherwise.  (Packages
16677         that need the extra reliability should use the modules that define
16678         these flags on older platforms that lack them.)
16679         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
16680         fcntl-safer.
16681
16682 2011-02-08  Jim Meyering  <meyering@redhat.com>
16683
16684         di-set.h, ino-map.h: add multiple-inclusion guard
16685         Technically, the guard is required only for ino-map.h, due to its
16686         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
16687         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
16688         * lib/ino-map.h: Likewise.
16689
16690 2011-02-06  Bruno Haible  <bruno@clisp.org>
16691
16692         iswblank: Ensure declaration on glibc systems.
16693         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
16694         * modules/iswblank (Dependencies): Add 'extensions'.
16695         * doc/posix-functions/iswblank.texi: Document the glibc problem.
16696
16697 2011-02-06  Bruno Haible  <bruno@clisp.org>
16698
16699         New module 'iswblank'.
16700         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
16701         * modules/iswblank: New file.
16702         * modules/wctype-h (Files): Remove lib/iswblank.c.
16703         (Makefile.am): Substitute GNULIB_ISWBLANK.
16704         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
16705         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
16706         (gl_WCTYPE_H_DEFAULTS): New macro.
16707         (gl_WCTYPE_H): Require it. Remove iswblank related code.
16708         * modules/iswblank-tests: New file.
16709         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
16710         * tests/test-wctype-h.c (main): Remove iswblank tests.
16711         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
16712         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
16713         of 'wctype-h'.
16714         * NEWS: Mention the change.
16715         * modules/mbchar (Depends-on): Add iswblank.
16716
16717 2011-02-08  Bruno Haible  <bruno@clisp.org>
16718
16719         di-set tests: Refactor.
16720         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
16721         unnecessary includes.
16722         (ASSERT): Remove macro.
16723         (main): Make C90 compliant by avoiding variable declaration after
16724         statement.
16725         * modules/di-set-tests (Files): Add tests/macros.h.
16726
16727 2011-02-08  Bruno Haible  <bruno@clisp.org>
16728
16729         ino-map tests: Refactor.
16730         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
16731         unnecessary includes.
16732         (ASSERT): Remove macro.
16733         (main): Make C90 compliant by avoiding variable declaration after
16734         statement.
16735         * modules/ino-map-tests (Files): Add tests/macros.h.
16736
16737 2011-02-08  Jim Meyering  <meyering@redhat.com>
16738
16739         di-set: add "const" to a cast
16740         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
16741         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
16742
16743 2011-02-06  Bruno Haible  <bruno@clisp.org>
16744
16745         Rename module 'wctype' to 'wctype-h'.
16746         * modules/wctype-h: Renamed from modules/wctype.
16747         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
16748         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
16749         (Files, Depends-on, Makefile.am): Update.
16750         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
16751         (Files, Makefile.am): Update.
16752         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
16753         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
16754         * doc/posix-headers/wctype.texi: Update.
16755         * doc/posix-functions/iswalnum.texi: Update.
16756         * doc/posix-functions/iswalpha.texi: Update.
16757         * doc/posix-functions/iswblank.texi: Update.
16758         * doc/posix-functions/iswcntrl.texi: Update.
16759         * doc/posix-functions/iswdigit.texi: Update.
16760         * doc/posix-functions/iswgraph.texi: Update.
16761         * doc/posix-functions/iswlower.texi: Update.
16762         * doc/posix-functions/iswprint.texi: Update.
16763         * doc/posix-functions/iswpunct.texi: Update.
16764         * doc/posix-functions/iswspace.texi: Update.
16765         * doc/posix-functions/iswupper.texi: Update.
16766         * doc/posix-functions/iswxdigit.texi: Update.
16767         * doc/posix-functions/towlower.texi: Update.
16768         * doc/posix-functions/towupper.texi: Update.
16769         * NEWS: Mention the change.
16770         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
16771         * modules/mbchar (Dependencies): Likewise.
16772         * modules/mbswidth (Dependencies): Likewise.
16773         * modules/quotearg (Dependencies): Likewise.
16774         * modules/regex (Dependencies): Likewise.
16775         * modules/wcscasecmp (Dependencies): Likewise.
16776         * modules/wcsncasecmp (Dependencies): Likewise.
16777         * modules/wcwidth (Dependencies): Likewise.
16778
16779 2011-02-06  Bruno Haible  <bruno@clisp.org>
16780
16781         New module 'wcswidth'.
16782         * modules/wcswidth: New file.
16783         * lib/wchar.in.h (wcswidth): New declaration.
16784         * lib/wcswidth.c: New file.
16785         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
16786         * m4/wcswidth.m4: New file.
16787         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
16788         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
16789         REPLACE_WCSWIDTH.
16790         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
16791         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
16792         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
16793         * doc/posix-functions/wcswidth.texi: Mention the new module.
16794
16795 2011-02-06  Bruno Haible  <bruno@clisp.org>
16796
16797         New module 'wcstok'.
16798         * modules/wcstok: New file.
16799         * lib/wchar.in.h (wcstok): New declaration.
16800         * lib/wcstok.c: New file.
16801         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
16802         * m4/wcstok.m4: New file.
16803         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
16804         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
16805         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
16806         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
16807         * doc/posix-functions/wcstok.texi: Mention the new module.
16808
16809 2011-02-06  Bruno Haible  <bruno@clisp.org>
16810
16811         New module 'wcsstr'.
16812         * modules/wcsstr: New file.
16813         * lib/wchar.in.h (wcsstr): New declaration.
16814         * lib/wcsstr.c: New file.
16815         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
16816         * m4/wcsstr.m4: New file.
16817         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
16818         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
16819         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
16820         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
16821         * doc/posix-functions/wcsstr.texi: Mention the new module.
16822
16823 2011-02-06  Bruno Haible  <bruno@clisp.org>
16824
16825         New module 'wcspbrk'.
16826         * modules/wcspbrk: New file.
16827         * lib/wchar.in.h (wcspbrk): New declaration.
16828         * lib/wcspbrk.c: New file.
16829         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
16830         * m4/wcspbrk.m4: New file.
16831         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
16832         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
16833         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
16834         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
16835         * doc/posix-functions/wcspbrk.texi: Mention the new module.
16836
16837 2011-02-06  Bruno Haible  <bruno@clisp.org>
16838
16839         New module 'wcsspn'.
16840         * modules/wcsspn: New file.
16841         * lib/wchar.in.h (wcsspn): New declaration.
16842         * lib/wcsspn.c: New file.
16843         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
16844         * m4/wcsspn.m4: New file.
16845         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
16846         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
16847         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
16848         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
16849         * doc/posix-functions/wcsspn.texi: Mention the new module.
16850
16851 2011-02-06  Bruno Haible  <bruno@clisp.org>
16852
16853         New module 'wcscspn'.
16854         * modules/wcscspn: New file.
16855         * lib/wchar.in.h (wcscspn): New declaration.
16856         * lib/wcscspn.c: New file.
16857         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
16858         * m4/wcscspn.m4: New file.
16859         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
16860         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
16861         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
16862         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
16863         * doc/posix-functions/wcscspn.texi: Mention the new module.
16864
16865 2011-02-06  Bruno Haible  <bruno@clisp.org>
16866
16867         New module 'wcsrchr'.
16868         * modules/wcsrchr: New file.
16869         * lib/wchar.in.h (wcsrchr): New declaration.
16870         * lib/wcsrchr.c: New file.
16871         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
16872         * m4/wcsrchr.m4: New file.
16873         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
16874         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
16875         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
16876         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
16877         * doc/posix-functions/wcsrchr.texi: Mention the new module.
16878
16879 2011-02-06  Bruno Haible  <bruno@clisp.org>
16880
16881         New module 'wcschr'.
16882         * modules/wcschr: New file.
16883         * lib/wchar.in.h (wcschr): New declaration.
16884         * lib/wcschr.c: New file.
16885         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
16886         * m4/wcschr.m4: New file.
16887         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
16888         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
16889         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
16890         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
16891         * doc/posix-functions/wcschr.texi: Mention the new module.
16892
16893 2011-02-06  Bruno Haible  <bruno@clisp.org>
16894
16895         New module 'wcsdup'.
16896         * modules/wcsdup: New file.
16897         * lib/wchar.in.h (wcsdup): New declaration.
16898         * lib/wcsdup.c: New file.
16899         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
16900         * m4/wcsdup.m4: New file.
16901         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
16902         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
16903         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
16904         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
16905         * doc/posix-functions/wcsdup.texi: Mention the new module.
16906
16907 2011-02-06  Bruno Haible  <bruno@clisp.org>
16908
16909         New module 'wcsxfrm'.
16910         * modules/wcsxfrm: New file.
16911         * lib/wchar.in.h (wcsxfrm): New declaration.
16912         * lib/wcsxfrm.c: New file.
16913         * lib/wcsxfrm-impl.h: New file.
16914         * m4/wcsxfrm.m4: New file.
16915         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
16916         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
16917         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
16918         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
16919         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
16920
16921 2011-02-06  Bruno Haible  <bruno@clisp.org>
16922
16923         New module 'wcscoll'.
16924         * modules/wcscoll: New file.
16925         * lib/wchar.in.h (wcscoll): New declaration.
16926         * lib/wcscoll.c: New file.
16927         * lib/wcscoll-impl.h: New file.
16928         * m4/wcscoll.m4: New file.
16929         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
16930         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
16931         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
16932         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
16933         * doc/posix-functions/wcscoll.texi: Mention the new module.
16934
16935 2011-02-06  Bruno Haible  <bruno@clisp.org>
16936
16937         New module 'wcsncasecmp'.
16938         * modules/wcsncasecmp: New file.
16939         * lib/wchar.in.h (wcsncasecmp): New declaration.
16940         * lib/wcsncasecmp.c: New file.
16941         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
16942         * m4/wcsncasecmp.m4: New file.
16943         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
16944         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
16945         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
16946         HAVE_WCSNCASECMP.
16947         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
16948         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
16949
16950 2011-02-06  Bruno Haible  <bruno@clisp.org>
16951
16952         New module 'wcscasecmp'.
16953         * modules/wcscasecmp: New file.
16954         * lib/wchar.in.h (wcscasecmp): New declaration.
16955         * lib/wcscasecmp.c: New file.
16956         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
16957         * m4/wcscasecmp.m4: New file.
16958         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
16959         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
16960         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
16961         HAVE_WCSCASECMP.
16962         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
16963         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
16964
16965 2011-02-05  Bruno Haible  <bruno@clisp.org>
16966
16967         New module 'wcsncmp'.
16968         * modules/wcsncmp: New file.
16969         * lib/wchar.in.h (wcsncmp): New declaration.
16970         * lib/wcsncmp.c: New file.
16971         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
16972         * m4/wcsncmp.m4: New file.
16973         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
16974         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
16975         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
16976         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
16977         * doc/posix-functions/wcsncmp.texi: Mention the new module.
16978
16979 2011-02-05  Bruno Haible  <bruno@clisp.org>
16980
16981         New module 'wcscmp'.
16982         * modules/wcscmp: New file.
16983         * lib/wchar.in.h (wcscmp): New declaration.
16984         * lib/wcscmp.c: New file.
16985         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
16986         * m4/wcscmp.m4: New file.
16987         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
16988         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
16989         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
16990         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
16991         * doc/posix-functions/wcscmp.texi: Mention the new module.
16992
16993 2011-02-05  Bruno Haible  <bruno@clisp.org>
16994
16995         New module 'wcsncat'.
16996         * modules/wcsncat: New file.
16997         * lib/wchar.in.h (wcsncat): New declaration.
16998         * lib/wcsncat.c: New file.
16999         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
17000         * m4/wcsncat.m4: New file.
17001         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
17002         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
17003         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
17004         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
17005         * doc/posix-functions/wcsncat.texi: Mention the new module.
17006
17007 2011-02-05  Bruno Haible  <bruno@clisp.org>
17008
17009         New module 'wcscat'.
17010         * modules/wcscat: New file.
17011         * lib/wchar.in.h (wcscat): New declaration.
17012         * lib/wcscat.c: New file.
17013         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
17014         * m4/wcscat.m4: New file.
17015         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
17016         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
17017         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
17018         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
17019         * doc/posix-functions/wcscat.texi: Mention the new module.
17020
17021 2011-02-05  Bruno Haible  <bruno@clisp.org>
17022
17023         New module 'wcpncpy'.
17024         * modules/wcpncpy: New file.
17025         * lib/wchar.in.h (wcpncpy): New declaration.
17026         * lib/wcpncpy.c: New file.
17027         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
17028         * m4/wcpncpy.m4: New file.
17029         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
17030         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
17031         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
17032         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
17033         * doc/posix-functions/wcpncpy.texi: Mention the new module.
17034
17035 2011-02-05  Bruno Haible  <bruno@clisp.org>
17036
17037         New module 'wcsncpy'.
17038         * modules/wcsncpy: New file.
17039         * lib/wchar.in.h (wcsncpy): New declaration.
17040         * lib/wcsncpy.c: New file.
17041         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
17042         * m4/wcsncpy.m4: New file.
17043         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
17044         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
17045         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
17046         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
17047         * doc/posix-functions/wcsncpy.texi: Mention the new module.
17048
17049 2011-02-05  Bruno Haible  <bruno@clisp.org>
17050
17051         New module 'wcpcpy'.
17052         * modules/wcpcpy: New file.
17053         * lib/wchar.in.h (wcpcpy): New declaration.
17054         * lib/wcpcpy.c: New file.
17055         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
17056         * m4/wcpcpy.m4: New file.
17057         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
17058         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
17059         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
17060         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
17061         * doc/posix-functions/wcpcpy.texi: Mention the new module.
17062
17063 2011-02-05  Bruno Haible  <bruno@clisp.org>
17064
17065         New module 'wcscpy'.
17066         * modules/wcscpy: New file.
17067         * lib/wchar.in.h (wcscpy): New declaration.
17068         * lib/wcscpy.c: New file.
17069         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
17070         * m4/wcscpy.m4: New file.
17071         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
17072         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
17073         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
17074         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
17075         * doc/posix-functions/wcscpy.texi: Mention the new module.
17076
17077 2011-02-05  Bruno Haible  <bruno@clisp.org>
17078
17079         New module 'wcsnlen'.
17080         * modules/wcsnlen: New file.
17081         * lib/wchar.in.h (wcsnlen): New declaration.
17082         * lib/wcsnlen.c: New file.
17083         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
17084         * m4/wcsnlen.m4: New file.
17085         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
17086         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
17087         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
17088         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
17089         * doc/posix-functions/wcsnlen.texi: Mention the new module.
17090
17091 2011-02-05  Bruno Haible  <bruno@clisp.org>
17092
17093         New module 'wcslen'.
17094         * modules/wcslen: New file.
17095         * lib/wchar.in.h (wcslen): New declaration.
17096         * lib/wcslen.c: New file.
17097         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
17098         * m4/wcslen.m4: New file.
17099         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
17100         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
17101         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
17102         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
17103         * doc/posix-functions/wcslen.texi: Mention the new module.
17104
17105 2011-02-05  Bruno Haible  <bruno@clisp.org>
17106
17107         New module 'wmemset'.
17108         * modules/wmemset: New file.
17109         * lib/wchar.in.h (wmemset): New declaration.
17110         * lib/wmemset.c: New file.
17111         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
17112         * m4/wmemset.m4: New file.
17113         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
17114         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
17115         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
17116         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
17117         * doc/posix-functions/wmemset.texi: Mention the new module.
17118
17119 2011-02-05  Bruno Haible  <bruno@clisp.org>
17120
17121         New module 'wmemmove'.
17122         * modules/wmemmove: New file.
17123         * lib/wchar.in.h (wmemmove): New declaration.
17124         * lib/wmemmove.c: New file.
17125         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
17126         * m4/wmemmove.m4: New file.
17127         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
17128         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
17129         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
17130         HAVE_WMEMMOVE.
17131         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
17132         * doc/posix-functions/wmemmove.texi: Mention the new module.
17133
17134 2011-02-05  Bruno Haible  <bruno@clisp.org>
17135
17136         New module 'wmemcpy'.
17137         * modules/wmemcpy: New file.
17138         * lib/wchar.in.h (wmemcpy): New declaration.
17139         * lib/wmemcpy.c: New file.
17140         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
17141         * m4/wmemcpy.m4: New file.
17142         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
17143         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
17144         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
17145         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
17146         * doc/posix-functions/wmemcpy.texi: Mention the new module.
17147
17148 2011-02-05  Bruno Haible  <bruno@clisp.org>
17149
17150         New module 'wmemcmp'.
17151         * modules/wmemcmp: New file.
17152         * lib/wchar.in.h (wmemcmp): New declaration.
17153         * lib/wmemcmp.c: New file.
17154         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
17155         * m4/wmemcmp.m4: New file.
17156         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
17157         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
17158         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
17159         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
17160         * doc/posix-functions/wmemcmp.texi: Mention the new module.
17161
17162 2011-02-07  Jim Meyering  <meyering@redhat.com>
17163
17164         di-set, ino-map: new modules, from coreutils
17165         * lib/di-set.c: New file.
17166         * lib/di-set.h: Likewise.
17167         * lib/ino-map.c: Likewise.
17168         * lib/ino-map.h: Likewise.
17169         * modules/di-set: Likewise.
17170         * modules/di-set-tests: Likewise.
17171         * modules/ino-map: Likewise.
17172         * modules/ino-map-tests: Likewise.
17173         * tests/test-di-set.c: Likewise.
17174         * tests/test-ino-map.c: Likewise.
17175
17176 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
17177
17178         getloadavg: merge minor changes from Emacs
17179
17180         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
17181         (getloadavg): Use memset, not bzero.
17182
17183         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
17184         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
17185         clash (bug#86).
17186
17187 2010-11-14  Bruno Haible  <bruno@clisp.org>
17188
17189         Allow multiple gnulib generated replacements to coexist.
17190         * lib/getopt.in.h (struct option): Avoid identical redefinition.
17191         * lib/inttypes.in.h (imaxdiv_t): Likewise.
17192         * lib/langinfo.in.h (nl_item): Likewise.
17193         * lib/math.in.h (_NaN, NAN): Likewise.
17194         * lib/netdb.in.h (struct addrinfo): Likewise.
17195         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
17196         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
17197         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
17198         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
17199         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
17200         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
17201         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
17202         pthread_mutexattr_init, pthread_mutexattr_settype,
17203         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
17204         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
17205         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
17206         pthread_spin_trylock, pthread_spin_unlock): Likewise.
17207         * lib/sched.in.h (struct sched_param): Likewise.
17208         * lib/se-selinux.in.h (security_class_t, security_context_t,
17209         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
17210         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
17211         lsetfilecon, fsetfilecon, security_check_context,
17212         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
17213         Likewise.
17214         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
17215         Likewise.
17216         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
17217         _gl_function_taking_int_returning_void_t, union sigval,
17218         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
17219         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
17220         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
17221         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
17222         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
17223         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
17224         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
17225         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
17226         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
17227         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
17228         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
17229         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
17230         socklen_t, rpl_fd_isset): Likewise.
17231         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
17232         * lib/sys_time.in.h (struct timeval): Likewise.
17233         * lib/sys_times.in.h (struct tms): Likewise.
17234         * lib/sys_utsname.in.h (struct utsname):
17235         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
17236         * lib/unistd.in.h (getpagesize): Likewise.
17237         * lib/wchar.in.h (mbstate_t): Likewise.
17238         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17239         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
17240         towlower, towupper): Likewise.
17241         Reported by Sam Steingold <sds@gnu.org>.
17242
17243 2011-02-05  Eric Blake  <eblake@redhat.com>
17244
17245         unsetenv: work around Haiku issues
17246         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
17247         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
17248
17249 2010-12-30  Bruce Korb  <bkorb@gnu.org>
17250
17251         libposix: avoid calling error() within libposix
17252         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
17253         is defined.
17254
17255 2011-02-05  Eric Blake  <eblake@redhat.com>
17256
17257         strerror_r-posix: port to cygwin
17258         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
17259         implementation.
17260         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
17261         * tests/test-strerror_r.c (main): Fix test.
17262         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
17263         issue.
17264
17265 2011-02-05  Bruno Haible  <bruno@clisp.org>
17266
17267         New module 'wmemchr'.
17268         * modules/wmemchr: New file.
17269         * lib/wchar.in.h (wmemchr): New declaration.
17270         * lib/wmemchr.c: New file.
17271         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
17272         * m4/wmemchr.m4: New file.
17273         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
17274         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
17275         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
17276         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
17277         * doc/posix-functions/wmemchr.texi: Mention the new module.
17278
17279 2011-02-04  Eric Blake  <eblake@redhat.com>
17280
17281         fdopendir: detect FreeBSD bug
17282         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
17283         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
17284
17285 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
17286
17287         stdbool: do not define HAVE_STDBOOL_H
17288         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
17289         AC_HEADER_STDBOOL.  All uses changed.  Do not define
17290         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
17291         imported from the latest Autoconf git.  It was motivated by Emacs,
17292         which uses gnulib but does not need HAVE_STDBOOL_H.
17293
17294 2011-02-04  Bruno Haible  <bruno@clisp.org>
17295
17296         wcsnrtombs: Prepare for new module wwcsnrtombs.
17297         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
17298         * lib/wcsnrtombs.c: Include it.
17299         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
17300
17301         wcsrtombs: Prepare for new module wwcsrtombs.
17302         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
17303         * lib/wcsrtombs.c: Include it.
17304         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
17305
17306         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
17307         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
17308         * lib/mbsnrtowcs.c: Include it.
17309         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
17310
17311         mbsrtowcs: Prepare for new module mbsrtowwcs.
17312         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
17313         * lib/mbsrtowcs.c: Include it.
17314         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
17315
17316 2011-02-04  Bruno Haible  <bruno@clisp.org>
17317
17318         vasnprintf: Reduce use of malloc for small format strings.
17319         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
17320         (arguments): Add room for the first 7 arguments.
17321         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
17322         (char_directives, u8_directives, u16_directives, u32_directives): Add
17323         room for the first 7 directives.
17324         * lib/printf-parse.c: Include <string.h>.
17325         (PRINTF_PARSE): Change memory handling code so that it uses the first
17326         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
17327         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
17328         Reported by Pádraig Brady <P@draigbrady.com>.
17329
17330 2011-01-31  Eric Blake  <eblake@redhat.com>
17331
17332         dup2: work around Haiku bug
17333         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
17334         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
17335         * doc/posix-functions/dup2.texi (dup2): Document the bug.
17336         * tests/test-dup2.c (main): Enhance test.
17337
17338 2011-01-31  Simon Josefsson  <simon@josefsson.org>
17339
17340         doc: off_t is not available in eglibc 2.11.2 stdio.h.
17341         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
17342         declared by eglibc 2.11.2.
17343         * lib/stdio.in.h: Likewise.
17344
17345 2011-01-31  Eric Blake  <eblake@redhat.com>
17346
17347         ignore-value: add missing test dependency
17348         * tests/test-ignore-value.c: Revert previous change; stdio.h
17349         provides off_t.
17350         * modules/ignore-value-tests (Depends-on): Add missing dependency.
17351
17352 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
17353
17354         mktime: clarify long_int width checking
17355         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
17356         the top level, to make it clearer that the assumption about
17357         long_int width is being checked.  See
17358         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
17359
17360 2011-01-30  Simon Josefsson  <simon@josefsson.org>
17361
17362         ignore-value: Fix self-test.
17363         * tests/test-ignore-value.c: Include sys/types.h for off_t.
17364
17365 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
17366
17367         TYPE_MAXIMUM: avoid theoretically undefined behavior
17368         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
17369         negative number, which the C Standard says has undefined behavior.
17370         In practice this is not a problem, but might as well do it by the book.
17371         Reported by Rich Felker and Eric Blake; see
17372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
17373         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
17374         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
17375         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17376         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
17377         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17378         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
17379
17380         mktime: #undef mktime before #defining it
17381         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
17382
17383         mktime: systematically normalize tm_isdst comparisons
17384         * lib/mktime.c (isdst_differ): New function.
17385         (__mktime_internal): Use it systematically for all isdst comparisons.
17386         This completes the fix for libc BZ #6723, and removes the need for
17387         normalizing tm_isdst.  See
17388         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
17389         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
17390
17391         mktime: fix some integer overflow issues and sidestep the rest
17392
17393         This was prompted by a bug report by Benjamin Lindner for MinGW
17394         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
17395         His bug is due to signed integer overflow (0 - INT_MIN), and I
17396         I scanned through mktime.c looking for other integer overflow
17397         problems, fixing all the bugs I found.
17398
17399         Although the C Standard says the resulting code is still not safe
17400         in the presence of integer overflow, in practice it should be good
17401         enough for all real-world two's-complement implementations, except
17402         for debugging environments that deliberately trap on integer
17403         overflow (e.g., gcc -ftrapv).
17404
17405         * lib/mktime.c (WRAPV): New macro.
17406         (SHR): Also check that long_int and time_t shift right in the
17407         usual way, before using the fast-but-unportable method.
17408         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
17409         used.  The code already assumed two's complement, so there's
17410         no need to test for alternatives.  All uses removed.
17411         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
17412         the C standard.  Problem reported by Rich Felker in
17413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
17414         (twos_complement_arithmetic): Also check long_int and time_t.
17415         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
17416         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
17417         (__mktime_internal): Avoid integer overflow with unary subtraction
17418         in two instances where -1 - X is an adequate replacement for -X,
17419         since the calculations are approximate.
17420
17421 2011-01-29  Eric Blake  <eblake@redhat.com>
17422
17423         mktime: avoid infinite loop
17424         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
17425         type; behavior is still undefined but portable to all known targets.
17426         Reported by Rich Felker.
17427
17428 2011-01-29  Simon Josefsson  <simon@josefsson.org>
17429
17430         rename, unlink, same-inode: Relicense.
17431         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
17432         * modules/unlink (License): Likewise.
17433         * modules/same-inode (License): Likewise.
17434
17435 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
17436
17437         mktime: avoid problems on NetBSD 5 / i386
17438         * lib/mktime.c (long_int): New type.  This works around a problem
17439         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
17440         but time_t is 64 bits, and where I expect the existing code is
17441         wrong in some cases.
17442         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
17443         (ydhms_diff): Bring back the compile-time check for wide-enough
17444         year and yday.
17445
17446         mktime: fix misspelling in comment
17447         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
17448         This merges all recent glibc changes of importance.
17449
17450 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17451
17452         move-if-change: cope with concurrent mv of identical file.
17453         * build-aux/move-if-change (CMPPROG): Accept environment
17454         variable as an override for `cmp'.
17455         (usage): Document CMPPROG.
17456         Adjust comparison to drop stdout.  Cope with failure of mv if
17457         the target file exists and is identical to the source, for
17458         parallel builds.
17459         Report from H.J. Lu against binutils in PR binutils/12283.
17460
17461 2011-01-28  Bruce Korb  <bkorb@gnu.org>
17462
17463         * users.txt: Mention sharutils.
17464
17465 2011-01-28  Simon Josefsson  <simon@josefsson.org>
17466
17467         * users.txt: Mention OATH Toolkit.
17468
17469 2011-01-27  Bruno Haible  <bruno@clisp.org>
17470
17471         Prepare for supporting FreeBSD 10.
17472         * build-aux/config.libpath: Remove handling of freebsd1*.
17473
17474 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
17475
17476         Prepare for supporting FreeBSD 10.
17477         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
17478         match FreeBSD 10.0.
17479
17480 2011-01-27  Bruno Haible  <bruno@clisp.org>
17481
17482         vma-iter, get-rusage-as: Add OpenBSD support.
17483         * modules/vma-iter (configure.ac): Test for mquery.
17484         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
17485         * lib/vma-iter.c: Include <sys/mman.h>.
17486         (vma_iterate): Add an implementation based on mquery().
17487         * lib/resource-ext.h (get_rusage_as): Update comments.
17488         * lib/get-rusage-as.c: Likewise.
17489         * lib/get-rusage-data.c: Likewise.
17490
17491 2011-01-26  Karl Berry  <karl@gnu.org>
17492
17493         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
17494         variables to make it easier to override the makeinfo program used.
17495
17496 2011-01-26  Eric Blake  <eblake@redhat.com>
17497
17498         fcntl: work around Haiku F_DUPFD bugs
17499         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
17500         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
17501         cloexec bit on duplication.
17502         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
17503
17504 2011-01-26  Bruno Haible  <bruno@clisp.org>
17505
17506         Enable memory leak tests on AIX.
17507         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
17508         * tests/test-fprintf-posix3.c (main): Likewise.
17509
17510 2011-01-26  Bruno Haible  <bruno@clisp.org>
17511
17512         Tests for module 'get-rusage-data'.
17513         * modules/get-rusage-data-tests: New file.
17514         * tests/test-get-rusage-data.c: New file.
17515
17516         New module 'get-rusage-data'.
17517         * lib/resource-ext.h (get_rusage_data): New declaration.
17518         * lib/get-rusage-data.c: New file.
17519         * modules/get-rusage-data: New file.
17520
17521 2011-01-25  Bruno Haible  <bruno@clisp.org>
17522
17523         get-rusage-as: Allow for easier testing.
17524         * lib/resource-ext.h (get_rusage_as): Add comment.
17525         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
17526         (main): New function for interactive testing.
17527
17528 2011-01-25  Bruno Haible  <bruno@clisp.org>
17529
17530         vma-iter: Treat Haiku like BeOS.
17531         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
17532         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
17533
17534 2011-01-25  Eric Blake  <eblake@redhat.com>
17535
17536         c-stack: fix regression on cygwin when libsigsegv is present
17537         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
17538
17539 2011-01-24  Bruno Haible  <bruno@clisp.org>
17540
17541         vma-iter: Avoid empty intervals.
17542         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
17543         on an empty interval.
17544
17545 2011-01-24  Jim Meyering  <meyering@redhat.com>
17546
17547         u64: remove unnecessary #include
17548         * lib/u64.h: Don't include <stddef.h>.  It was not used.
17549
17550 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17551
17552         Allow the user to avoid the HAVE_RAW_DECL_* macros.
17553         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
17554
17555 2011-01-23  Bruno Haible  <bruno@clisp.org>
17556
17557         New module 'vma-iter'.
17558         * lib/vma-iter.h: New file.
17559         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
17560         * modules/vma-iter: New file.
17561         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
17562         for get_rusage_as_via_iterator.
17563         (vma_iterate_callback): New function.
17564         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
17565         * modules/get-rusage-as (Depends-on): Add vma-iter.
17566
17567 2011-01-23  Bruno Haible  <bruno@clisp.org>
17568
17569         uninorm: Tweak includes.
17570         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
17571         Reported by Jim Meyering.
17572
17573 2011-01-23  Bruno Haible  <bruno@clisp.org>
17574
17575         get-rusage-as: Improve on NetBSD.
17576         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
17577         /proc, like on FreeBSD.
17578
17579 2011-01-23  Jim Meyering  <meyering@redhat.com>
17580
17581         xreadlink.h: remove unnecessary #include
17582         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
17583
17584         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
17585         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
17586
17587 2011-01-23  Bruno Haible  <bruno@clisp.org>
17588
17589         get-rusage-as: Fix bug.
17590         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
17591         original limit when aborting the first loop.
17592
17593 2011-01-23  Bruno Haible  <bruno@clisp.org>
17594
17595         wctype: Ensure valid C syntax.
17596         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
17597         unconditionally, instead of gl_NEXT_HEADERS conditionally.
17598
17599 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17600
17601         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
17602         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
17603         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
17604         as they are needed only for configure's test case.
17605         This removes two unnecessary symbols from config.h.
17606
17607         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
17608         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
17609         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
17610         AC_CHECK_HEADERS_ONCE on a header that we also invoke
17611         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
17612         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
17613         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
17614         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
17615         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17616         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17617         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17618         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17619         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17620         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17621         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
17622         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17623         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
17624         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
17625
17626 2011-01-21  Eric Blake  <eblake@redhat.com>
17627
17628         maintainer-makefile: work with older git for submodule check
17629         * top/maint.mk (public-submodule-commit): Rewrite to avoid
17630         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
17631         Reported by Matthias Bolte.
17632
17633         bootstrap: minor portability fixes
17634         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
17635         (usage): Omit leading capital and trailing . on help phrases, per
17636         GNU Coding Standards.
17637         (check_versions, top level): Prefix messages with script name.
17638
17639 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
17640
17641         bootstrap: support --no-git option
17642         * build-aux/bootstrap: Add --no-git option, to be used when
17643         --gnulib-srcdir points to the exact desired checkout.
17644
17645 2011-01-21  Eric Blake  <eblake@redhat.com>
17646
17647         strerror_r-posix: work with glibc 2.13
17648         * lib/strerror_r.c (strerror_r): Fix return type.
17649
17650 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17651             Bruno Haible  <bruno@clisp.org>
17652
17653         uN_strstr: New unit tests.
17654         * modules/unistr/u8-strstr-tests: New file.
17655         * modules/unistr/u16-strstr-tests: New file.
17656         * modules/unistr/u32-strstr-tests: New file.
17657         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
17658         * tests/unistr/test-u8-strstr.c: New file.
17659         * tests/unistr/test-u16-strstr.c: New file.
17660         * tests/unistr/test-u32-strstr.c: New file.
17661
17662 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17663             Bruno Haible  <bruno@clisp.org>
17664
17665         Make uN_strstr functions O(n) worst-case.
17666         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
17667         16-bit and 32-bit unit cases, use the unibyte algorithm from
17668         lib/mbsstr.c.
17669         * lib/unistr/u8-strstr.c: Include <string.h>.
17670         (UNIT_IS_UINT8_T): New macro.
17671         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
17672         (U_STRLEN, U_STRNLEN): New macros.
17673         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
17674         (U_STRLEN, U_STRNLEN): New macros.
17675         * modules/unistr/u8-strstr (Depends-on): Add strstr.
17676         (configure.ac): Update required libunistring version.
17677         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
17678         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
17679         malloca.
17680         (configure.ac): Update required libunistring version.
17681         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
17682         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
17683         malloca.
17684         (configure.ac): Update required libunistring version.
17685
17686 2011-01-21  Pádraig Brady  <P@draigBrady.com>
17687             Bruno Haible  <bruno@clisp.org>
17688
17689         Prepare for faster uN_strstr functions.
17690         * lib/str-kmp.h: Support definable UNITs.
17691         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
17692         needle_len argument.
17693         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
17694         * lib/mbscasestr.c (mbscasestr): Likewise.
17695
17696 2011-01-21  Pádraig Brady <P@draigBrady.com>
17697
17698         malloca-tests: make faster by unsetting MALLOC_PERTURB_
17699         * tests/test-malloca.c (main): Unset the environment variable
17700         to greatly speed up the test.
17701         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
17702         * modules/malloca-tests: Depend on unsetenv.
17703
17704 2011-01-21  Pádraig Brady <P@draigBrady.com>
17705
17706         ignore-value: remove stdint dependency
17707         * lib/ignore-value.h: Remove <stdint.h>
17708         * modules/ignore-value: Remove stdint dependency.
17709
17710 2011-01-21  Jim Meyering  <meyering@redhat.com>
17711
17712         maint.mk: adjust variable name to be consistent with other gl_ vars
17713         * top/maint.mk (gl_public_submodule_commit): Rename the variable
17714         to be lower case.
17715
17716 2011-01-20  Jim Meyering  <meyering@redhat.com>
17717
17718         maint.mk: make "check" depend on public-submodule-commit by default
17719         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
17720
17721 2011-01-20  Bruno Haible  <bruno@clisp.org>
17722
17723         mbfile, mbiter: Complete change from 2008-12-21.
17724         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
17725         * m4/mbiter.m4 (gl_MBITER): Likewise.
17726
17727 2011-01-20  Jim Meyering  <meyering@redhat.com>
17728
17729         init.sh: insert space between each function name and "()"
17730         * tests/init.sh: Make it a little easier to see that a function's
17731         name is "warn_", and not "warn" when looking at the first part of
17732         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
17733
17734 2011-01-20  Jim Meyering  <meyering@redhat.com>
17735
17736         mountlist: clean up code formatting
17737         * lib/mountlist.c (read_file_system_list): Split a long line,
17738         correct bracing style, use NULL in place of "(struct statfs *)0",
17739         don't parenthesize return value, add spaces around "=" and after
17740         ";-in-for-stmt".
17741
17742 2011-01-14  Markus Duft <mduft@gentoo.org>
17743
17744         mountlist: add support for Interix
17745         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
17746         Apply statvfs to all entries of /dev/fs.
17747         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
17748         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
17749
17750 2011-01-20  Jim Meyering  <meyering@redhat.com>
17751
17752         maint.mk: improve the public-submodule-commit rule
17753         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
17754         to suppress printing of its commands... unless V=1.
17755         Add git submodule's --quiet option to suppress printing of e.g.,
17756         "Entering gnulib" output.
17757         "cd" into $(srcdir) before running git submodule.
17758
17759 2011-01-20  Bruno Haible  <bruno@clisp.org>
17760
17761         include_next: Fix bug introduced on 2011-01-18.
17762         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
17763         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
17764         ac_cv_header_... variable if the second argument is not 'check'.
17765         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
17766         gl_NEXT_HEADERS_INTERNAL.
17767
17768 2011-01-20  Bruno Haible  <bruno@clisp.org>
17769
17770         Allow the user to avoid the GNULIB_TEST_* macros.
17771         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
17772         Suggested by Paul Eggert.
17773
17774 2011-01-14  Jim Meyering  <meyering@redhat.com>
17775
17776         bootstrap: avoid failure when there is no .gitmodules file
17777         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
17778         has been assigned to, even when its value is the empty string.
17779         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
17780         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
17781         Reported by John W. Eaton <jwe@gnu.org>.
17782
17783 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
17784
17785         assume <ctype.h>, ..., <time.h> exist
17786         For years gnulib has been assuming the existence of the headers
17787         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
17788         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
17789         them, since they don't appear to be needed.
17790         * README (Portability guidelines): Document this.
17791         * lib/flock.c: Assume <fcntl.h> exists.
17792         * lib/regex_internal.h: Assume <locale.h> exists.
17793         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
17794         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
17795         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
17796         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
17797         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
17798         * m4/regex.m4 (gl_REGEX): Likewise.
17799         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
17800         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
17801         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
17802         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
17803         * tests/test-argp.c: Likewise.
17804         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
17805
17806         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
17807         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
17808         AA_APPLE_UNIVERSAL_BUILD.  See
17809         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
17810         * NEWS: Document this.
17811
17812 2011-01-19  Eric Blake  <eblake@redhat.com>
17813
17814         c-stack: assume stack overflow if SA_SIGINFO unsupported
17815         * lib/c-stack.c (SIGACTION_WORKS): Rename...
17816         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
17817         sigaction will work.
17818         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
17819         behavior match Linux.
17820         * tests/test-c-stack.c (main): Prefer NULL for pointers.
17821
17822         stdbool-tests: accomodate Haiku
17823         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
17824
17825         binary-io: fix O_TEXT on Haiku
17826         * modules/binary-io (Depends-on): Add fcntl-h.
17827         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
17828         than blindly undefining O_TEXT.
17829         Reported by Scott McCreary.
17830
17831 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17832
17833         include_next: do not check for standard headers like stddef.h
17834
17835         I found this problem when modifying Emacs to use gnulib.
17836         I noticed that it added HAVE_STDDEF_H to config.h, even though
17837         gnulib always assumes <stddef.h> exists as per README and this
17838         symbol is unnecessary.
17839         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
17840         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
17841         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
17842         faster for headers like stddef.h that are known to exist.
17843         (gl_CHECK_NEXT_HEADERS): Use it.
17844         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
17845         rather than gl_CHECK_NEXT_HEADERS.
17846         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
17847         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
17848
17849 2011-01-18  Eric Blake  <eblake@redhat.com>
17850
17851         ansi-c++-opt: skip C++ dependency style if C++ is unused
17852         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
17853         tests when we know C++ compilation is not desired.
17854         Reported by Scott McCreary.
17855
17856 2011-01-18  Bruno Haible  <bruno@clisp.org>
17857
17858         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
17859         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
17860         (main): Perform test also when getrlimit and setrlimit don't exist or
17861         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
17862         limiting the address space size using setrlimit, compare the address
17863         space size before and after the the test.
17864         * tests/test-dprintf-posix2.c: Likewise.
17865         * tests/test-fprintf-posix3.sh: Update skip messages.
17866         * tests/test-dprintf-posix2.sh: Likewise.
17867         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
17868         * modules/dprintf-posix-tests (Depends-on): Likewise.
17869         Reported by Bruce Korb <bkorb@gnu.org> and
17870         Gary V. Vaughan <gary@gnu.org>.
17871
17872 2011-01-18  Bruno Haible  <bruno@clisp.org>
17873
17874         get-rusage-as: Improvement for Cygwin.
17875         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
17876         areas that are merely reserved.
17877
17878 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
17879
17880         strftime: remove dependencies on multibyte modules
17881
17882         strftime depended on mbrlen, mbsinit, and wchar, but these modules
17883         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
17884         only if __osf__ is defined, and I suspect OSF doesn't need these
17885         other modules.  If my guess is wrong, we'll need to come up with a
17886         variant of strftime that doesn't need the multibyte modules.
17887
17888         I discovered this problem when attempting modify Emacs to use the
17889         strftime module.  With the previous gnulib, this caused Emacs to
17890         need 31 new files, ranging from lib/config.charset to
17891         m4/wint_t.m4.  This was overkill and I expect would be offputting
17892         to the Emacs maintainers.  After this change, only 6 new files are
17893         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
17894         stdbool.m4, and tm_gmtoff.m4.
17895
17896         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
17897         Suggested by Bruno Haible in
17898         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
17899         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
17900         and do not check for wchar.h.
17901         * modules/strftime (Files): Remove m4/mbstate_t.m4.
17902         (Depends-on): Remove mbrlen, mbsinit, wchar.
17903
17904 2011-01-18  Bruno Haible  <bruno@clisp.org>
17905
17906         Tests for module 'get-rusage-as'.
17907         * modules/get-rusage-as-tests: New file.
17908         * tests/test-get-rusage-as.c: New file.
17909
17910         New module 'get-rusage-as'.
17911         * modules/get-rusage-as: New file.
17912         * lib/resource-ext.h: New file.
17913         * lib/get-rusage-as.c: New file.
17914
17915 2011-01-17  Eric Blake  <eblake@redhat.com>
17916
17917         sigaction: relax license from LGPLv3+ to LGPLv2+
17918         * modules/sigaction (License): Relax to LGPLv2+.
17919
17920 2011-01-14  Bruno Haible  <bruno@clisp.org>
17921
17922         filemode: Make function declarations usable in C++ mode.
17923         * lib/filemode.h: Enclose function declarations in extern "C" block.
17924         Reported by John W. Eaton <jwe@gnu.org>.
17925
17926 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
17927
17928         save-cwd: no longer include "xgetcwd.h"
17929         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
17930         This avoids a compilation failure in projects that use save-cwd
17931         without also using the xgetcwd module.
17932
17933 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
17934
17935         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
17936         This is so that a program like Emacs, which needs only dtoastr,
17937         does not have to bother with distributing and compiling ftoastr
17938         and ldtoastr.
17939         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
17940         * modules/dtoastr, modules/ldtoastr: New files.
17941         * modules/ftoastr: Now works just for 'float'.
17942         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
17943         (Makefile.am): Remove ftoastr.h (not needed and no effect),
17944         dtoastr.c, ldtoastr.c.
17945
17946 2011-01-11  Jim Meyering  <meyering@redhat.com>
17947
17948         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
17949         There is no need to work around the lack of the fchdir function,
17950         since gnulib can now provide a replacement when required.
17951         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
17952         * modules/save-cwd (Depends-on): Add fchdir.
17953
17954 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
17955
17956         openat, save-cwd: avoid xmalloc
17957
17958         This removes a direct (but undocumented) dependency of openat on
17959         xalloc, along with an indirect dependency via save-cwd.  It also
17960         removes a dependency of save-cwd on xgetcwd, and thereby
17961         indirectly on xalloc.  This change causes the openat substitute
17962         to fall back on save_cwd when memory is tight, and for save_cwd to
17963         fail instead of dying when memory is tight, but that's good enough.
17964         Problem and initial idea for fix reported by Bastien Roucaries in
17965         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
17966
17967         * lib/openat-proc.c: Include stdlib.h (for malloc), not
17968         xalloc.h (for xmalloc).
17969         (openat_proc_name): Use malloc, not xmalloc.
17970         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
17971         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
17972
17973         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
17974         This avoids heap allocation for file names whose lengths are in
17975         the range 512..1023, with the upper bound increasing to at most
17976         4031 depending on the platform's PATH_MAX.  (We do not want
17977         pathmax.h here as it might supply a non-constant PATH_MAX.)
17978         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
17979         Perhaps they should be moved to malloca.h?
17980         (OPENAT_BUFFER_SIZE): Use them.
17981
17982 2011-01-10  Bruno Haible  <bruno@clisp.org>
17983
17984         doc: Update users.txt.
17985         * users.txt: Add recutils.
17986
17987 2011-01-09  Karl Berry  <karl@gnu.org>
17988
17989         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
17990
17991         * doc/configmake.texi: New file.
17992         * doc/gnulib.texi: Include it.
17993         * modules/configmake: Move documentation from here.
17994
17995 2011-01-09  Bruno Haible  <bruno@clisp.org>
17996
17997         Update to Unicode 6.0.0.
17998         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
17999         (get_lbp): Update for Unicode 6.0.0.
18000         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
18001         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
18002         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
18003         U+11001, U+11038..U+11046. Remove U+06DE.
18004         (uc_width): Fix bounds of planes.
18005         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18006         lib/uniwidth/width.c.
18007         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
18008         trailing whitespace removed.
18009         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
18010         without comments, but with the original copyright notice.
18011         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
18012         * lib/unicase/ignorable.h: Likewise.
18013         * lib/unicase/tocasefold.h: Likewise.
18014         * lib/unicase/tolower.h: Likewise.
18015         * lib/unicase/totitle.h: Likewise.
18016         * lib/unicase/toupper.h: Likewise.
18017         * lib/unictype/bidi_of.h: Likewise.
18018         * lib/unictype/blocks.h: Likewise.
18019         * lib/unictype/categ_C.h: Likewise.
18020         * lib/unictype/categ_Cn.h: Likewise.
18021         * lib/unictype/categ_L.h: Likewise.
18022         * lib/unictype/categ_Ll.h: Likewise.
18023         * lib/unictype/categ_Lm.h: Likewise.
18024         * lib/unictype/categ_Lo.h: Likewise.
18025         * lib/unictype/categ_Lu.h: Likewise.
18026         * lib/unictype/categ_M.h: Likewise.
18027         * lib/unictype/categ_Mc.h: Likewise.
18028         * lib/unictype/categ_Me.h: Likewise.
18029         * lib/unictype/categ_Mn.h: Likewise.
18030         * lib/unictype/categ_N.h: Likewise.
18031         * lib/unictype/categ_Nd.h: Likewise.
18032         * lib/unictype/categ_No.h: Likewise.
18033         * lib/unictype/categ_P.h: Likewise.
18034         * lib/unictype/categ_Po.h: Likewise.
18035         * lib/unictype/categ_S.h: Likewise.
18036         * lib/unictype/categ_Sc.h: Likewise.
18037         * lib/unictype/categ_Sk.h: Likewise.
18038         * lib/unictype/categ_Sm.h: Likewise.
18039         * lib/unictype/categ_So.h: Likewise.
18040         * lib/unictype/categ_of.h: Likewise.
18041         * lib/unictype/combining.h: Likewise.
18042         * lib/unictype/ctype_alnum.h: Likewise.
18043         * lib/unictype/ctype_alpha.h: Likewise.
18044         * lib/unictype/ctype_graph.h: Likewise.
18045         * lib/unictype/ctype_lower.h: Likewise.
18046         * lib/unictype/ctype_print.h: Likewise.
18047         * lib/unictype/ctype_punct.h: Likewise.
18048         * lib/unictype/ctype_upper.h: Likewise.
18049         * lib/unictype/decdigit.h: Likewise.
18050         * lib/unictype/digit.h: Likewise.
18051         * lib/unictype/numeric.h: Likewise.
18052         * lib/unictype/pr_alphabetic.h: Likewise.
18053         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18054         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18055         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18056         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18057         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18058         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18059         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18060         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18061         * lib/unictype/pr_case_ignorable.h: Likewise.
18062         * lib/unictype/pr_cased.h: Likewise.
18063         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
18064         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
18065         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
18066         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
18067         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
18068         * lib/unictype/pr_combining.h: Likewise.
18069         * lib/unictype/pr_composite.h: Likewise.
18070         * lib/unictype/pr_currency_symbol.h: Likewise.
18071         * lib/unictype/pr_decimal_digit.h: Likewise.
18072         * lib/unictype/pr_deprecated.h: Likewise.
18073         * lib/unictype/pr_format_control.h: Likewise.
18074         * lib/unictype/pr_grapheme_base.h: Likewise.
18075         * lib/unictype/pr_grapheme_extend.h: Likewise.
18076         * lib/unictype/pr_grapheme_link.h: Likewise.
18077         * lib/unictype/pr_id_continue.h: Likewise.
18078         * lib/unictype/pr_id_start.h: Likewise.
18079         * lib/unictype/pr_ideographic.h: Likewise.
18080         * lib/unictype/pr_lowercase.h: Likewise.
18081         * lib/unictype/pr_math.h: Likewise.
18082         * lib/unictype/pr_numeric.h: Likewise.
18083         * lib/unictype/pr_other_alphabetic.h: Likewise.
18084         * lib/unictype/pr_other_id_continue.h: Likewise.
18085         * lib/unictype/pr_other_math.h: Likewise.
18086         * lib/unictype/pr_punctuation.h: Likewise.
18087         * lib/unictype/pr_sentence_terminal.h: Likewise.
18088         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18089         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18090         * lib/unictype/pr_unified_ideograph.h: Likewise.
18091         * lib/unictype/pr_uppercase.h: Likewise.
18092         * lib/unictype/pr_xid_continue.h: Likewise.
18093         * lib/unictype/pr_xid_start.h: Likewise.
18094         * lib/unictype/scripts.h: Likewise.
18095         * lib/unictype/scripts_byname.gperf: Likewise.
18096         * lib/unictype/sy_java_ident.h: Likewise.
18097         * lib/unigbrk/gbrkprop.h: Likewise.
18098         * lib/unilbrk/lbrkprop1.h: Likewise.
18099         * lib/unilbrk/lbrkprop2.h: Likewise.
18100         * lib/uninorm/decomposition-table2.h: Likewise.
18101         * lib/uniwbrk/wbrkprop.h: Likewise.
18102         * tests/unicase/test-cased.c: Likewise.
18103         * tests/unicase/test-ignorable.c: Likewise.
18104         * tests/unicase/test-uc_tolower.c: Likewise.
18105         * tests/unicase/test-uc_totitle.c: Likewise.
18106         * tests/unicase/test-uc_toupper.c: Likewise.
18107         * tests/unictype/test-categ_C.c: Likewise.
18108         * tests/unictype/test-categ_Cn.c: Likewise.
18109         * tests/unictype/test-categ_L.c: Likewise.
18110         * tests/unictype/test-categ_Ll.c: Likewise.
18111         * tests/unictype/test-categ_Lm.c: Likewise.
18112         * tests/unictype/test-categ_Lo.c: Likewise.
18113         * tests/unictype/test-categ_Lu.c: Likewise.
18114         * tests/unictype/test-categ_M.c: Likewise.
18115         * tests/unictype/test-categ_Mc.c: Likewise.
18116         * tests/unictype/test-categ_Me.c: Likewise.
18117         * tests/unictype/test-categ_Mn.c: Likewise.
18118         * tests/unictype/test-categ_N.c: Likewise.
18119         * tests/unictype/test-categ_Nd.c: Likewise.
18120         * tests/unictype/test-categ_No.c: Likewise.
18121         * tests/unictype/test-categ_P.c: Likewise.
18122         * tests/unictype/test-categ_Po.c: Likewise.
18123         * tests/unictype/test-categ_S.c: Likewise.
18124         * tests/unictype/test-categ_Sc.c: Likewise.
18125         * tests/unictype/test-categ_Sk.c: Likewise.
18126         * tests/unictype/test-categ_Sm.c: Likewise.
18127         * tests/unictype/test-categ_So.c: Likewise.
18128         * tests/unictype/test-ctype_alnum.c: Likewise.
18129         * tests/unictype/test-ctype_alpha.c: Likewise.
18130         * tests/unictype/test-ctype_graph.c: Likewise.
18131         * tests/unictype/test-ctype_lower.c: Likewise.
18132         * tests/unictype/test-ctype_print.c: Likewise.
18133         * tests/unictype/test-ctype_punct.c: Likewise.
18134         * tests/unictype/test-ctype_upper.c: Likewise.
18135         * tests/unictype/test-decdigit.h: Likewise.
18136         * tests/unictype/test-digit.h: Likewise.
18137         * tests/unictype/test-numeric.h: Likewise.
18138         * tests/unictype/test-pr_alphabetic.c: Likewise.
18139         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18140         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
18141         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
18142         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18143         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18144         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18145         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18146         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18147         * tests/unictype/test-pr_case_ignorable.c: Likewise.
18148         * tests/unictype/test-pr_cased.c: Likewise.
18149         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
18150         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
18151         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
18152         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
18153         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
18154         * tests/unictype/test-pr_combining.c: Likewise.
18155         * tests/unictype/test-pr_composite.c: Likewise.
18156         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18157         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18158         * tests/unictype/test-pr_deprecated.c: Likewise.
18159         * tests/unictype/test-pr_format_control.c: Likewise.
18160         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18161         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18162         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18163         * tests/unictype/test-pr_id_continue.c: Likewise.
18164         * tests/unictype/test-pr_id_start.c: Likewise.
18165         * tests/unictype/test-pr_ideographic.c: Likewise.
18166         * tests/unictype/test-pr_lowercase.c: Likewise.
18167         * tests/unictype/test-pr_math.c: Likewise.
18168         * tests/unictype/test-pr_numeric.c: Likewise.
18169         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18170         * tests/unictype/test-pr_other_id_continue.c: Likewise.
18171         * tests/unictype/test-pr_other_math.c: Likewise.
18172         * tests/unictype/test-pr_punctuation.c: Likewise.
18173         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18174         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18175         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18176         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18177         * tests/unictype/test-pr_uppercase.c: Likewise.
18178         * tests/unictype/test-pr_xid_continue.c: Likewise.
18179         * tests/unictype/test-pr_xid_start.c: Likewise.
18180         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18181         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18182         changes.
18183         * lib/unictype/categ_Cc.h: Likewise.
18184         * lib/unictype/categ_Cf.h: Likewise.
18185         * lib/unictype/categ_Co.h: Likewise.
18186         * lib/unictype/categ_Cs.h: Likewise.
18187         * lib/unictype/categ_Lt.h: Likewise.
18188         * lib/unictype/categ_Nl.h: Likewise.
18189         * lib/unictype/categ_Pc.h: Likewise.
18190         * lib/unictype/categ_Pd.h: Likewise.
18191         * lib/unictype/categ_Pe.h: Likewise.
18192         * lib/unictype/categ_Pf.h: Likewise.
18193         * lib/unictype/categ_Pi.h: Likewise.
18194         * lib/unictype/categ_Ps.h: Likewise.
18195         * lib/unictype/categ_Z.h: Likewise.
18196         * lib/unictype/categ_Zl.h: Likewise.
18197         * lib/unictype/categ_Zp.h: Likewise.
18198         * lib/unictype/categ_Zs.h: Likewise.
18199         * lib/unictype/ctype_blank.h: Likewise.
18200         * lib/unictype/ctype_cntrl.h: Likewise.
18201         * lib/unictype/ctype_digit.h: Likewise.
18202         * lib/unictype/ctype_space.h: Likewise.
18203         * lib/unictype/ctype_xdigit.h: Likewise.
18204         * lib/unictype/mirror.h: Likewise.
18205         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18206         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18207         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18208         * lib/unictype/pr_bidi_control.h: Likewise.
18209         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18210         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18211         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18212         * lib/unictype/pr_bidi_pdf.h: Likewise.
18213         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18214         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18215         * lib/unictype/pr_dash.h: Likewise.
18216         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18217         * lib/unictype/pr_diacritic.h: Likewise.
18218         * lib/unictype/pr_extender.h: Likewise.
18219         * lib/unictype/pr_hex_digit.h: Likewise.
18220         * lib/unictype/pr_hyphen.h: Likewise.
18221         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18222         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18223         * lib/unictype/pr_ignorable_control.h: Likewise.
18224         * lib/unictype/pr_iso_control.h: Likewise.
18225         * lib/unictype/pr_join_control.h: Likewise.
18226         * lib/unictype/pr_left_of_pair.h: Likewise.
18227         * lib/unictype/pr_line_separator.h: Likewise.
18228         * lib/unictype/pr_logical_order_exception.h: Likewise.
18229         * lib/unictype/pr_non_break.h: Likewise.
18230         * lib/unictype/pr_not_a_character.h: Likewise.
18231         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18232         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18233         * lib/unictype/pr_other_id_start.h: Likewise.
18234         * lib/unictype/pr_other_lowercase.h: Likewise.
18235         * lib/unictype/pr_other_uppercase.h: Likewise.
18236         * lib/unictype/pr_paired_punctuation.h: Likewise.
18237         * lib/unictype/pr_paragraph_separator.h: Likewise.
18238         * lib/unictype/pr_pattern_syntax.h: Likewise.
18239         * lib/unictype/pr_pattern_white_space.h: Likewise.
18240         * lib/unictype/pr_private_use.h: Likewise.
18241         * lib/unictype/pr_quotation_mark.h: Likewise.
18242         * lib/unictype/pr_radical.h: Likewise.
18243         * lib/unictype/pr_soft_dotted.h: Likewise.
18244         * lib/unictype/pr_space.h: Likewise.
18245         * lib/unictype/pr_titlecase.h: Likewise.
18246         * lib/unictype/pr_variation_selector.h: Likewise.
18247         * lib/unictype/pr_white_space.h: Likewise.
18248         * lib/unictype/pr_zero_width.h: Likewise.
18249         * lib/unictype/sy_c_ident.h: Likewise.
18250         * lib/unictype/sy_c_whitespace.h: Likewise.
18251         * lib/unictype/sy_java_whitespace.h: Likewise.
18252         * lib/uninorm/composition-table.gperf: Likewise.
18253         * lib/uninorm/decomposition-table1.h: Likewise.
18254         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
18255         LB8.
18256         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18257         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18258         * modules/unictype/*: Bump version number of expected libunistring
18259         version.
18260
18261 2011-01-09  Bruno Haible  <bruno@clisp.org>
18262
18263         Update to Unicode 5.2.0.
18264         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
18265         trailing whitespace removed.
18266
18267 2011-01-09  Bruno Haible  <bruno@clisp.org>
18268
18269         New Unicode character properties, from Unicode 5.2.0.
18270         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
18271         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
18272         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
18273         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
18274         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
18275         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
18276         uc_is_property_cased, uc_is_property_case_ignorable,
18277         uc_is_property_changes_when_lowercased,
18278         uc_is_property_changes_when_uppercased,
18279         uc_is_property_changes_when_titlecased,
18280         uc_is_property_changes_when_casefolded,
18281         uc_is_property_changes_when_casemapped): New declarations.
18282         * lib/unictype/pr_byname.gperf: Add the new properties.
18283         * modules/unictype/property-byname (Depends-on): Depend on the new
18284         properties modules.
18285         * modules/unictype/property-all (Depends-on): Likewise.
18286         * MODULES.html.sh (Unicode string functions): Add
18287         unictype/property-case-ignorable, unictype/property-cased,
18288         unictype/property-changes-when-casefolded,
18289         unictype/property-changes-when-casemapped,
18290         unictype/property-changes-when-lowercased,
18291         unictype/property-changes-when-titlecased,
18292         unictype/property-changes-when-uppercased.
18293
18294         New module 'unictype/property-changes-when-casemapped'.
18295         * modules/unictype/property-changes-when-casemapped: New file.
18296         * lib/unictype/pr_changes_when_casemapped.c: New file.
18297         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
18298         generated by gen-uni-tables.
18299         * modules/unictype/property-changes-when-casemapped-tests: New file.
18300         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
18301         automatically generated by gen-uni-tables.
18302
18303         New module 'unictype/property-changes-when-casefolded'.
18304         * modules/unictype/property-changes-when-casefolded: New file.
18305         * lib/unictype/pr_changes_when_casefolded.c: New file.
18306         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
18307         generated by gen-uni-tables.
18308         * modules/unictype/property-changes-when-casefolded-tests: New file.
18309         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
18310         automatically generated by gen-uni-tables.
18311
18312         New module 'unictype/property-changes-when-titlecased'.
18313         * modules/unictype/property-changes-when-titlecased: New file.
18314         * lib/unictype/pr_changes_when_titlecased.c: New file.
18315         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
18316         generated by gen-uni-tables.
18317         * modules/unictype/property-changes-when-titlecased-tests: New file.
18318         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
18319         automatically generated by gen-uni-tables.
18320
18321         New module 'unictype/property-changes-when-uppercased'.
18322         * modules/unictype/property-changes-when-uppercased: New file.
18323         * lib/unictype/pr_changes_when_uppercased.c: New file.
18324         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
18325         generated by gen-uni-tables.
18326         * modules/unictype/property-changes-when-uppercased-tests: New file.
18327         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
18328         automatically generated by gen-uni-tables.
18329
18330         New module 'unictype/property-changes-when-lowercased'.
18331         * modules/unictype/property-changes-when-lowercased: New file.
18332         * lib/unictype/pr_changes_when_lowercased.c: New file.
18333         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
18334         generated by gen-uni-tables.
18335         * modules/unictype/property-changes-when-lowercased-tests: New file.
18336         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
18337         automatically generated by gen-uni-tables.
18338
18339         New module 'unictype/property-case-ignorable'.
18340         * modules/unictype/property-case-ignorable: New file.
18341         * lib/unictype/pr_case_ignorable.c: New file.
18342         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
18343         by gen-uni-tables.
18344         * modules/unictype/property-case-ignorable-tests: New file.
18345         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
18346         generated by gen-uni-tables.
18347
18348         New module 'unictype/property-cased'.
18349         * modules/unictype/property-cased: New file.
18350         * lib/unictype/pr_cased.c: New file.
18351         * lib/unictype/pr_cased.h: New file, automatically generated by
18352         gen-uni-tables.
18353         * modules/unictype/property-cased-tests: New file.
18354         * tests/unictype/test-pr_cased.c: New file, automatically generated by
18355         gen-uni-tables.
18356
18357 2011-01-09  Bruno Haible  <bruno@clisp.org>
18358
18359         Update to Unicode 5.2.0.
18360         * lib/gen-uni-tables.c (output_predicate, output_category,
18361         output_combclass, output_bidi_category, output_decimal_digit_test,
18362         output_decimal_digit, output_digit_test, output_digit,
18363         output_numeric_test, output_numeric, output_mirror, output_scripts,
18364         output_scripts_byname, output_blocks, output_ident_category): Fix
18365         comment header.
18366         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
18367         get_wbp.
18368         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
18369         items.
18370         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
18371         Changes_When_Lowercased, Changes_When_Uppercased,
18372         Changes_When_Titlecased, Changes_When_Casefolded,
18373         Changes_When_Casemapped.
18374         (is_property_alphabetic, is_property_default_ignorable_code_point):
18375         Update for Unicode 5.2.0.
18376         (is_property_cased, is_property_case_ignorable,
18377         is_property_changes_when_lowercased,
18378         is_property_changes_when_uppercased,
18379         is_property_changes_when_titlecased,
18380         is_property_changes_when_casefolded,
18381         is_property_changes_when_casemapped): New functions.
18382         (output_properties): Output also the properties cased, case_ignorable,
18383         changes_when_lowercased, changes_when_uppercased,
18384         changes_when_titlecased, changes_when_casefolded,
18385         changes_when_casemapped.
18386         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
18387         Unicode TR#11 revision 17 -> 19.
18388         (LBP_CP): New enumeration value.
18389         (LBP_*): Adjust values accordingly.
18390         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18391         TR#14 revision 22 -> 24.
18392         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
18393         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
18394         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
18395         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
18396         is_WBP_MIDLETTER.
18397         (output_composition_tables): Allow for 24 bits instead of 16 bits in
18398         the code1 and code2 of each composition rule.
18399         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
18400         * lib/unicase/ignorable.h: Likewise.
18401         * lib/unicase/tocasefold.h: Likewise.
18402         * lib/unicase/tolower.h: Likewise.
18403         * lib/unicase/totitle.h: Likewise.
18404         * lib/unicase/toupper.h: Likewise.
18405         * lib/unictype/bidi_of.h: Likewise.
18406         * lib/unictype/blocks.h: Likewise.
18407         * lib/unictype/categ_C.h: Likewise.
18408         * lib/unictype/categ_Cf.h: Likewise.
18409         * lib/unictype/categ_Cn.h: Likewise.
18410         * lib/unictype/categ_L.h: Likewise.
18411         * lib/unictype/categ_Ll.h: Likewise.
18412         * lib/unictype/categ_Lm.h: Likewise.
18413         * lib/unictype/categ_Lo.h: Likewise.
18414         * lib/unictype/categ_Lu.h: Likewise.
18415         * lib/unictype/categ_M.h: Likewise.
18416         * lib/unictype/categ_Mc.h: Likewise.
18417         * lib/unictype/categ_Mn.h: Likewise.
18418         * lib/unictype/categ_N.h: Likewise.
18419         * lib/unictype/categ_Nd.h: Likewise.
18420         * lib/unictype/categ_Nl.h: Likewise.
18421         * lib/unictype/categ_No.h: Likewise.
18422         * lib/unictype/categ_P.h: Likewise.
18423         * lib/unictype/categ_Pd.h: Likewise.
18424         * lib/unictype/categ_Po.h: Likewise.
18425         * lib/unictype/categ_S.h: Likewise.
18426         * lib/unictype/categ_Sc.h: Likewise.
18427         * lib/unictype/categ_So.h: Likewise.
18428         * lib/unictype/categ_of.h: Likewise.
18429         * lib/unictype/combining.h: Likewise.
18430         * lib/unictype/ctype_alnum.h: Likewise.
18431         * lib/unictype/ctype_alpha.h: Likewise.
18432         * lib/unictype/ctype_graph.h: Likewise.
18433         * lib/unictype/ctype_lower.h: Likewise.
18434         * lib/unictype/ctype_print.h: Likewise.
18435         * lib/unictype/ctype_punct.h: Likewise.
18436         * lib/unictype/ctype_upper.h: Likewise.
18437         * lib/unictype/decdigit.h: Likewise.
18438         * lib/unictype/digit.h: Likewise.
18439         * lib/unictype/numeric.h: Likewise.
18440         * lib/unictype/pr_alphabetic.h: Likewise.
18441         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
18442         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
18443         * lib/unictype/pr_bidi_european_digit.h: Likewise.
18444         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
18445         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
18446         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
18447         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
18448         * lib/unictype/pr_combining.h: Likewise.
18449         * lib/unictype/pr_composite.h: Likewise.
18450         * lib/unictype/pr_currency_symbol.h: Likewise.
18451         * lib/unictype/pr_dash.h: Likewise.
18452         * lib/unictype/pr_decimal_digit.h: Likewise.
18453         * lib/unictype/pr_deprecated.h: Likewise.
18454         * lib/unictype/pr_diacritic.h: Likewise.
18455         * lib/unictype/pr_extender.h: Likewise.
18456         * lib/unictype/pr_grapheme_base.h: Likewise.
18457         * lib/unictype/pr_grapheme_extend.h: Likewise.
18458         * lib/unictype/pr_grapheme_link.h: Likewise.
18459         * lib/unictype/pr_id_continue.h: Likewise.
18460         * lib/unictype/pr_id_start.h: Likewise.
18461         * lib/unictype/pr_ideographic.h: Likewise.
18462         * lib/unictype/pr_ignorable_control.h: Likewise.
18463         * lib/unictype/pr_logical_order_exception.h: Likewise.
18464         * lib/unictype/pr_lowercase.h: Likewise.
18465         * lib/unictype/pr_numeric.h: Likewise.
18466         * lib/unictype/pr_other_alphabetic.h: Likewise.
18467         * lib/unictype/pr_punctuation.h: Likewise.
18468         * lib/unictype/pr_sentence_terminal.h: Likewise.
18469         * lib/unictype/pr_terminal_punctuation.h: Likewise.
18470         * lib/unictype/pr_unassigned_code_value.h: Likewise.
18471         * lib/unictype/pr_unified_ideograph.h: Likewise.
18472         * lib/unictype/pr_uppercase.h: Likewise.
18473         * lib/unictype/pr_xid_continue.h: Likewise.
18474         * lib/unictype/pr_xid_start.h: Likewise.
18475         * lib/unictype/pr_zero_width.h: Likewise.
18476         * lib/unictype/scripts.h: Likewise.
18477         * lib/unictype/scripts_byname.gperf: Likewise.
18478         * lib/unictype/sy_java_ident.h: Likewise.
18479         * lib/unigbrk/gbrkprop.h: Likewise.
18480         * lib/unilbrk/lbrkprop1.h: Likewise.
18481         * lib/unilbrk/lbrkprop2.h: Likewise.
18482         * lib/unilbrk/lbrktables.h: Likewise.
18483         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
18484         LBP_CP. Implement rule LB30.
18485         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
18486         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
18487         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
18488         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
18489         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
18490         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
18491         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
18492         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
18493         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
18494         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
18495         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
18496         bits instead of 16 bits in the code1 and code2 of each composition
18497         rule.
18498         (uc_composition): Update for Unicode 5.2.0.
18499         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
18500         * lib/uninorm/decomposition-table2.h: Likewise.
18501         * lib/uniwbrk/wbrkprop.h: Likewise.
18502         * tests/unicase/test-cased.c: Likewise.
18503         * tests/unicase/test-ignorable.c: Likewise.
18504         * tests/unicase/test-uc_tolower.c: Likewise.
18505         * tests/unicase/test-uc_totitle.c: Likewise.
18506         * tests/unicase/test-uc_toupper.c: Likewise.
18507         * tests/unictype/test-categ_C.c: Likewise.
18508         * tests/unictype/test-categ_Cf.c: Likewise.
18509         * tests/unictype/test-categ_Cn.c: Likewise.
18510         * tests/unictype/test-categ_L.c: Likewise.
18511         * tests/unictype/test-categ_Ll.c: Likewise.
18512         * tests/unictype/test-categ_Lm.c: Likewise.
18513         * tests/unictype/test-categ_Lo.c: Likewise.
18514         * tests/unictype/test-categ_Lu.c: Likewise.
18515         * tests/unictype/test-categ_M.c: Likewise.
18516         * tests/unictype/test-categ_Mc.c: Likewise.
18517         * tests/unictype/test-categ_Mn.c: Likewise.
18518         * tests/unictype/test-categ_N.c: Likewise.
18519         * tests/unictype/test-categ_Nd.c: Likewise.
18520         * tests/unictype/test-categ_Nl.c: Likewise.
18521         * tests/unictype/test-categ_No.c: Likewise.
18522         * tests/unictype/test-categ_P.c: Likewise.
18523         * tests/unictype/test-categ_Pd.c: Likewise.
18524         * tests/unictype/test-categ_Po.c: Likewise.
18525         * tests/unictype/test-categ_S.c: Likewise.
18526         * tests/unictype/test-categ_Sc.c: Likewise.
18527         * tests/unictype/test-categ_So.c: Likewise.
18528         * tests/unictype/test-ctype_alnum.c: Likewise.
18529         * tests/unictype/test-ctype_alpha.c: Likewise.
18530         * tests/unictype/test-ctype_graph.c: Likewise.
18531         * tests/unictype/test-ctype_lower.c: Likewise.
18532         * tests/unictype/test-ctype_print.c: Likewise.
18533         * tests/unictype/test-ctype_punct.c: Likewise.
18534         * tests/unictype/test-ctype_upper.c: Likewise.
18535         * tests/unictype/test-decdigit.h: Likewise.
18536         * tests/unictype/test-digit.h: Likewise.
18537         * tests/unictype/test-numeric.h: Likewise.
18538         * tests/unictype/test-pr_alphabetic.c: Likewise.
18539         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
18540         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
18541         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
18542         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
18543         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
18544         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
18545         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
18546         * tests/unictype/test-pr_combining.c: Likewise.
18547         * tests/unictype/test-pr_composite.c: Likewise.
18548         * tests/unictype/test-pr_currency_symbol.c: Likewise.
18549         * tests/unictype/test-pr_dash.c: Likewise.
18550         * tests/unictype/test-pr_decimal_digit.c: Likewise.
18551         * tests/unictype/test-pr_deprecated.c: Likewise.
18552         * tests/unictype/test-pr_diacritic.c: Likewise.
18553         * tests/unictype/test-pr_extender.c: Likewise.
18554         * tests/unictype/test-pr_grapheme_base.c: Likewise.
18555         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
18556         * tests/unictype/test-pr_grapheme_link.c: Likewise.
18557         * tests/unictype/test-pr_id_continue.c: Likewise.
18558         * tests/unictype/test-pr_id_start.c: Likewise.
18559         * tests/unictype/test-pr_ideographic.c: Likewise.
18560         * tests/unictype/test-pr_ignorable_control.c: Likewise.
18561         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
18562         * tests/unictype/test-pr_lowercase.c: Likewise.
18563         * tests/unictype/test-pr_numeric.c: Likewise.
18564         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
18565         * tests/unictype/test-pr_punctuation.c: Likewise.
18566         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
18567         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
18568         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
18569         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
18570         * tests/unictype/test-pr_uppercase.c: Likewise.
18571         * tests/unictype/test-pr_xid_continue.c: Likewise.
18572         * tests/unictype/test-pr_xid_start.c: Likewise.
18573         * tests/unictype/test-pr_zero_width.c: Likewise.
18574         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
18575         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
18576         changed behaviour: line breaking is now disallowed between a letter
18577         or '=' and '('.
18578         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
18579         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
18580         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
18581         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
18582         * tests/uniwidth/test-uc_width2.sh: Same updates as in
18583         lib/uniwidth/width.c.
18584         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
18585         without comments, but with the original copyright notice.
18586         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
18587         changes.
18588         * lib/unictype/categ_Cc.h: Likewise.
18589         * lib/unictype/categ_Co.h: Likewise.
18590         * lib/unictype/categ_Cs.h: Likewise.
18591         * lib/unictype/categ_Lt.h: Likewise.
18592         * lib/unictype/categ_Me.h: Likewise.
18593         * lib/unictype/categ_Pc.h: Likewise.
18594         * lib/unictype/categ_Pe.h: Likewise.
18595         * lib/unictype/categ_Pf.h: Likewise.
18596         * lib/unictype/categ_Pi.h: Likewise.
18597         * lib/unictype/categ_Ps.h: Likewise.
18598         * lib/unictype/categ_Sk.h: Likewise.
18599         * lib/unictype/categ_Sm.h: Likewise.
18600         * lib/unictype/categ_Z.h: Likewise.
18601         * lib/unictype/categ_Zl.h: Likewise.
18602         * lib/unictype/categ_Zp.h: Likewise.
18603         * lib/unictype/categ_Zs.h: Likewise.
18604         * lib/unictype/ctype_blank.h: Likewise.
18605         * lib/unictype/ctype_cntrl.h: Likewise.
18606         * lib/unictype/ctype_digit.h: Likewise.
18607         * lib/unictype/ctype_space.h: Likewise.
18608         * lib/unictype/ctype_xdigit.h: Likewise.
18609         * lib/unictype/mirror.h: Likewise.
18610         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
18611         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
18612         * lib/unictype/pr_bidi_block_separator.h: Likewise.
18613         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
18614         * lib/unictype/pr_bidi_common_separator.h: Likewise.
18615         * lib/unictype/pr_bidi_control.h: Likewise.
18616         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
18617         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
18618         * lib/unictype/pr_bidi_pdf.h: Likewise.
18619         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
18620         * lib/unictype/pr_bidi_whitespace.h: Likewise.
18621         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
18622         * lib/unictype/pr_format_control.h: Likewise.
18623         * lib/unictype/pr_hex_digit.h: Likewise.
18624         * lib/unictype/pr_hyphen.h: Likewise.
18625         * lib/unictype/pr_ids_binary_operator.h: Likewise.
18626         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
18627         * lib/unictype/pr_iso_control.h: Likewise.
18628         * lib/unictype/pr_join_control.h: Likewise.
18629         * lib/unictype/pr_left_of_pair.h: Likewise.
18630         * lib/unictype/pr_line_separator.h: Likewise.
18631         * lib/unictype/pr_math.h: Likewise.
18632         * lib/unictype/pr_non_break.h: Likewise.
18633         * lib/unictype/pr_not_a_character.h: Likewise.
18634         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
18635         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
18636         * lib/unictype/pr_other_id_continue.h: Likewise.
18637         * lib/unictype/pr_other_id_start.h: Likewise.
18638         * lib/unictype/pr_other_lowercase.h: Likewise.
18639         * lib/unictype/pr_other_math.h: Likewise.
18640         * lib/unictype/pr_other_uppercase.h: Likewise.
18641         * lib/unictype/pr_paired_punctuation.h: Likewise.
18642         * lib/unictype/pr_paragraph_separator.h: Likewise.
18643         * lib/unictype/pr_pattern_syntax.h: Likewise.
18644         * lib/unictype/pr_pattern_white_space.h: Likewise.
18645         * lib/unictype/pr_private_use.h: Likewise.
18646         * lib/unictype/pr_quotation_mark.h: Likewise.
18647         * lib/unictype/pr_radical.h: Likewise.
18648         * lib/unictype/pr_soft_dotted.h: Likewise.
18649         * lib/unictype/pr_space.h: Likewise.
18650         * lib/unictype/pr_titlecase.h: Likewise.
18651         * lib/unictype/pr_variation_selector.h: Likewise.
18652         * lib/unictype/pr_white_space.h: Likewise.
18653         * lib/unictype/sy_c_ident.h: Likewise.
18654         * lib/unictype/sy_c_whitespace.h: Likewise.
18655         * lib/unictype/sy_java_whitespace.h: Likewise.
18656         * modules/uni*/*: Bump version number of expected libunistring version.
18657         Reported by Simon Josefsson.
18658
18659 2011-01-09  Karl Heuer  <kwzh@gnu.org>
18660
18661         useless-if-before-free: fix typo in --help and make the internal,
18662         automatic version date update process work once again.
18663         --help output contained a NUL character instead of the
18664         backslash-zero that was intended.  Also, the "must lie within
18665         the first 8 lines" line is on line 9, and hence not getting
18666         automatically updated.
18667         * build-aux/useless-if-before-free: Fix the former by adding a
18668         backslash, and the latter by condensing the three lines of what-it-does
18669         to a single line, leaving one line of slack for the future.
18670
18671 2011-01-09  Bruno Haible  <bruno@clisp.org>
18672
18673         uniwidth/width: Fix width of U+1D173..U+1D17A.
18674         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
18675         symbolic_width, output_width_property_test): New functions.
18676         (main): Invoke output_nonspacing_property, output_width_property_test.
18677         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
18678         U+1D173..U+1D17A.
18679         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
18680         1.
18681         * modules/uniwidth/*: Bump version number of expected libunistring
18682         version.
18683         * modules/unilbrk/*: Likewise.
18684
18685 2011-01-08  Bruno Haible  <bruno@clisp.org>
18686
18687         uninorm tests: Preserve copyright of Unicode data file.
18688         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
18689         Mention modifications.
18690
18691 2011-01-08  Bruno Haible  <bruno@clisp.org>
18692
18693         gen-uni-tables: Prepare for Unicode 5.2.0.
18694         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
18695         (debug_output_lbp, output_lbp): Update.
18696
18697 2011-01-08  Bruno Haible  <bruno@clisp.org>
18698
18699         unilbrk: Clarify gen-uni-tables.c code.
18700         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
18701         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
18702         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
18703
18704 2011-01-07  Bruno Haible  <bruno@clisp.org>
18705
18706         strtod: Restore errno when successfully parsing Infinity or NaN.
18707         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
18708         restore the original errno.
18709
18710 2011-01-07  Bruno Haible  <bruno@clisp.org>
18711
18712         remove test: Avoid failure on HP-UX 11.
18713         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
18714
18715 2011-01-07  Bruno Haible  <bruno@clisp.org>
18716
18717         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
18718         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
18719         error code.
18720
18721 2011-01-07  Pádraig Brady <P@draigBrady.com>
18722
18723         ignore-value: fixup comments, and add Eric Blake
18724         as an author since he rewrote the macros.
18725         * lib/ignore-value.h (ignore_value):  State that
18726         we now support aggregates.  Also specify exactly
18727         when the GCC warn_unused_result feature was added.
18728
18729 2011-01-06  Eric Blake  <eblake@redhat.com>
18730
18731         ignore-value: support aggregate types
18732         * lib/ignore-value.h (ignore_value): Provide separate gcc
18733         definition.
18734         * modules/ignore-value-tests: New test module.
18735         * tests/test-ignore-value.c: New test.
18736
18737         maint.mk: improve sc_prohibit_strcmp regex
18738         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
18739         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
18740         definition of STRNEQ.
18741
18742         signal: work around Haiku issue with SIGBUS
18743         * lib/siglist.h: Add comment.
18744         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
18745         strsignal's favoring of SIGSEGV.
18746         * tests/test-signal.c (main): Avoid test failure.
18747         * doc/posix-headers/signal.texi (signal.h): Document the issue.
18748         Reported by Scott McCreary.
18749
18750         maint.mk: add pre-release check to ensure submodule commits are public
18751         * top/maint.mk (public-submodule-commit): New rule.
18752         (submodule-checks): New variable.
18753         (alpha beta stable): Depend on the variable.
18754
18755 2011-01-05  Pádraig Brady <P@draigBrady.com>
18756         and Jim Meyering  <meyering@redhat.com>
18757
18758         ignore-value: make ignore_value more generic; deprecate ignore_ptr
18759         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
18760         (ATTRIBUTE_DEPRECATED): Define.
18761         (_ignore_case): New function.
18762         (ignore_value): New macro, to replace the old function.
18763         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
18764         * modules/ignore-value (Depends-on): Add stdint.
18765
18766 2011-01-04  Eric Blake  <eblake@redhat.com>
18767
18768         doc: regenerate INSTALL
18769         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
18770         @firstparagraphindent support, now that autoconf dropped it.
18771         (INSTALL_PRELUDE): Reinstate old macro.
18772         * doc/install.texi: Resync from autoconf.
18773         * doc/INSTALL: Reflect recent autoconf update.
18774         * doc/INSTALL.ISO: Likewise.
18775         * doc/INSTALL.UTF-8: Likewise.
18776         Reported by Karl Berry.
18777
18778 2011-01-04  Bruce Korb  <address@hidden>
18779
18780         git-version-gen: avoid a sub-shell
18781         * build-aux/git-version-gen: Redirect stderr in `...` via
18782         "exec 2>...", rather than via an added sub-shell.
18783
18784 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
18785
18786         git-version-gen: use (...) rather than sh -c '...'
18787         * build-aux/git-version-gen: Rather than hard-coding a shell's name
18788         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
18789
18790 2011-01-03  Jim Meyering  <meyering@redhat.com>
18791
18792         git-version-gen: convert leading TABs to spaces
18793         * build-aux/git-version-gen: Expand leading TABs.
18794
18795         git-version-gen: handle failed "git rev-list"
18796         * build-aux/git-version-gen: Rather than leaking a "fatal" error
18797         from git and proceeding as if it had succeeded but printed no SHA1
18798         checksums, suppress the diagnostic and handle the failure.
18799         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
18800
18801         git-version-gen: include command name in one more diagnostic
18802         * build-aux/git-version-gen: When the required .tarball-version file
18803         was missing or unreadable, you might see the diagnostic from "cat",
18804         but no trace of the name of the invoking script.  Now, you still see
18805         the diagnostic from cat, but also get one from "git-version-gen: ".
18806         Inspired by a patch from Bruce Korb.
18807
18808         update-copyright: adjust test to match changed code
18809         * tests/test-update-copyright.sh: Change test's expected output
18810         to match new actual output.
18811
18812 2011-01-02  Bruno Haible  <bruno@clisp.org>
18813
18814         getlogin_r: Avoid test failure on HP-UX 11.
18815         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
18816         ERANGE when the second argument is zero.
18817         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
18818         portability problem.
18819
18820 2011-01-02  Bruce Korb  <bkorb@gnu.org>
18821
18822         * build-aux/update-copyright: doc Simon's changes
18823
18824 2011-01-02  Simon Josefsson  <simon@josefsson.org>
18825
18826         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
18827         environment variable.
18828
18829 2011-01-02  Bruno Haible  <bruno@clisp.org>
18830
18831         unigbrk: Avoid gcc warnings.
18832         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
18833         unused variable.
18834         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
18835         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
18836         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
18837         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
18838         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
18839         Change type of first argument to 'const char *'.
18840         (main): Remove unused variable.
18841         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
18842         type of first argument to 'const char *'.
18843         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
18844         Likewise.
18845         (main): Change type of variable 's'.
18846         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
18847         to 'int'.
18848
18849 2011-01-02  Bruno Haible  <bruno@clisp.org>
18850
18851         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
18852         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
18853         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
18854         bug.
18855         * lib/pwrite.c: Undo 2010-12-31 patch.
18856         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
18857
18858 2011-01-02  Bruno Haible  <bruno@clisp.org>
18859
18860         pread: Fix test whether it works.
18861         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
18862
18863 2011-01-02  Bruno Haible  <bruno@clisp.org>
18864
18865         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
18866         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
18867         ends in "6". Don't require a specific month name. Try also the locale
18868         names found on HP-UX 11 and Solaris 7.
18869
18870 2011-01-02  Bruno Haible  <bruno@clisp.org>
18871
18872         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
18873         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
18874         C linkage.
18875         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
18876
18877 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18878
18879         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
18880         for consistency, since the "cluster" term is not used elsewhere.
18881         * lib/unigbrk.in.h: Update name.
18882         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
18883         * lib/unigbrk/u16-grapheme-next.c: Update name.
18884         * lib/unigbrk/u16-grapheme-prev.c: Update name.
18885         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
18886         * lib/unigbrk/u32-grapheme-next.c: Update name.
18887         * lib/unigbrk/u32-grapheme-prev.c: Update name.
18888         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
18889         * lib/unigbrk/u8-grapheme-next.c: Update name.
18890         * lib/unigbrk/u8-grapheme-prev.c: Update name.
18891         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
18892         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
18893         Suggested by Bruno Haible.
18894
18895 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18896
18897         Remove module 'u8-grapheme-len' as too redundant with
18898         'u8-grapheme-next'.
18899         * modules/unigbrk/u8-grapheme-len: Delete file.
18900         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
18901         * lib/unigbrk.in.h: Remove prototype for deleted function.
18902         * lib/unigbrk/u8-grapheme-len.c: Delete file.
18903         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
18904
18905         Remove module 'u16-grapheme-len' as too redundant with
18906         'u16-grapheme-next'.
18907         * modules/unigbrk/u16-grapheme-len: Delete file.
18908         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
18909         * lib/unigbrk.in.h: Remove prototype for deleted function.
18910         * lib/unigbrk/u16-grapheme-len.c: Delete file.
18911         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
18912
18913         Remove module 'u32-grapheme-len' as too redundant with
18914         'u32-grapheme-next'.
18915         * modules/unigbrk/u32-grapheme-len: Delete file.
18916         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
18917         * lib/unigbrk.in.h: Remove prototype for deleted function.
18918         * lib/unigbrk/u32-grapheme-len.c: Delete file.
18919         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
18920
18921         Suggested by Bruno Haible.
18922
18923 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
18924
18925         * unigbrk.in.h: Fix typo: "ben" => "been".
18926         Reported by Bruno Haible.
18927
18928 2011-01-01  Jim Meyering  <meyering@redhat.com>
18929
18930         maint: update almost all copyright ranges to include 2011
18931         Run the new "make update-copyright" rule.
18932
18933 2011-01-01  Jim Meyering  <meyering@redhat.com>
18934
18935         maint: update-copyright: exempt doc/INSTALL*
18936         * Makefile (update-copyright): Also exclude doc/INSTALL*,
18937         since they are generated.  Suggested by Bruno Haible.
18938
18939 2011-01-01  Jim Meyering  <meyering@redhat.com>
18940
18941         maint: refine the update-copyright rule
18942         * Makefile (update-copyright): Also exclude any file that includes
18943         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
18944         code that merely generates the comment.
18945
18946 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
18947
18948         New module 'u8-grapheme-len'.
18949         * modules/unigbrk/u8-grapheme-len: New file.
18950         * modules/unigbrk/u8-grapheme-len-tests: New file.
18951         * lib/unigbrk.in.h: Add prototype for new function.
18952         * lib/unigbrk/u8-grapheme-len.c: New file.
18953         * tests/unigbrk/test-u8-grapheme-len.c: New file.
18954
18955         New module 'u16-grapheme-len'.
18956         * modules/unigbrk/u16-grapheme-len: New file.
18957         * modules/unigbrk/u16-grapheme-len-tests: New file.
18958         * lib/unigbrk.in.h: Add prototype for new function.
18959         * lib/unigbrk/u16-grapheme-len.c: New file.
18960         * tests/unigbrk/test-u16-grapheme-len.c: New file.
18961
18962         New module 'u32-grapheme-len'.
18963         * modules/unigbrk/u32-grapheme-len: New file.
18964         * modules/unigbrk/u32-grapheme-len-tests: New file.
18965         * lib/unigbrk.in.h: Add prototype for new function.
18966         * lib/unigbrk/u32-grapheme-len.c: New file.
18967         * tests/unigbrk/test-u32-grapheme-len.c: New file.
18968
18969         New module 'u8-grapheme-next'.
18970         * modules/unigbrk/u8-grapheme-next: New file.
18971         * modules/unigbrk/u8-grapheme-next-tests: New file.
18972         * lib/unigbrk.in.h: Add prototype for new function.
18973         * lib/unigbrk/u8-grapheme-next.c: New file.
18974         * tests/unigbrk/test-u8-grapheme-next.c: New file.
18975
18976         New module 'u16-grapheme-next'.
18977         * modules/unigbrk/u16-grapheme-next: New file.
18978         * modules/unigbrk/u16-grapheme-next-tests: New file.
18979         * lib/unigbrk.in.h: Add prototype for new function.
18980         * lib/unigbrk/u16-grapheme-next.c: New file.
18981         * tests/unigbrk/test-u16-grapheme-next.c: New file.
18982
18983         New module 'u32-grapheme-next'.
18984         * modules/unigbrk/u32-grapheme-next: New file.
18985         * modules/unigbrk/u32-grapheme-next-tests: New file.
18986         * lib/unigbrk.in.h: Add prototype for new function.
18987         * lib/unigbrk/u32-grapheme-next.c: New file.
18988         * tests/unigbrk/test-u32-grapheme-next.c: New file.
18989
18990         New module 'u8-grapheme-prev'.
18991         * modules/unigbrk/u8-grapheme-prev: New file.
18992         * modules/unigbrk/u8-grapheme-prev-tests: New file.
18993         * lib/unigbrk.in.h: Add prototype for new function.
18994         * lib/unigbrk/u8-grapheme-prev.c: New file.
18995         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
18996
18997         New module 'u16-grapheme-prev'.
18998         * modules/unigbrk/u16-grapheme-prev: New file.
18999         * modules/unigbrk/u16-grapheme-prev-tests: New file.
19000         * lib/unigbrk.in.h: Add prototype for new function.
19001         * lib/unigbrk/u16-grapheme-prev.c: New file.
19002         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
19003
19004         New module 'u32-grapheme-prev'.
19005         * modules/unigbrk/u32-grapheme-prev: New file.
19006         * modules/unigbrk/u32-grapheme-prev-tests: New file.
19007         * lib/unigbrk.in.h: Add prototype for new function.
19008         * lib/unigbrk/u32-grapheme-prev.c: New file.
19009         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
19010
19011         New module 'u8-grapheme-breaks'.
19012         * modules/unigbrk/u8-grapheme-breaks: New file.
19013         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
19014         * lib/unigbrk.in.h: Add prototype for new function.
19015         * lib/unigbrk/u8-grapheme-breaks.c: New file.
19016         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
19017
19018         New module 'u16-grapheme-breaks'.
19019         * modules/unigbrk/u16-grapheme-breaks: New file.
19020         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
19021         * lib/unigbrk.in.h: Add prototype for new function.
19022         * lib/unigbrk/u16-grapheme-breaks.c: New file.
19023         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
19024
19025         New module 'u32-grapheme-breaks'.
19026         * modules/unigbrk/u32-grapheme-breaks: New file.
19027         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
19028         * lib/unigbrk.in.h: Add prototype for new function.
19029         * lib/unigbrk/u32-grapheme-breaks.c: New file.
19030         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
19031
19032         New module 'ulc-grapheme-breaks'.
19033         * modules/unigbrk/ulc-grapheme-breaks: New file.
19034         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
19035         * m4/locale-ar.m4: New file.
19036         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
19037         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
19038         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
19039
19040 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
19041
19042         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
19043         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
19044         modified how this file was generated before I initially submitted
19045         the module, but failed to regenerate it.  This meant that several
19046         of the level2 entries were wrong.
19047         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
19048         Remove the division-by-2 that is folded into the table now that
19049         gbrkprop.h has been regenerated properly.  Now -1 entries are
19050         handled correctly.
19051
19052         New module 'unigbrk/uc-gbrk-prop-tests'.
19053         * modules/unigbrk/uc-gbrk-prop-tests: New file.
19054         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
19055         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
19056         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
19057
19058 2011-01-01  Bruno Haible  <bruno@clisp.org>
19059
19060         Avoid use of hexadecimal escapes.
19061         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
19062         instead of hexadecimal escapes.
19063
19064 2011-01-01  Jim Meyering  <meyering@redhat.com>
19065
19066         maint: new rule to update copyright year ranges
19067         * Makefile (update-copyright): New rule.
19068
19069         maint: indent with TABs in Makefile
19070         * Makefile: Expand leading sequences of spaces to TABs
19071
19072         version-etc: update the copyright year it reports
19073         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
19074
19075 2010-12-31  Bruno Haible  <bruno@clisp.org>
19076
19077         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
19078         * lib/isfinite.c (zerof, zerod, zerol): New variables.
19079         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
19080         zero.
19081
19082 2010-12-31  Bruno Haible  <bruno@clisp.org>
19083
19084         pwrite: Work around HP-UX 11.11 bug.
19085         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
19086         works and set REPLACE_PWRITE if not.
19087         * lib/pwrite.c (pwrite): Add an implementation that uses the system
19088         function.
19089         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
19090
19091 2010-12-31  Bruno Haible  <bruno@clisp.org>
19092
19093         pread: Work around HP-UX 11 bugs.
19094         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
19095         and set REPLACE_PREAD if not.
19096         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
19097
19098 2010-12-31  Eric Blake  <eblake@redhat.com>
19099
19100         nl_langinfo: fix YESEXPR on Irix 6.5
19101         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
19102         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
19103         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
19104         it.
19105
19106 2010-12-31  Bruno Haible  <bruno@clisp.org>
19107
19108         iconv: Document HP-UX 11 bug.
19109         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
19110
19111 2010-12-31  Bruno Haible  <bruno@clisp.org>
19112
19113         ldexpl: Fix link error on HP-UX 11.
19114         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
19115         LDEXPL_LIBM, using $ISNANL_LIBM.
19116
19117 2010-12-31  Eric Blake  <eblake@redhat.com>
19118
19119         ftello: avoid compilation failure with SunStudio c89
19120         * lib/ftello.c (ftello): Use lseek, not llseek.
19121
19122         tests: avoid failing coreutils tests on cygwin
19123         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
19124         (create_exe_shims_): Return 0 when skipping.
19125
19126 2010-12-31  Bruno Haible  <bruno@clisp.org>
19127
19128         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
19129         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
19130
19131 2010-12-31  Bruno Haible  <bruno@clisp.org>
19132
19133         waitpid: Fix link error in C++ mode.
19134         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
19135
19136 2010-12-31  Bruno Haible  <bruno@clisp.org>
19137
19138         isnan: Use GCC built-ins when possible.
19139         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
19140         __builtin_isnan.
19141         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
19142         (isnan): Define using GCC built-ins for GCC >= 4.0.
19143
19144 2010-12-31  Bruno Haible  <bruno@clisp.org>
19145
19146         isnand: Fix mistake.
19147         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
19148         __builtin_isnand.
19149
19150 2010-12-31  Bruno Haible  <bruno@clisp.org>
19151
19152         open: Avoid C++ error on HP-UX 11.
19153         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
19154
19155 2010-12-31  Bruno Haible  <bruno@clisp.org>
19156
19157         time_r: Add missing declarations on HP-UX 11.
19158         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
19159         instead of HAVE_LOCALTIME_R.
19160         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
19161         HAVE_LOCALTIME_R always.
19162         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
19163         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
19164         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
19165         HAVE_LOCALTIME_R.
19166         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
19167         * doc/posix-functions/localtime_r.texi: Likewise.
19168
19169 2010-12-29  Eric Blake  <eblake@redhat.com>
19170
19171         mountlist: tweak previous commit
19172         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
19173         Reported by Paul Eggert.
19174
19175         mountlist: fix local drive detection on cygwin
19176         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
19177         that works for cygwin.
19178
19179 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19180
19181         ftoastr, snprintf: ftoastr + snprintf module
19182         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
19183         since the snprintf module now should be good enough here.
19184         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
19185         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
19186         and gl_MODULE_INDICATOR([snprintf]), but the former enables
19187         GNULIB_SNPRINTF only for the test directory, and the latter
19188         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
19189         seems to suffice by itself.
19190
19191 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
19192
19193         alloca: one step towards thread-safety
19194         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
19195         need for a static variable.  All callers changed.  This does not
19196         make the alloca replacement thread-safe, but it's one step.
19197
19198         tests: minor indenting change
19199         * tests/init.sh: Sync from coreutils housekeeping patch
19200         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
19201         to keep lines within 80 columns.
19202
19203 2010-12-28  Jim Meyering  <meyering@redhat.com>
19204
19205         regex: don't infloop on persistent failing calloc
19206         * lib/regexec.c (build_trtable): Return failure indication upon
19207         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
19208         In glibc, this was fixed for version 2.13:
19209         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
19210
19211 2010-12-28  Bruno Haible  <bruno@clisp.org>
19212             Paul Eggert <eggert@cs.ucla.edu>
19213
19214         linkat: Make implementation robust against system behaviour variations.
19215         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
19216         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
19217         way, and to -2 if it needs a generic runtime test.
19218         * lib/linkat.c (solaris_optimized_link_immediate,
19219         solaris_optimized_link_follow): New functions.
19220         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
19221         (check_same_link): Use it.
19222
19223 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
19224
19225         New module 'unigbrk/base'.
19226         * modules/unigbrk/base: New file.
19227         * lib/unigbrk.in.h: New file.
19228
19229         New module 'unigbrk/uc-gbrk-prop'.
19230         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
19231         * modules/unigbrk/uc-gbrk-prop: New file.
19232         * lib/unigbrk/gbrkprop.h: New file.
19233         * lib/unigbrk/uc-gbrk-prop.c: New file.
19234
19235         New module 'unigbrk/uc-is-grapheme-break'.
19236         * modules/unigbrk/uc-is-grapheme-break: New file.
19237         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
19238         * lib/unigbrk/uc-is-grapheme-break.c: New file.
19239         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
19240         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
19241         * tests/unigbrk/GraphemeBreakTest.txt: New file.
19242
19243         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
19244
19245 2010-12-27  Bruno Haible  <bruno@clisp.org>
19246
19247         linkat test: Avoid failure on Solaris 11 2010-11.
19248         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
19249
19250 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19251
19252         utimens: work around glibc rounding bug on more platforms
19253         * lib/utimens.c (fdutimens): Work around rounding bug even if
19254         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
19255         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
19256
19257 2010-12-27  Bruno Haible  <bruno@clisp.org>
19258
19259         select tests: Improve comments.
19260         * tests/test-select.c (do_select): Add comments.
19261
19262 2010-12-27  Bruno Haible  <bruno@clisp.org>
19263
19264         select tests: Safer way of handling timeout.
19265         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
19266         at every invocation.
19267
19268 2010-12-27  Bruno Haible  <bruno@clisp.org>
19269
19270         select tests: Use 'bool' where appropriate.
19271         * tests/test-select.c (connect_to_socket): Change argument type to
19272         'bool'.
19273
19274 2010-12-27  Bruno Haible  <bruno@clisp.org>
19275
19276         select tests: Use existing modules.
19277         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
19278         (configure.ac): Don't test for unistd.h.
19279         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
19280         declared in <unistd.h>.
19281
19282 2010-12-27  Bruno Haible  <bruno@clisp.org>
19283
19284         mbrtowc: Work around a Solaris 7 bug.
19285         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
19286         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
19287         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
19288         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
19289         MBRTOWC_NULL_ARG1_BUG.
19290         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
19291         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
19292         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
19293         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
19294
19295 2010-12-27  Jim Meyering  <meyering@redhat.com>
19296
19297         read-file.c: tweak syntax
19298         * lib/read-file.c (fread_file): Remove space after "*" in function
19299         definitions.
19300
19301 2010-12-27  Bruno Haible  <bruno@clisp.org>
19302
19303         times test: Avoid gcc warnings on OSF/1.
19304         * tests/test-times.c (main): Cast printf arguments from clock_t to
19305         'long int'.
19306
19307 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19308
19309         utimens: work around glibc rounding bug on older Linux kernels
19310         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
19311         on Linux with a glibc whose utimes might not work, then work
19312         around a longstanding glibc bug involving rounding rather than
19313         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
19314         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19315
19316 2010-12-26  Bruno Haible  <bruno@clisp.org>
19317
19318         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
19319         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
19320         _GL_CXXALIAS_SYS.
19321         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19322
19323 2010-12-26  Bruno Haible  <bruno@clisp.org>
19324
19325         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
19326         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
19327         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
19328         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
19329         looking for the declaration.
19330         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
19331         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
19332         problem.
19333         * doc/posix-functions/inet_pton.texi: Likewise.
19334
19335 2010-12-26  Bruno Haible  <bruno@clisp.org>
19336
19337         arpa_inet: Use the common idioms with C++ support.
19338         * lib/arpa_inet.in.h: Include c++defs.h.
19339         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
19340         support.
19341         * modules/arpa_inet (Depends-on): Add c++defs.
19342         (Makefile.am): Substitute the contents of c++defs.h.
19343         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
19344         * modules/arpa_inet-c++-tests: New file.
19345         * tests/test-arpa_inet-c++.cc: New file.
19346
19347 2010-12-25  Bruno Haible  <bruno@clisp.org>
19348
19349         Fix more C++ link errors on Solaris 8.
19350         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
19351         $(LIB_EACCESS).
19352         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
19353         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
19354         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
19355         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
19356         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
19357
19358 2010-12-25  Bruno Haible  <bruno@clisp.org>
19359
19360         printf-posix: Fix link error when a non-GCC compiler is used.
19361         * lib/stdio.in.h (printf): When not using GCC, override printf
19362         correctly.
19363         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19364
19365 2010-12-25  Bruno Haible  <bruno@clisp.org>
19366
19367         strerror_r-posix: Update doc.
19368         * doc/posix-functions/strerror_r.texi: Update doc about the return
19369         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
19370
19371 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
19372
19373         utimens: simplify the logic of the previous change
19374         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
19375         This should not affect whether the test succeeds or fails.
19376
19377         utimens: configure better on hosts with NFS clock skew
19378         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
19379         uses the clock of the local host.  It might use the clock of the
19380         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
19381         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
19382
19383 2010-12-25  Bruno Haible  <bruno@clisp.org>
19384
19385         ptsname test: Avoid failure on Solaris.
19386         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
19387         open a pseudo-terminal; don't use BSD-style ptys.
19388         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
19389
19390 2010-12-25  Bruno Haible  <bruno@clisp.org>
19391
19392         ptsname: Avoid ERANGE failure on some systems.
19393         * lib/ptsname.c (buffer): Increase size.
19394
19395 2010-12-25  Bruno Haible  <bruno@clisp.org>
19396
19397         rename, renameat: Avoid test failures at NFS mounted locations.
19398         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
19399         so that subsequent mkdir calls succeed.
19400
19401 2010-12-25  Bruno Haible  <bruno@clisp.org>
19402
19403         iswblank: Fix C++ link error on Solaris 8.
19404         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
19405         _GL_FUNCDECL_SYS.
19406
19407 2010-12-25  Bruno Haible  <bruno@clisp.org>
19408
19409         unistd: Fix C++ link error on Solaris 8.
19410         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
19411
19412 2010-12-25  Bruno Haible  <bruno@clisp.org>
19413
19414         readlink doc: Mention an old glibc bug.
19415         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
19416
19417 2010-12-25  Bruno Haible  <bruno@clisp.org>
19418
19419         fcntl-h: Fix for use of C++ on glibc systems.
19420         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
19421         also on glibc systems in C++ mode.
19422         Reported by Gary V. Vaughan <gary@gnu.org>.
19423
19424 2010-12-25  Bruno Haible  <bruno@clisp.org>
19425
19426         roundl-ieee: Make it work on OSF/1 5.1 with cc.
19427         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
19428
19429 2010-12-25  Bruno Haible  <bruno@clisp.org>
19430
19431         truncl-ieee: Make it work on OSF/1 5.1 with cc.
19432         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
19433         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
19434         test whether truncl works according to ISO C 99 with IEC 60559.
19435         * m4/truncl-ieee.m4: New file.
19436         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
19437         m4/signbit.m4.
19438         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
19439
19440 2010-12-25  Bruno Haible  <bruno@clisp.org>
19441
19442         ceill-ieee: Make it work on OSF/1 5.1 with cc.
19443         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
19444         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
19445         test whether ceill works according to ISO C 99 with IEC 60559.
19446         * m4/ceill-ieee.m4: New file.
19447         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
19448         m4/signbit.m4.
19449         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
19450
19451 2010-12-25  Bruno Haible  <bruno@clisp.org>
19452
19453         Ensure all prerequisites of <wchar.h> are included.
19454         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
19455         before <wchar.h>.
19456         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
19457         gl_MBRLEN_NUL_RETVAL): Likewise.
19458         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
19459         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
19460         AC_FUNC_MBRTOWC): Likewise.
19461         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19462         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
19463         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19464         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
19465         Likewise.
19466         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
19467         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
19468         (gl_WCHAR_H): Improve comments.
19469         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19470
19471 2010-12-25  Bruno Haible  <bruno@clisp.org>
19472
19473         strtok_r: Fix C syntax error in autoconf macro.
19474         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
19475         characters in test program.
19476
19477 2010-12-24  Bruno Haible  <bruno@clisp.org>
19478
19479         ceil, trunc, round: Fix gcc warnings.
19480         * lib/ceil.c (MIN): Undefine before redefining.
19481         * lib/trunc.c (MIN): Likewise.
19482         * lib/round.c (MIN): Likewise.
19483         Include <math.h> first.
19484
19485 2010-12-24  Bruno Haible  <bruno@clisp.org>
19486
19487         select tests: Avoid failures on OSF/1 5.1.
19488         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
19489         failure of closing the last socket; it may fail with ECONNRESET.
19490
19491 2010-12-24  Eric Blake  <eblake@redhat.com>
19492
19493         stdint: avoid HP-UX 10.20 preprocessor bug
19494         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
19495         than #if.
19496         * tests/test-floor2.c (main): Likewise.
19497         Reported by Peter O'Gorman.
19498
19499         pipe: make obsoletion transition easier
19500         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
19501         * modules/pipe (Files): Include revived file.
19502         (Include): Drop reference, to mirror getdate's behavior.
19503
19504 2010-12-24  Bruno Haible  <bruno@clisp.org>
19505
19506         sys_socket: Hide mismatch of declarations on NonStop Kernel.
19507         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
19508         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
19509         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19510
19511 2010-12-24  Bruno Haible  <bruno@clisp.org>
19512
19513         gethostname: Ensure declaration on NonStop Kernel.
19514         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
19515         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19516
19517 2010-12-24  Bruno Haible  <bruno@clisp.org>
19518
19519         sys_select: Ensure all necessary types on NonStop Kernel.
19520         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
19521         include <sys/time.h>.
19522         * doc/posix-headers/sys_select.texi: Mention that it's missing on
19523         NonStop Kernel.
19524         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19525
19526 2010-12-24  Bruno Haible  <bruno@clisp.org>
19527
19528         sys_select: Remove unneeded include.
19529         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
19530         have <sys/select.h>.
19531
19532 2010-12-24  Bruno Haible  <bruno@clisp.org>
19533
19534         gethostname: Provide a fallback for HOST_NAME_MAX.
19535         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
19536         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
19537         instead.
19538         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19539
19540 2010-12-24  Bruno Haible  <bruno@clisp.org>
19541
19542         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
19543         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
19544         (SA_RESTART): Likewise.
19545         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19546
19547 2010-12-24  Bruno Haible  <bruno@clisp.org>
19548
19549         signal: Define NSIG.
19550         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
19551         * tests/test-signal.c (nsig): New variable.
19552         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19553
19554 2010-12-24  Bruno Haible  <bruno@clisp.org>
19555
19556         rename, renameat: Avoid test failures on OSF/1 5.1.
19557         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
19558         alternative error codes.
19559         * tests/test-renameat.c (main): Likewise.
19560
19561 2010-12-24  Bruno Haible  <bruno@clisp.org>
19562
19563         *printf: Detect large precisions bug on Solaris 10/SPARC.
19564         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
19565         by Paul Eggert.
19566         * tests/test-snprintf-posix.h (test_function): Add this test code here
19567         too.
19568         * tests/test-sprintf-posix.h (test_function): Likewise.
19569         * tests/test-vasnprintf-posix.c (test_function): Likewise.
19570         * tests/test-vasprintf-posix.c (test_function): Likewise.
19571         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
19572         around by gnulib.
19573         * doc/posix-functions/printf.texi: Likewise.
19574         * doc/posix-functions/snprintf.texi: Likewise.
19575         * doc/posix-functions/sprintf.texi: Likewise.
19576         * doc/posix-functions/vfprintf.texi: Likewise.
19577         * doc/posix-functions/vprintf.texi: Likewise.
19578         * doc/posix-functions/vsnprintf.texi: Likewise.
19579         * doc/posix-functions/vsprintf.texi: Likewise.
19580         * doc/posix-functions/dprintf.texi: Undo last commit.
19581         * doc/posix-functions/vdprintf.texi: Likewise.
19582
19583 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19584
19585         tests: port test-fdutimensat.c to Solaris 8
19586         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
19587         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
19588         On Solaris 8, it fails with errno == ENOSYS, because there is no
19589         futimens (so it can't use the fd), and there is no lutimens (so it
19590         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
19591
19592         vsnprintf: make more consistent with snprintf; doc fixes
19593
19594         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
19595         the byte count return problem was promoted from the snprintf-posix
19596         to the snprintf module.
19597         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
19598         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
19599         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
19600         * tests/test-snprintf.c (main): Check the byte count returned.
19601         * tests/test-vsnprintf.c (main): Likewise.
19602
19603 2010-12-23  Eric Blake  <eblake@redhat.com>
19604
19605         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
19606         * modules/sigpipe (License): Relax license.
19607
19608 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19609
19610         doc: document Solaris printf bug with large float precisions
19611         * doc/posix-functions/dprintf.texi (dprintf):
19612         * doc/posix-functions/fprintf.texi (fprintf):
19613         * doc/posix-functions/printf.texi (printf):
19614         * doc/posix-functions/snprintf.texi (snprintf):
19615         * doc/posix-functions/sprintf.texi (sprintf):
19616         * doc/posix-functions/vdprintf.texi (vdprintf):
19617         * doc/posix-functions/vfprintf.texi (vfprintf):
19618         * doc/posix-functions/vprintf.texi (vprintf):
19619         * doc/posix-functions/vsnprintf.texi (vsnprintf):
19620         * doc/posix-functions/vsprintf.texi (vsprintf):
19621         Mention that these functions mishandle large floating point
19622         precisions on Solaris 10.  The same bug is also present in Solaris
19623         8, and I assume earlier.  This causes "cd gnulib-tests; make
19624         check" to fail on Solaris 8 (and I assume, later) when building
19625         the latest coreutils, in test-vasprintf-posix's call to
19626         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
19627         the wide flavors (e.g., wprintf) so this patch just updates the
19628         documentation for the narrow ones.
19629
19630         test-posixtm.c: add two tests
19631         * tests/test-posixtm.c: Add two tests, to highlight the
19632         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
19633         around this bug; this is merely to document it.
19634
19635 2010-12-22  Bruno Haible  <bruno@clisp.org>
19636
19637         getlogin_r: Work around portability problem on OSF/1.
19638         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
19639         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
19640         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
19641         test for a truncated result.
19642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
19643         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
19644         * modules/getlogin_r (Depends-on): Add memchr.
19645         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
19646
19647 2010-12-22  Bruno Haible  <bruno@clisp.org>
19648
19649         ptsname: Avoid test failure on OSF/1 5.1.
19650         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
19651         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
19652         (same_slave): New function.
19653         (main): Use it to compare ptsname's result with the expected file name.
19654
19655 2010-12-22  Bruno Haible  <bruno@clisp.org>
19656
19657         Port extended stdio modules to HP NonStop Kernel.
19658         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
19659         macros.
19660         * lib/fbufmode.c: Update comments.
19661         * lib/fflush.c: Likewise.
19662         * lib/fpurge.c: Likewise.
19663         * lib/freadable.c: Likewise.
19664         * lib/freadahead.c: Likewise.
19665         * lib/freading.c: Likewise.
19666         * lib/freadptr.c: Likewise.
19667         * lib/freadseek.c: Likewise.
19668         * lib/fseeko.c: Likewise.
19669         * lib/fseterr.c: Likewise.
19670         * lib/fwritable.c: Likewise.
19671         * lib/fwriting.c: Likewise.
19672         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
19673
19674 2010-12-22  Bruno Haible  <bruno@clisp.org>
19675
19676         ttyname_r: Work around bug on OSF/1 5.1.
19677         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
19678         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
19679         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
19680         present.
19681         * lib/ttyname_r.c (ttyname_r): Update comments.
19682
19683 2010-12-22  Bruno Haible  <bruno@clisp.org>
19684
19685         round: Implement result sign according to IEEE 754.
19686         * lib/round.c (MIN, MINUS_ZERO): New macros.
19687         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
19688         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
19689         * tests/test-round-ieee.c (main): Likewise.
19690         * tests/test-roundl-ieee.c (main): Likewise.
19691
19692         trunc: Implement result sign according to IEEE 754.
19693         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
19694         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
19695         * tests/test-trunc2.c: Include minus-zero.h.
19696         (MINUS_ZERO): New macro.
19697         (trunc_reference): Keep in sync with lib/trunc.c.
19698         * tests/test-truncf2.c: Include minus-zero.h.
19699         (MINUS_ZERO): New macro.
19700         (truncf_reference): Keep in sync with lib/trunc.c.
19701         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
19702         * tests/test-trunc-ieee.c (main): Likewise.
19703         * tests/test-truncl-ieee.c (main): Likewise.
19704
19705         ceil: Implement result sign according to IEEE 754.
19706         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
19707         (FUNC): Return -0.0 for -1 < x < 0.
19708         * tests/test-ceil2.c: Include minus-zero.h.
19709         (MINUS_ZERO): New macro.
19710         (ceil_reference): Keep in sync with lib/ceil.c.
19711         * tests/test-ceilf2.c: Include minus-zero.h.
19712         (MINUS_ZERO): New macro.
19713         (ceilf_reference): Keep in sync with lib/ceil.c.
19714         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
19715         * tests/test-ceil-ieee.c (main): Likewise.
19716         * tests/test-ceill-ieee.c (main): Likewise.
19717
19718         floor: Implement result sign according to IEEE 754.
19719         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
19720         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
19721         * tests/test-floorf2.c (floorf_reference): Likewise.
19722         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
19723         * tests/test-floor-ieee.c (main): Likewise.
19724         * tests/test-floorl-ieee.c (main): Likewise.
19725
19726 2010-12-22  Bruno Haible  <bruno@clisp.org>
19727
19728         getaddrinfo: Update doc.
19729         * doc/posix-functions/gai_strerror.texi: Return type is also different
19730         on AIX and HP-UX.
19731
19732 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19733
19734         getaddrinfo, inet_ntop: Update doc for Solaris.
19735         * doc/posix-functions/gai_strerror.texi: Return type is also an
19736         issue on Solaris 9 and earlier.
19737         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
19738         on Solaris 10 and earlier.
19739
19740 2010-12-21  Bruno Haible  <bruno@clisp.org>
19741
19742         New module 'roundl-ieee'.
19743         * modules/roundl-ieee: New file.
19744         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
19745         test whether roundl works according to ISO C 99 with IEC 60559.
19746         * m4/roundl-ieee.m4: New file.
19747         * modules/roundl-ieee-tests: New file.
19748         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
19749         * tests/test-roundl.c (main): Remove signbit tests.
19750         * modules/roundl-tests (Depends-on): Remove signbit.
19751         * doc/posix-functions/roundl.texi: Mention the new module.
19752
19753 2010-12-21  Bruno Haible  <bruno@clisp.org>
19754
19755         New module 'truncl-ieee'.
19756         * modules/truncl-ieee: New file.
19757         * modules/truncl-ieee-tests: New file.
19758         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
19759         * tests/test-truncl.c (main): Remove signbit tests.
19760         * modules/truncl-tests (Depends-on): Remove signbit.
19761         * doc/posix-functions/truncl.texi: Mention the new module.
19762
19763 2010-12-21  Bruno Haible  <bruno@clisp.org>
19764
19765         New module 'ceill-ieee'.
19766         * modules/ceill-ieee: New file.
19767         * modules/ceill-ieee-tests: New file.
19768         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
19769         * tests/test-ceill.c (main): Remove signbit tests.
19770         * modules/ceill-tests (Depends-on): Remove signbit.
19771         * doc/posix-functions/ceill.texi: Mention the new module.
19772
19773 2010-12-21  Bruno Haible  <bruno@clisp.org>
19774
19775         New module 'floorl-ieee'.
19776         * modules/floorl-ieee: New file.
19777         * modules/floorl-ieee-tests: New file.
19778         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
19779         * tests/test-floorl.c (main): Remove signbit tests.
19780         * modules/floorl-tests (Depends-on): Remove signbit.
19781         * doc/posix-functions/floorl.texi: Mention the new module.
19782
19783 2010-12-21  Bruno Haible  <bruno@clisp.org>
19784
19785         New module 'round-ieee'.
19786         * modules/round-ieee: New file.
19787         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
19788         whether round works according to ISO C 99 with IEC 60559.
19789         * m4/round-ieee.m4: New file.
19790         * modules/round-ieee-tests: New file.
19791         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
19792         * tests/test-round1.c (main): Remove signbit tests.
19793         * modules/round-tests (Depends-on): Remove 'signbit'.
19794         * doc/posix-functions/round.texi: Mention the new module.
19795
19796 2010-12-21  Bruno Haible  <bruno@clisp.org>
19797
19798         New module 'trunc-ieee'.
19799         * modules/trunc-ieee: New file.
19800         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
19801         whether trunc works according to ISO C 99 with IEC 60559.
19802         * m4/trunc-ieee.m4: New file.
19803         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
19804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
19805         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
19806         * modules/trunc-ieee-tests: New file.
19807         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
19808         * tests/test-trunc1.c (main): Remove signbit tests.
19809         * modules/trunc-tests (Depends-on): Remove 'signbit'.
19810         * doc/posix-functions/trunc.texi: Mention the new module.
19811
19812 2010-12-21  Bruno Haible  <bruno@clisp.org>
19813
19814         New module 'ceil-ieee'.
19815         * modules/ceil-ieee: New file.
19816         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
19817         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
19818         ISO C 99 with IEC 60559.
19819         * m4/ceil-ieee.m4: New file.
19820         * modules/ceil (Files): Add lib/ceil.c.
19821         (Depends-on): Add 'float'.
19822         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19823         * lib/math.in.h (ceil): New declaration.
19824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
19825         REPLACE_CEIL.
19826         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
19827         * modules/ceil-ieee-tests: New file.
19828         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
19829         * tests/test-math-c++.cc: Check the signature of 'ceil'.
19830         * doc/posix-functions/ceil.texi: Mention the new module.
19831
19832 2010-12-21  Bruno Haible  <bruno@clisp.org>
19833
19834         New module 'floor-ieee'.
19835         * modules/floor-ieee: New file.
19836         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
19837         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
19838         ISO C 99 with IEC 60559.
19839         * m4/floor-ieee.m4: New file.
19840         * modules/floor (Files): Add lib/floor.c.
19841         (Depends-on): Add 'float'.
19842         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
19843         * lib/math.in.h (floor): New declaration.
19844         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
19845         REPLACE_FLOOR.
19846         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
19847         * modules/floor-ieee-tests: New file.
19848         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
19849         * tests/test-math-c++.cc: Check the signature of 'floor'.
19850         * doc/posix-functions/floor.texi: Mention the new module.
19851
19852 2010-12-21  Bruno Haible  <bruno@clisp.org>
19853
19854         New module 'roundf-ieee'.
19855         * modules/roundf-ieee: New file.
19856         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
19857         test whether roundf works according to ISO C 99 with IEC 60559.
19858         * m4/roundf-ieee.m4: New file.
19859         * modules/roundf-ieee-tests: New file.
19860         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
19861         * tests/test-roundf1.c (main): Remove signbit tests.
19862         * modules/roundf-tests (Depends-on): Remove 'signbit'.
19863         * doc/posix-functions/roundf.texi: Mention the new module.
19864
19865 2010-12-21  Bruno Haible  <bruno@clisp.org>
19866
19867         New module 'truncf-ieee'.
19868         * modules/truncf-ieee: New file.
19869         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
19870         test whether truncf works according to ISO C 99 with IEC 60559.
19871         * m4/truncf-ieee.m4: New file.
19872         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
19873         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
19874         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
19875         * modules/truncf-ieee-tests: New file.
19876         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
19877         * tests/test-truncf1.c (main): Remove signbit tests.
19878         * modules/truncf-tests (Depends-on): Remove 'signbit'.
19879         * doc/posix-functions/truncf.texi: Mention the new module.
19880
19881 2010-12-21  Bruno Haible  <bruno@clisp.org>
19882
19883         New module 'ceilf-ieee'.
19884         * modules/ceilf-ieee: New file.
19885         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
19886         test whether ceilf works according to ISO C 99 with IEC 60559.
19887         * m4/ceilf-ieee.m4: New file.
19888         * modules/ceilf-ieee-tests: New file.
19889         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
19890         * tests/test-ceilf1.c (main): Remove signbit tests.
19891         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
19892         * doc/posix-functions/ceilf.texi: Mention the new module.
19893
19894 2010-12-21  Bruno Haible  <bruno@clisp.org>
19895
19896         New module 'floorf-ieee'.
19897         * modules/floorf-ieee: New file.
19898         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
19899         test whether floorf works according to ISO C 99 with IEC 60559.
19900         * m4/floorf-ieee.m4: New file.
19901         * modules/floorf-ieee-tests: New file.
19902         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
19903         * tests/test-floorf1.c (main): Remove signbit tests.
19904         * modules/floorf-tests (Depends-on): Remove 'signbit'.
19905         * doc/posix-functions/floorf.texi: Mention the new module.
19906
19907 2010-12-21  Bruno Haible  <bruno@clisp.org>
19908
19909         Support for minus zero in autoconf macros.
19910         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
19911         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
19912         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
19913         * tests/minus-zero.h: Update comments.
19914
19915 2010-12-21  Bruno Haible  <bruno@clisp.org>
19916
19917         Tests for module 'ceil'.
19918         * modules/ceil-tests: New file.
19919         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
19920         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
19921
19922 2010-12-21  Bruno Haible  <bruno@clisp.org>
19923
19924         Tests for module 'floor'.
19925         * modules/floor-tests: New file.
19926         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
19927         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
19928
19929 2010-12-21  Bruno Haible  <bruno@clisp.org>
19930
19931         math: Fix indentation.
19932         * lib/math.in.h (floorf): Fix indentation.
19933
19934 2010-12-21  Bruno Haible  <bruno@clisp.org>
19935
19936         Fix cross-compilation guesses on Solaris.
19937         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
19938         not match "solaris2.10".
19939         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
19940         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
19941         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
19942
19943 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19944
19945         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
19946         This fixes a problem observed with the latest coreutils snapshot
19947         that caused a test to fail on Solaris 8.  src/csplit.c's call
19948         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
19949         earlier, instead of returning the number of bytes that would have
19950         been generated; this causes csplit to incorrectly report memory
19951         exhaustion.
19952         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
19953         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
19954         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
19955         comments to match.
19956         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
19957         Fix typo in matching older versions of Solaris: "solaris2.10"
19958         is matched by the shell pattern "solaris2.[0-9]*".  This matters
19959         only for guessing while cross-compiling.
19960         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
19961
19962 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19963
19964         ftoastr: fix comment again
19965         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
19966         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
19967         Also, simplify example a bit by using flags = 0.
19968
19969 2010-12-20  Bruno Haible  <bruno@clisp.org>
19970
19971         round*, trunc*: Update documentation regarding glibc.
19972         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
19973         * doc/posix-functions/round.texi: Likewise.
19974         * doc/posix-functions/roundl.texi: Likewise.
19975         * doc/posix-functions/truncf.texi: Likewise.
19976         * doc/posix-functions/trunc.texi: Likewise.
19977         * doc/posix-functions/truncl.texi: Likewise.
19978
19979 2010-12-20  Bruno Haible  <bruno@clisp.org>
19980
19981         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
19982         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
19983         * doc/posix-functions/round.texi: Likewise.
19984         * doc/posix-functions/roundl.texi: Likewise.
19985
19986 2010-12-20  Bruno Haible  <bruno@clisp.org>
19987
19988         ttyname_r: Add missing declaration on HP-UX 11.
19989         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
19990         HAVE_TTYNAME_R.
19991         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
19992         declared. Set HAVE_TTYNAME_R always.
19993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19994         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
19995         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
19996         HAVE_TTYNAME_R.
19997         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
19998
19999 2010-12-20  Bruno Haible  <bruno@clisp.org>
20000
20001         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
20002         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
20003         * doc/posix-functions/getlogin_r.texi: Likewise.
20004         * tests/test-getlogin.c: Include <errno.h>.
20005         (main): Avoid test failure on HP-UX 11.11.
20006         * tests/test-getlogin_r.c (main): Likewise.
20007
20008 2010-12-20  Bruno Haible  <bruno@clisp.org>
20009
20010         getlogin_r: Add missing declaration on HP-UX 11.
20011         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
20012         declared also when it exists as a function.
20013         * doc/posix-functions/getlogin_r.texi: Document this workaround.
20014
20015 2010-12-20  Bruno Haible  <bruno@clisp.org>
20016
20017         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
20018         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
20019         through wcrtomb.
20020
20021 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20022
20023         ftoastr: fix comment
20024         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
20025         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
20026
20027 2010-12-19  Bruno Haible  <bruno@clisp.org>
20028
20029         isnan: Ensure it is a macro.
20030         * lib/math.in.h (isnan): Define as a macro if not already a macro.
20031         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
20032         Solaris.
20033
20034 2010-12-19  Bruno Haible  <bruno@clisp.org>
20035
20036         ldexpl test: Fix link error on OSF/1 5.1.
20037         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
20038
20039 2010-12-19  Bruno Haible  <bruno@clisp.org>
20040
20041         wctype: Make it work in C++ mode on OSF/1 5.1.
20042         * lib/wctype.in.h (iswblank): Declare but not define here.
20043         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
20044         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
20045         * modules/wctype (Files): Add lib/iswblank.c.
20046
20047 2010-12-19  Bruno Haible  <bruno@clisp.org>
20048
20049         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
20050         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
20051         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
20052
20053 2010-12-19  Bruno Haible  <bruno@clisp.org>
20054
20055         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
20056         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
20057         _POSIX_PII_SOCKET.
20058         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
20059         * doc/posix-functions/recvfrom.texi: Likewise.
20060         * doc/posix-functions/send.texi: Likewise.
20061         * doc/posix-functions/sendto.texi: Likewise.
20062
20063 2010-12-19  Bruno Haible  <bruno@clisp.org>
20064
20065         tcgetsid: Add missing declaration on OSF/1 5.1.
20066         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
20067         HAVE_TCGETSID.
20068         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
20069         Don't set HAVE_TCGETSID.
20070         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
20071         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
20072         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
20073         HAVE_TCGETSID.
20074         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
20075
20076 2010-12-19  Bruno Haible  <bruno@clisp.org>
20077
20078         stdio: Fix problem with popen() declaration on OSF/1 5.1.
20079         * lib/stdio.in.h: During the include_next statement, let recursive
20080         includes of this file include only the system header file.
20081
20082 2010-12-19  Bruno Haible  <bruno@clisp.org>
20083
20084         iconv_open: Fix regression from 2010-12-04.
20085         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
20086         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
20087
20088 2010-12-19  Bruno Haible  <bruno@clisp.org>
20089
20090         stdbool test: Avoid a gcc warning.
20091         * tests/test-stdbool.c (main): Fail if e1 is false.
20092         Reported by Jim Meyering.
20093
20094 2010-12-19  Jim Meyering  <meyering@redhat.com>
20095
20096         setenv: restore to working order
20097         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
20098         mistakenly removed.
20099         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
20100         HAVE_SETENV.
20101         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
20102         HAVE_SETENV.
20103
20104 2010-12-19  Bruno Haible  <bruno@clisp.org>
20105
20106         Document some different function declarations on OSF/1 5.1.
20107         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
20108         * doc/posix-functions/inet_ntop.texi: Likewise.
20109         * doc/posix-functions/gethostname.texi: Likewise.
20110         * lib/unistd.in.h (gethostname): Update comment.
20111
20112 2010-12-19  Bruno Haible  <bruno@clisp.org>
20113
20114         doc: Mention vasprintf-posix module.
20115         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
20116         the 'vasprintf-posix' module.
20117         * doc/glibc-functions/vasprintf.texi: Likewise.
20118
20119 2010-12-19  Bruno Haible  <bruno@clisp.org>
20120
20121         unsetenv: Add missing declaration on OSF/1 5.1.
20122         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
20123         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
20124         Don't set HAVE_UNSETENV. In the test program, set _BSD.
20125         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
20126         not HAVE_UNSETENV.
20127         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
20128         HAVE_UNSETENV.
20129         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
20130
20131 2010-12-19  Bruno Haible  <bruno@clisp.org>
20132
20133         setenv: Add missing declaration on OSF/1 5.1.
20134         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
20135         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
20136         declared. Don't set HAVE_SETENV.
20137         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
20138         not HAVE_SETENV.
20139         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
20140         HAVE_SETENV.
20141         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
20142
20143 2010-12-19  Bruno Haible  <bruno@clisp.org>
20144
20145         nl_langinfo tests: Avoid gcc warning.
20146         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
20147
20148 2010-12-19  Bruno Haible  <bruno@clisp.org>
20149
20150         mknod: Avoid error in C++ mode on OSF/1 with GCC.
20151         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
20152         _GL_CXXALIAS_SYS.
20153
20154 2010-12-19  Bruno Haible  <bruno@clisp.org>
20155
20156         stdbool: Relax test.
20157         * tests/test-stdbool.c (e): Don't require that casts from a variable's
20158         address to 'bool' work in static initializer, for compilers other than
20159         GCC.
20160
20161 2010-12-19  Bruno Haible  <bruno@clisp.org>
20162
20163         ftello: Add missing declaration on OSF/1 5.1.
20164         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
20165         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
20166         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
20167         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
20168         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
20169
20170 2010-12-19  Bruno Haible  <bruno@clisp.org>
20171
20172         fseeko: Add missing declaration on OSF/1 5.1.
20173         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
20174         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
20175         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
20176         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
20177         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
20178
20179 2010-12-19  Bruno Haible  <bruno@clisp.org>
20180
20181         fchdir: Add missing declaration on OSF/1 5.1.
20182         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
20183         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
20184         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
20185         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
20186         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
20187
20188 2010-12-19  Bruno Haible  <bruno@clisp.org>
20189
20190         relocatable-prog-wrapper: Separate from relocatable-prog.
20191         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
20192         uninstall-relocwrapper rule here.
20193         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
20194         Reported by Ian Beckwith <ianb@erislabs.net>.
20195
20196 2010-12-19  Bruno Haible  <bruno@clisp.org>
20197
20198         unistr/u8-mbsnlen: Add missing dependency.
20199         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
20200         Reported by Ian Beckwith <ianb@erislabs.net>.
20201
20202 2010-12-19  Bruno Haible  <bruno@clisp.org>
20203
20204         iconv: Make it possible again to use this module without 'iconv-h'.
20205         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
20206         if it is not defined.
20207         Reported by Ian Beckwith <ianb@erislabs.net>.
20208
20209 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20210
20211         acl: port to Solaris 8 when copying from tmpfs to ufs
20212         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
20213         error number.  Problem observed on Solaris 8 with latest
20214         coreutils, with "mv A B", where A is on a tmpfs file system and B
20215         is on a ufs file system.  This caused coreutils' mv/part-symlink
20216         test to fail.
20217
20218         tests: set fail=0 at start
20219         * tests/init.sh (setup_): Move fail=0 initialization here ...
20220         (mktempd_): ... from here, so that tests can rely on fail being
20221         set to 0 initially.  This fixes a problem in coreutils; see:
20222         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
20223
20224 2010-12-18  Bruno Haible  <bruno@clisp.org>
20225
20226         memmem-simple: Stylistic changes.
20227         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
20228         Fix preprocessor directive indentation.
20229
20230 2010-12-15  Pádraig Brady <P@draigBrady.com>
20231
20232         memmem, memmem-simple: reorganize and expand empty needle check
20233         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
20234         functional checks to memmem-simple so that one has a fully functional
20235         memmem by using just this module.
20236         Restrict the performance only check to the memmem module.
20237         Also expand the empty needle check to ensure the correct
20238         pointer is returned, not just a non NULL pointer.
20239         * doc/glibc-functions/memmem.texi: Rearrange the portability
20240         documentation to correlate with the rearranged checks.
20241         Clarify exactly how the memmem and memmem-simple modules
20242         relate to each other.
20243
20244 2010-12-15  Pádraig Brady <P@draigBrady.com>
20245             Bruno Haible  <bruno@clisp.org>
20246
20247         Improve cross-compilation guesses for uClibc.
20248         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
20249         that uClibc does not have the glibc bug.
20250         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
20251         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
20252
20253 2010-12-14  Eric Blake  <eblake@redhat.com>
20254
20255         configmake: provide fallbacks for oldest supported autotools
20256         * m4/configmake.m4: New file.
20257         * modules/configmake (Files): Ship it.
20258         (configure.ac): Use it to guarantee fallbacks.
20259
20260 2010-12-13  Pádraig Brady <P@draigBrady.com>
20261
20262         read-file: Improve handling of large files
20263         * lib/read-file.c (fread_file): Minimize realloc()s
20264         for regular files, and better manage sizes around SIZE_MAX.
20265
20266 2010-12-13  Eric Blake  <eblake@redhat.com>
20267
20268         cloexec, fcntl: relax license
20269         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
20270         consent from all contributors.
20271         * modules/fcntl (License): Likewise.
20272
20273 2010-12-10  Bruno Haible  <bruno@clisp.org>
20274
20275         Tests for module 'pipe-posix'.
20276         * modules/pipe-posix-tests: New file.
20277         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
20278
20279 2010-12-10  Bruno Haible  <bruno@clisp.org>
20280
20281         pipe-posix: Make it work in C++ mode.
20282         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
20283         (pipe): Use common idiom, not a macro definition.
20284         * lib/pipe.c: New file.
20285         * m4/pipe.m4: New file.
20286         * modules/pipe-posix (Description): Enhance.
20287         (Files): Add lib/pipe.c, m4/pipe.m4.
20288         (configure.ac): Invoke gl_FUNC_PIPE.
20289         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
20290         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
20291         * tests/test-unistd-c++.cc: Check the signature of pipe.
20292
20293 2010-12-10  Bruno Haible  <bruno@clisp.org>
20294
20295         Rename module 'pipe' to 'spawn-pipe'.
20296         * modules/spawn-pipe: New file, renamed from modules/pipe.
20297         (Files, configure.ac, Makefile.am): Update.
20298         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
20299         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
20300         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
20301         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
20302         "spawn-pipe.h" instead of "pipe.h".
20303         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
20304         to gl_SPAWN_PIPE.
20305         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
20306         (Files, Makefile.am): Update.
20307         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
20308         Update.
20309         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
20310         Include "spawn-pipe.h" instead of "pipe.h".
20311         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
20312         * lib/javacomp.c: Likewise.
20313         * lib/javaversion.c: Likewise.
20314         * lib/pipe-filter-gi.c: Likewise.
20315         * lib/pipe-filter-ii.c: Likewise.
20316         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
20317         * modules/javacomp (Depends-on): Likewise.
20318         * modules/javaversion (Depends-on): Likewise.
20319         * modules/pipe-filter-gi (Depends-on): Likewise.
20320         * modules/pipe-filter-ii (Depends-on): Likewise.
20321         * MODULES.html.sh (Executing programs): Update.
20322         * NEWS: Mention the change.
20323
20324 2010-12-10  Eric Blake  <eblake@redhat.com>
20325
20326         pipe-posix: new module
20327         * modules/pipe-posix: New file.
20328         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
20329         (gl_UNISTD_H): Check for declaration.
20330         * modules/unistd (Makefile.am): Substitute it.
20331         * lib/unistd.in.h (pipe): Provide it for mingw.
20332         * doc/posix-functions/pipe.texi (pipe): Update documentation.
20333         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
20334
20335 2010-12-07  Bruno Haible  <bruno@clisp.org>
20336
20337         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
20338         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
20339         u8_strcmp_gnu.
20340         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
20341
20342 2010-12-06  Bruno Haible  <bruno@clisp.org>
20343
20344         Update internal documentation.
20345         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
20346
20347 2010-12-04  Bruno Haible  <bruno@clisp.org>
20348
20349         Put more information about failed tests into the test return codes.
20350         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
20351         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
20352         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
20353         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
20354         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
20355         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20356         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20357         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
20358         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
20359         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20360         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
20361         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
20362         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
20363         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20364         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
20365         returns a bit mask.
20366         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
20367         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
20368         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
20369         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
20370         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
20371         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
20372         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
20373         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
20374         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
20375         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
20376         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20377         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
20378         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20379         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
20380         * m4/link.m4 (gl_FUNC_LINK): Likewise.
20381         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20382         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
20383         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
20384         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20385         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
20386         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
20387         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
20388         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
20389         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20390         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
20391         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
20392         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
20393         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
20394         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
20395         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
20396         gl_PRINTF_PRECISION): Likewise.
20397         * m4/regex.m4 (gl_REGEX): Likewise.
20398         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
20399         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20400         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
20401         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20402         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
20403         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
20404         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20405         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
20406         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
20407         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20408         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20409         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
20410         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
20411         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
20412         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20413         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20414         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
20415         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
20416         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
20417         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
20418         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
20419         enumerated value.
20420         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
20421
20422 2010-12-04  Bruno Haible  <bruno@clisp.org>
20423
20424         Update for Solaris 11 2010-11.
20425         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
20426         Express, released in November 2010.
20427
20428 2010-12-04  Bruno Haible  <bruno@clisp.org>
20429
20430         nproc: Relax license.
20431         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
20432         and Paul Eggert.
20433         Requested by Ludovic Courtès <ludo@gnu.org>.
20434
20435 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
20436
20437         utimecmp: fine-grained src to nearby coarse-grained dest
20438
20439         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
20440         and the source is on a file system with higher-resolution time
20441         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
20442         not work, and the time stamps are close together, the algorithm to
20443         determine the exact resolution from the read-back mtime was buggy:
20444         it had a "!=" where it should have had an "==".  This bug has been
20445         in the code ever since it was introduced to gnulib.
20446         Problem reported by Dan Jacobson in
20447         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
20448
20449 2010-11-30  Bruno Haible  <bruno@clisp.org>
20450
20451         strerror_r-posix: Fix autoconf test.
20452         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
20453
20454 2010-11-28  Bruno Haible  <bruno@clisp.org>
20455             Paul Eggert  <eggert@cs.ucla.edu>
20456
20457         Tests for module 'getdomainname'.
20458         * modules/getdomainname-tests: New file.
20459         * tests/test-getdomainname.c: New file, based on
20460         tests/test-gethostname.c.
20461
20462 2010-11-28  Bruno Haible  <bruno@clisp.org>
20463             Paul Eggert  <eggert@cs.ucla.edu>
20464
20465         getdomainname: Use the system function when possible.
20466         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
20467         (getdomainname): Replace if needed. Provide the declaration if it is
20468         missing. Don't use _GL_CXXALIAS_SYS_CAST.
20469         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
20470         (getdomainname): When the system has getdomainname, call the system
20471         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
20472         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
20473         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
20474         found in libnsl. Look for the declaration also in <netdb.h>. Replace
20475         the function if its second argument is of type 'int' or if it is found
20476         in libnsl.
20477         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
20478         <sys/systeminfo.h> and sysinfo().
20479         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
20480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20481         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
20482         HAVE_GETDOMAINNAME.
20483         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
20484         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
20485         * doc/glibc-functions/getdomainname.texi: Document the problems with
20486         the getdomainname declaration.
20487
20488 2010-11-28  Bruno Haible  <bruno@clisp.org>
20489
20490         sys_socket: Ensure ss_family field on AIX.
20491         * lib/sys_socket.in.h (ss_family): New macro definition.
20492         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
20493         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
20494         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
20495         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20496         * modules/sys_socket (Makefile.am): Substitute
20497         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
20498         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
20499
20500 2010-11-27  Bruno Haible  <bruno@clisp.org>
20501
20502         readline: Improve configure output.
20503         * m4/readline.m4 (gl_FUNC_READLINE): Make the
20504         "checking for readline..." result understandable.
20505
20506 2010-11-27  Bruno Haible  <bruno@clisp.org>
20507
20508         *printf-posix: Detect a bug on Solaris 10/x86.
20509         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
20510         for floating-point output.
20511         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
20512         directive.
20513         * tests/test-snprintf-posix.h (test_function): Likewise.
20514         * tests/test-sprintf-posix.h (test_function): Likewise.
20515         * tests/test-vasprintf-posix.c (test_function): Likewise.
20516         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
20517         * doc/posix-functions/printf.texi: Likewise.
20518         * doc/posix-functions/snprintf.texi: Likewise.
20519         * doc/posix-functions/sprintf.texi: Likewise.
20520         * doc/posix-functions/vfprintf.texi: Likewise.
20521         * doc/posix-functions/vprintf.texi: Likewise.
20522         * doc/posix-functions/vsnprintf.texi: Likewise.
20523         * doc/posix-functions/vsprintf.texi: Likewise.
20524         * doc/glibc-functions/obstack_printf.texi: Likewise.
20525         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
20526
20527 2010-11-27  Bruno Haible  <bruno@clisp.org>
20528
20529         Fix link error when module libunistring-optional is in use.
20530         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
20531         * modules/striconveha-tests (Makefile.am): Likewise.
20532
20533 2010-11-27  Bruno Haible  <bruno@clisp.org>
20534
20535         regex: Mention link dependencies.
20536         * modules/regex (Link): New section.
20537         * modules/rpmatch (Link): Likewise.
20538         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
20539
20540 2010-11-27  Bruno Haible  <bruno@clisp.org>
20541
20542         ftoastr: Fix compilation error on Solaris.
20543         * lib/ftoastr.c: Include <config.h>.
20544
20545 2010-11-27  Bruno Haible  <bruno@clisp.org>
20546
20547         getloadavg: Update documentation.
20548         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
20549
20550 2010-11-27  Bruno Haible  <bruno@clisp.org>
20551
20552         sys_socket: Fix test whether the functions are declared.
20553         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
20554         not <sys/select.h>.
20555
20556 2010-11-27  Bruno Haible  <bruno@clisp.org>
20557
20558         getpass: Make sure to get system declaration on some platforms.
20559         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
20560         gl_USE_SYSTEM_EXTENSIONS.
20561         * modules/getpass (Depends-on): Add extensions.
20562
20563 2010-11-26  Bruno Haible  <bruno@clisp.org>
20564
20565         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
20566         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
20567         'iconv' module is present.
20568         (ICONV_CONST): New macro.
20569         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
20570         ICONV_CONST.
20571         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
20572         set ICONV_CONST.
20573         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
20574         here.
20575         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
20576         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
20577         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
20578         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
20579         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
20580         present.
20581
20582 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20583
20584         ftoastr: comment fix
20585         * lib/ftoastr.c: "little" -> "little or no" in comment
20586
20587 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20588
20589         stdint: port to GCC 4.3 + OSX + Octave
20590         On this platform, stdint.h is buggy and defines int64_t to long
20591         long int.  The replacement defined it to long int, causing
20592         problems with C++ style name mangling.  Instead, trust the system
20593         definition if INT64_MAX is defined, and likewise for the unsigned
20594         variant.   Problem reported by Jarno Rajahalme in
20595         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
20596         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
20597         and don't mess with int64_t and INT64_MAX in this case.
20598         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
20599
20600 2010-11-24  Bruno Haible  <bruno@clisp.org>
20601
20602         doc: Corrections regarding MacOS X 10.4 and 10.5.
20603         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
20604         MacOS X.
20605         Reported by Simon Josefsson.
20606
20607 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
20608
20609         Uninstall ".bin" files installed by relocwrapper.
20610         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
20611         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
20612         unless it is already there.
20613
20614 2010-11-21  Bruno Haible  <bruno@clisp.org>
20615
20616         Update for NetBSD 5.0.
20617         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20618         NetBSD; the test fails on NetBSD 5.0.
20619         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20620         about NetBSD.
20621
20622 2010-11-21  Bruno Haible  <bruno@clisp.org>
20623
20624         Update for HP-UX 11.23 and HP-UX 11.31.
20625         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
20626         HP-UX.
20627
20628 2010-11-21  Bruno Haible  <bruno@clisp.org>
20629
20630         Update for MacOS X 10.5.
20631         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
20632         MacOS X; the test fails on MacOS X 10.5.8.
20633         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
20634         about MacOS X.
20635
20636 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
20637
20638         bootstrap: add bootstrap_sync option.
20639         See discussion at
20640         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
20641         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
20642         * build-aux/bootstrap: Accept --bootstrap-sync to update
20643         bootstrap if it is not identical to the local gnulib's
20644         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
20645         enable this by default.  Accept --no-bootstrap-sync to disable
20646         it.
20647
20648 2010-11-20  Bruno Haible  <bruno@clisp.org>
20649
20650         Ensure that <features.h> is included before __GLIBC__ is tested.
20651         * lib/printf-parse.h: Include <features.h>.
20652         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
20653         Reported by Mike Frysinger <vapier@gentoo.org>.
20654
20655         Ensure that <features.h> is included before __GLIBC__ is tested.
20656         * lib/wchar.in.h: Include <features.h>.
20657         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
20658         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
20659         Reported by Mike Frysinger <vapier@gentoo.org>.
20660
20661         Ensure that <features.h> is included before __GLIBC__ is tested.
20662         * lib/arpa_inet.in.h: Include <features.h>.
20663         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
20664         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
20665         Reported by Mike Frysinger <vapier@gentoo.org>.
20666
20667         Ensure that <features.h> is included before __GLIBC__ is tested.
20668         * build-aux/link-warning.h: Include <features.h>.
20669         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
20670         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
20671         Reported by Mike Frysinger <vapier@gentoo.org>.
20672
20673         Ensure that <features.h> is included before __GLIBC__ is tested.
20674         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
20675         Reported by Mike Frysinger <vapier@gentoo.org>.
20676
20677 2010-11-20  Bruno Haible  <bruno@clisp.org>
20678
20679         memmem: Fix autoconf test.
20680         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
20681
20682 2010-11-20  Bruno Haible  <bruno@clisp.org>
20683
20684         Port to uClibc.
20685         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
20686         * lib/fcntl.in.h: Likewise.
20687         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
20688         * lib/mbrtowc.c (mbrtowc): Likewise.
20689         * lib/relocatable.c (find_shared_library_fullname): Likewise.
20690         * lib/strerror_r.c: Likewise.
20691         * lib/unistr/u8-strnlen.c: Likewise.
20692         * lib/vasnprintf.c (decimal_point_char): Likewise.
20693         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20694         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
20695         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
20696         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
20697         * tests/test-sigaction.c (handler, main): Likewise.
20698         * lib/freading.h: Treat uClibc like a non-glibc platform.
20699         * lib/freading.c: Likewise.
20700         * lib/gettext.h: Likewise.
20701         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
20702         Likewise.
20703         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
20704         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
20705         * lib/propername.c (proper_name_utf8): Likewise.
20706         * lib/spawn.in.h: Likewise.
20707         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
20708         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
20709         mem_cd_iconveh_internal): Likewise.
20710         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
20711         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
20712         strstr, strcasestr): Likewise.
20713         * lib/unicodeio.c (unicode_to_mb): Likewise.
20714         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
20715         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
20716         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
20717         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
20718         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
20719         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
20720         * lib/unistr/u8-stpncpy.c: Likewise.
20721         * lib/vasnprintf.c (VASNPRINTF): Likewise.
20722         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
20723         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20724         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
20725         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
20726         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
20727         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
20728         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
20729         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
20730         Likewise.
20731         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
20732         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
20733         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
20734         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
20735         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
20736         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
20737         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20738         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
20739         * tests/test-getopt.h (OPTIND_MIN): Likewise.
20740         * tests/test-striconveha.c (main): Likewise.
20741         * tests/test-vasnprintf-posix.c (test_function): Likewise.
20742         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
20743         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
20744         * doc/posix-functions/getline.texi: Likewise.
20745         Reported by Mike Frysinger <vapier@gentoo.org>.
20746
20747 2010-11-20  Bruno Haible  <bruno@clisp.org>
20748
20749         nproc: Fix condition.
20750         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
20751         HAVE_PTHREAD_AFFINITY_NP.
20752
20753 2010-11-20  Bruno Haible  <bruno@clisp.org>
20754
20755         Fix a comment.
20756         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
20757
20758 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
20759
20760         ftoastr: don't assume snprintf
20761         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
20762         Implement a subset of snprintf here, by using sprintf safely.
20763         * modules/ftoastr (Depends-on): Remove snprintf.
20764
20765 2010-11-19  Jim Meyering  <meyering@redhat.com>
20766
20767         test-rename.h: fix compilation failure
20768         * tests/test-rename.h (test_rename): Add omitted "}".
20769
20770 2010-11-17  Jim Meyering  <meyering@redhat.com>
20771
20772         maint.mk: add a URL discussing the no-@acronym policy
20773         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
20774
20775 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
20776
20777         ftoastr: depend on snprintf, improve comments
20778         * lib/ftoastr.c: Also mention Loitsch's draft.
20779         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
20780         needed in the current implementation, but it might simplify
20781         speeding up the code later.
20782         * modules/ftoastr: Depend on snprintf; this improves portability.
20783         Suggested by Bruno Haible in the same email.
20784
20785         ftoastr: port to hosts lacking strtof and strtold
20786         Problem reported by Bruno Haible in
20787         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
20788         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
20789         environment and strtold (and presumably strtof) are not available.
20790         * modules/ftoastr (Files): Add m4/c-strtod.m4.
20791         (configure.ac): Require gl_C99_STRTOLD.
20792
20793 2010-11-18  Bruno Haible  <bruno@clisp.org>
20794
20795         c-strtold: Avoid link error on AIX 7.
20796         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
20797         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
20798         (gl_C_STRTOLD): Test whether strtold_l exists.
20799         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20800
20801 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
20802
20803         intprops: new macro INT_BITS_STRLEN_BOUND
20804         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
20805         ftoastr.h.  This exposes an internal of intprops.h that was formerly
20806         not exposed.  Also, it uses a slightly tighter bound than before;
20807         though this makes no practical difference, we might as well be as
20808         tight as we easily can.
20809
20810         ftoastr: new module, for lossless conversion of floats to short strings
20811         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
20812         * modules/ftoastr: New files.
20813
20814 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20815
20816         bootstrap: port to Solaris sed
20817         * build-aux/bootstrap (get_version): Port to Solaris sed.
20818         See Ralf Wildenhues's note in
20819         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
20820
20821 2010-11-14  Jim Meyering  <meyering@redhat.com>
20822
20823         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
20824         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
20825         and move definition closer to sole use.
20826
20827 2010-11-13  Jim Meyering  <meyering@redhat.com>
20828
20829         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
20830         Now we require at least autoconf-2.59, which means the work-around
20831         is no longer needed.
20832         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
20833         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
20834         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
20835         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
20836         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20837
20838 2010-11-13  Bruno Haible  <bruno@clisp.org>
20839
20840         rename, renameat: Avoid test failures at NFS mounted locations.
20841         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
20842         functions.
20843         (test_rename): Use assert_nonexistent.
20844         * tests/test-rename.c: Include <dirent.h>.
20845         * tests/test-renameat.c: Likewise.
20846         Reported by Gary V. Vaughan <gary@gnu.org>.
20847
20848         rename, renameat: Document Linux bug with NFS
20849         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
20850         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
20851         * doc/posix-functions/renameat.texi: Likewise.
20852         Suggested by Eric Blake.
20853
20854 2010-11-13  Bruno Haible  <bruno@clisp.org>
20855
20856         rename test: Add comments.
20857         * tests/test-rename.h (test_rename): Add structure and comments.
20858
20859 2010-11-13  Eric Blake  <eblake@redhat.com>
20860
20861         maintainer-makefile: cover a few more files
20862         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
20863         scripts generated within C files, for libvirt.
20864
20865 2010-11-13  Bruno Haible  <bruno@clisp.org>
20866
20867         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
20868         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
20869         character, return the number of bytes that belong together, not always
20870         1.
20871         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
20872         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
20873         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
20874         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
20875         number of bytes of an invalid character.
20876         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
20877         (main): Invoke it.
20878         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
20879         results.
20880         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
20881         malformed byte sequences.
20882         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
20883         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
20884         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
20885         Reported by Ben Pfaff and Paolo Bonzini.
20886
20887 2010-11-13  Bruno Haible  <bruno@clisp.org>
20888
20889         openat: Work around glibc bug with fchownat() and empty file names.
20890         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
20891         (gl_FUNC_FCHOWNAT): Invoke it.
20892         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
20893         * doc/posix-functions/fchownat.texi: Document the glibc bug.
20894         Reported by Gary V. Vaughan <gary@gnu.org>.
20895
20896 2010-11-13  Bruno Haible  <bruno@clisp.org>
20897
20898         openat: Ensure autoconf macro ordering.
20899         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
20900         gl_USE_SYSTEM_EXTENSIONS.
20901         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
20902
20903 2010-11-13  Bruno Haible  <bruno@clisp.org>
20904
20905         Update comments.
20906         * lib/unistr/u8-check.c: Update file name in comments.
20907         * lib/unistr/u8-mblen.c: Likewise.
20908         * lib/unistr/u8-prev.c: Likewise.
20909         * lib/unistr/u8-strmblen.c: Likewise.
20910         * lib/unistr/u8-strmbtouc.c: Likewise.
20911
20912 2010-11-13  Jim Meyering  <meyering@redhat.com>
20913
20914         tests: avoid test failure on Solaris 10 due to lack of PATH export
20915         * tests/test-update-copyright.sh: Don't forget to export PATH.
20916
20917         init.sh: ensure that IFS is defined, just in case...
20918         * tests/init.sh (setup_): Ensure that IFS is defined,
20919         so that saving and restoring it works as expected.  This
20920         appears to be useful at least for an old version of dash
20921         from a long time ago (RH 6).  See here for details:
20922         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
20923
20924         maint.mk: tighten "test a == b" check
20925         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
20926         test to files that contain something like #!/bin/sh.
20927         Without this, coreutils would get two false positives in
20928         the comments of C source files.
20929
20930 2010-11-12  Eric Blake  <eblake@redhat.com>
20931
20932         bootstrap: fix typo in previous attempt
20933         * build-aux/bootstrap (buildreq): Correct the grouping.
20934         Reported by Paul Eggert.
20935
20936         maintainer-makefile: prohibit test x == x
20937         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
20938         Based on a report by Matthias Bolte.
20939
20940         bootstrap: allow FreeBSD gzip
20941         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
20942         which has no '.' and goes to stderr.
20943         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
20944         Reported by Matthias Bolte.
20945
20946         maintainer-makefile: check for i18n setup
20947         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
20948         will likely work.
20949
20950 2010-11-12  Bruno Haible  <bruno@clisp.org>
20951
20952         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
20953         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
20954         * lib/nanosleep.c (nanosleep): Likewise.
20955
20956 2010-11-11  Bruno Haible  <bruno@clisp.org>
20957
20958         fcntl-h: Fix for use of C++ on glibc systems.
20959         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
20960         also on glibc systems in C++ mode.
20961         Reported by Gary V. Vaughan <gary@gnu.org>.
20962
20963 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
20964
20965         mknod: avoid false failure with dash
20966         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
20967
20968 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
20969
20970         unlink: Fix "is it should" typo in diagnostic.
20971         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
20972         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
20973
20974 2010-11-11  Bruno Haible  <bruno@clisp.org>
20975
20976         Tests for module 'strerror_r-posix'.
20977         * modules/strerror_r-posix-tests: New file.
20978         * tests/test-strerror_r.c: New file.
20979         * tests/test-string-c++.cc: Check the signature of strerror_r.
20980
20981         New module 'strerror_r-posix'.
20982         * lib/string.in.h (strerror_r): New declaration.
20983         * lib/strerror_r.c: New file.
20984         * m4/strerror_r.m4: New file.
20985         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
20986         of strerror_r.
20987         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
20988         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
20989         * modules/strerror_r-posix: New file.
20990         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
20991         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
20992         * doc/posix-functions/strerror_r.texi: Mention the new module and the
20993         portability problems.
20994
20995 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
20996
20997         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
20998         line is also considered for output. Quoted function name in shell
20999         command, so temporary files for functions like MyClass::operator()
21000         are removed correctly without errors.
21001
21002 2010-11-09  Bruno Haible  <bruno@clisp.org>
21003
21004         * doc/posix-functions/strerror.texi: List more failing platforms.
21005
21006         * doc/posix-functions/strerror.texi: Add a comment.
21007
21008 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
21009
21010         fdopendir: fix bug on MacOS X when low on file descriptors
21011
21012         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
21013         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
21014         All callers changed.
21015         (fdopendir): Invoke save_cwd at the top level, not after using
21016         multiple dup() calls to use up file descriptors.  Then retry
21017         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
21018         less than the maximum number of open file descriptors, because
21019         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
21020         on Mac OS X 10.6.4 for tar 1.24
21021         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
21022         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
21023         and for tar 1.25
21024         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
21025
21026 2010-11-07  Bruno Haible  <bruno@clisp.org>
21027
21028         vasnprintf: Support I flag on glibc systems.
21029         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
21030         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
21031         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
21032         snprintf function.
21033         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
21034         glibc systems.
21035         * tests/test-vasnprintf-posix3.c: New file.
21036         * modules/vasnprintf-posix-tests (Files): Add it.
21037         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
21038
21039 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
21040
21041         [html] Fix copy/paste bug: Use unique name for compiler warnings.
21042         * MODULES.html.sh: For compiler warnings, use name
21043         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
21044
21045 2010-11-05  Eric Blake  <eblake@redhat.com>
21046
21047         ceil, floor: avoid spurious failure with icc
21048         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
21049         [denormals-as-zero] when optimizing without -mieee-fp option.
21050         * tests/test-floorf2.c (floorf_reference): Likewise.
21051         * tests/test-ceilf1.c (dummy): New function.
21052         (main): Use it to outsmart icc's optimization.
21053         * tests/test-floorf1.c (dummy, main): Likewise.
21054
21055         tests: require working signbit
21056         * modules/ceilf-tests (Depends-on): Add signbit.
21057         * modules/ceill-tests (Depends-on): Likewise.
21058         * modules/floorf-tests (Depends-on): Likewise.
21059         * modules/floorl-tests (Depends-on): Likewise.
21060         * modules/round-tests (Depends-on): Likewise.
21061         * modules/roundf-tests (Depends-on): Likewise.
21062         * modules/roundl-tests (Depends-on): Likewise.
21063         * modules/trunc-tests (Depends-on): Likewise.
21064         * modules/truncf-tests (Depends-on): Likewise.
21065         * modules/truncl-tests (Depends-on): Likewise.
21066
21067         strtod: work around icc bug
21068         * lib/strtod.c (minus_zero): Define to working value.
21069         (strtod): Use it to avoid icc bug.
21070
21071         copysign: enhance tests
21072         * modules/copysign-tests (Files): Add minus-zero.h.
21073         * tests/test-copysign.c (main): Also test zeros.
21074
21075 2010-11-04  Eric Blake  <eblake@redhat.com>
21076
21077         ceil, floor, round, trunc: enhance tests of -0
21078         * tests/test-ceilf1.c (main): Ensure correct sign of result.
21079         * tests/test-ceill.c (main): Likewise.
21080         * tests/test-floorf1.c (main): Likewise.
21081         * tests/test-floorl.c (main): Likewise.
21082         * tests/test-round1.c (main): Likewise.
21083         * tests/test-roundf1.c (main): Likewise.
21084         * tests/test-roundl.c (main): Likewise.
21085         * tests/test-trunc1.c (main): Likewise.
21086         * tests/test-truncf1.c (main): Likewise.
21087         * tests/test-truncl.c (main): Likewise.
21088
21089 2010-11-04  Eric Blake  <eblake@redhat.com>
21090
21091         frexp, tests: work around ICC bug with -zero
21092         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
21093         works with more compilers.
21094         * tests/minus-zero.h: New file.
21095         * modules/ceilf-tests (Files): Include it.
21096         * modules/ceill-tests (Files): Likewise.
21097         * modules/floorf-tests (Files): Likewise.
21098         * modules/floorl-tests (Files): Likewise.
21099         * modules/frexp-nolibm-tests (Files): Likewise.
21100         * modules/frexp-tests (Files): Likewise.
21101         * modules/frexpl-nolibm-tests (Files): Likewise.
21102         * modules/frexpl-tests (Files): Likewise.
21103         * modules/isnan-tests (Files): Likewise.
21104         * modules/isnand-nolibm-tests (Files): Likewise.
21105         * modules/isnand-tests (Files): Likewise.
21106         * modules/isnanf-nolibm-tests (Files): Likewise.
21107         * modules/isnanf-tests (Files): Likewise.
21108         * modules/isnanl-nolibm-tests (Files): Likewise.
21109         * modules/isnanl-tests (Files): Likewise.
21110         * modules/round-tests (Files): Likewise.
21111         * modules/roundf-tests (Files): Likewise.
21112         * modules/roundl-tests (Files): Likewise.
21113         * modules/ldexpl-tests (Files): Likewise.
21114         * modules/signbit-tests (Files): Likewise.
21115         * modules/snprintf-posix-tests (Files): Likewise.
21116         * modules/sprintf-posix-tests (Files): Likewise.
21117         * modules/strtod-tests (Files): Likewise.
21118         * modules/trunc-tests (Files): Likewise.
21119         * modules/truncf-tests (Files): Likewise.
21120         * modules/truncl-tests (Files): Likewise.
21121         * modules/vsnprintf-posix-tests (Files): Likewise.
21122         * modules/vsprintf-posix-tests (Files): Likewise.
21123         * modules/vasnprintf-posix-tests (Files): Likewise.
21124         * modules/vasprintf-posix-tests (Files): Likewise.
21125         * tests/test-ceilf1.c (main): Use it.
21126         * tests/test-ceill.c (main): Likewise.
21127         * tests/test-floorf1.c (main): Likewise.
21128         * tests/test-floorl.c (main): Likewise.
21129         * tests/test-frexp.c (main): Likewise.
21130         * tests/test-frexpl.c (main): Likewise.
21131         * tests/test-isnan.c (main): Likewise.
21132         * tests/test-isnand.h (main): Likewise.
21133         * tests/test-isnanf.h (main): Likewise.
21134         * tests/test-isnanl.h (main): Likewise.
21135         * tests/test-ldexpl.c (main): Likewise.
21136         * tests/test-round.c (main): Likewise.
21137         * tests/test-roundf.c (main): Likewise.
21138         * tests/test-roundl.c (main): Likewise.
21139         * tests/test-signbit.c (test_signbitf, test_signbitd)
21140         (test_signbitl): Likewise.
21141         * tests/test-snprintf-posix.h (test_function): Likewise.
21142         * tests/test-sprintf-posix.h (test_function): Likewise.
21143         * tests/test-strtod.c (main): Likewise.
21144         * tests/test-trunc1.c (main): Likewise.
21145         * tests/test-truncf1.c (main): Likewise.
21146         * tests/test-truncl.c (main): Likewise.
21147
21148         isnanl: work around icc bug
21149         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
21150
21151 2010-11-03  Eric Blake  <eblake@redhat.com>
21152
21153         tests: fix compiler warnings
21154         * tests/test-getopt.h (test_getopt): Fix condition.
21155         * tests/test-getopt_long.h (test_getopt_long): Likewise.
21156         * tests/test-pipe2.c (main): Likewise.
21157         * tests/test-quotearg-simple.c (main): Avoid icc warning.
21158
21159         utimens: fix broken m4 test
21160         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
21161
21162 2010-10-28  Bruno Haible  <bruno@clisp.org>
21163
21164         posix_spawn*, getdtablesize: Relax license.
21165         * modules/posix_spawn (License): Change to LGPLv2+.
21166         * modules/posix_spawnp (License): Likewise.
21167         * modules/posix_spawn-internal (License): Likewise.
21168         * modules/posix_spawnattr_init (License): Likewise.
21169         * modules/posix_spawnattr_getflags (License): Likewise.
21170         * modules/posix_spawnattr_setflags (License): Likewise.
21171         * modules/posix_spawnattr_getpgroup (License): Likewise.
21172         * modules/posix_spawnattr_setpgroup (License): Likewise.
21173         * modules/posix_spawnattr_getschedparam (License): Likewise.
21174         * modules/posix_spawnattr_setschedparam (License): Likewise.
21175         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
21176         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
21177         * modules/posix_spawnattr_getsigdefault (License): Likewise.
21178         * modules/posix_spawnattr_setsigdefault (License): Likewise.
21179         * modules/posix_spawnattr_getsigmask (License): Likewise.
21180         * modules/posix_spawnattr_setsigmask (License): Likewise.
21181         * modules/posix_spawnattr_destroy (License): Likewise.
21182         * modules/posix_spawn_file_actions_init (License): Likewise.
21183         * modules/posix_spawn_file_actions_addclose (License): Likewise.
21184         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
21185         * modules/posix_spawn_file_actions_addopen (License): Likewise.
21186         * modules/posix_spawn_file_actions_destroy (License): Likewise.
21187         * modules/getdtablesize (License): Likewise.
21188         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
21189
21190 2010-10-26  Bruno Haible  <bruno@clisp.org>
21191
21192         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
21193         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
21194         Cygwin and mingw.
21195         Suggested by Eric Blake.
21196
21197 2010-10-26  Bruno Haible  <bruno@clisp.org>
21198
21199         stdio: Work around compilation error due to renameat() on Solaris 10.
21200         * lib/stdio.in.h: Include <unistd.h> on Solaris.
21201         * lib/renameat.c: Don't include <unistd.h> here.
21202         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
21203         Reported by Paul Eggert and Eric Blake.
21204
21205 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
21206
21207         renameat: port to Solaris 10, which declares renameat in unistd.h
21208
21209         * lib/renameat.c: Include unistd.h before stdio.h, because
21210         Solaris 10 declares renameat in unistd.h.  Problem encountered
21211         when building GNU tar 1.24 on Solaris 10.
21212
21213 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
21214
21215         fdopendir: fix C89 compilation
21216         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
21217         compilers.
21218
21219 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
21220
21221         inttostr: simplify by removing unnecessary redundancy
21222         * lib/anytostr.c: Don't include verify.h.
21223         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
21224         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
21225         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
21226         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
21227         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
21228         Likewise.
21229         * modules/inttostr (Depends-on): Remove 'verify'.
21230
21231 2010-10-23  Bruno Haible  <bruno@clisp.org>
21232
21233         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
21234         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
21235         Reported by Eric Blake.
21236
21237 2010-10-23  Bruno Haible  <bruno@clisp.org>
21238
21239         Tests: Fix LOCALE_JA on MirBSD 10.
21240         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
21241         to an UTF-8 locale.
21242         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
21243         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21244         Reported by Eric Blake.
21245
21246 2010-10-21  Bruno Haible  <bruno@clisp.org>
21247
21248         nl_langinfo test: Avoid test failure on NetBSD 5.
21249         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
21250         Reported by Eric Blake.
21251
21252 2010-10-21  Eric Blake  <eblake@redhat.com>
21253
21254         c-stack: work around libsigsegv 2.8 bug
21255         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
21256         overflow on at least PowerPC64.
21257
21258 2010-10-17  Bruno Haible  <bruno@clisp.org>
21259
21260         userspec: Drop redundant file.
21261         * modules/userspec (Files): Remove lib/inttostr.h.
21262
21263 2010-10-17  Bruno Haible  <bruno@clisp.org>
21264
21265         nl_langinfo tests: Silence some warnings.
21266         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
21267         Reported by Jim Meyering.
21268
21269 2010-10-17  Bruno Haible  <bruno@clisp.org>
21270
21271         Make use of GCC's attribute __alloc_size__.
21272         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
21273         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
21274         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
21275         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
21276         __alloc_size__.
21277         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
21278         Suggested by Jim Meyering.
21279
21280 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
21281
21282         bootstrap: anchor .gitignore entries.
21283         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
21284         with...
21285         (insert_vc_ignore): ... this new function, which prepends `/' to
21286         all .gitignore entries before passing them to
21287         insert_sorted_if_absent.
21288
21289 2010-10-16  Bruno Haible  <bruno@clisp.org>
21290
21291         nextafter: Fix configure check.
21292         * modules/nextafter (configure.ac): Correct expected prototype.
21293
21294 2010-10-16  Bruno Haible  <bruno@clisp.org>
21295
21296         termios: Update documentation.
21297         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
21298
21299 2010-10-16  Bruno Haible  <bruno@clisp.org>
21300
21301         tests: Make them compile with TinyCC.
21302         * tests/test-strstr.c (main): Remove parentheses around array
21303         initializer.
21304
21305 2010-10-15  Eric Blake  <eblake@redhat.com>
21306
21307         ignore-value: make header idempotent
21308         * lib/ignore-value.h: Add double-inclusion guards.
21309         Reported by Stefan Berger.
21310
21311 2010-10-15  Jim Meyering  <meyering@redhat.com>
21312
21313         GNUmakefile: handle "stable" target, not "major"
21314         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
21315         lists in maint.mk and announce-gen.  Without this, "make stable"
21316         would fail to ensure that $(VERSION) is up to date.
21317
21318 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
21319
21320         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
21321         & co.
21322
21323 2010-10-14  Bruno Haible  <bruno@clisp.org>
21324
21325         vasnprintf: Don't set errno to 0.
21326         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
21327         block that sets it to 0.
21328         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
21329
21330 2010-10-14  Bruno Haible  <bruno@clisp.org>
21331
21332         socketlib: Fix.
21333         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
21334         gl_PREREQ_SYS_H_WINSOCK2.
21335         Reported by Ian Beckwith <ianb@erislabs.net>.
21336
21337 2010-10-13  Jim Meyering  <meyering@redhat.com>
21338
21339         test-select-stdin.c: avoid warn_unused_result warnings
21340         * tests/test-select-stdin.c: Include "macros.h".
21341         ASSERT that read and fflush succeed.
21342
21343 2010-10-13  Jim Meyering  <meyering@redhat.com>
21344
21345         git-version-gen: do require git-VC'd files in cwd
21346         * build-aux/git-version-gen: Reject a git version string
21347         if there are no commits associated with the current directory.
21348         This avoids an unlikely false-positive (unrelated dir whose parent
21349         repository also contains a tag matching v*), as pointed out
21350         by Giuseppe Scrivano in
21351         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
21352
21353 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
21354
21355         argv-iter: omit nonconforming declaration
21356         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
21357         enum arg_iter_err declaration, which doesn't conform to C99.
21358         Solaris 10 cc warns about this.
21359
21360 2010-10-13  Eric Blake  <eblake@redhat.com>
21361
21362         termios: fix compilation on mingw
21363         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
21364         (gl_TERMIOS_H): Adjust it on mingw.
21365         * modules/termios (Makefile.am): Substitute new key.
21366         * lib/termios.in.h (includes): Make include_next conditional.
21367         * doc/posix-headers/termios.texi (termios.h): Update
21368         documentation.
21369         Reported by Daniel P. Berrange.
21370
21371 2010-10-13  Jim Meyering  <meyering@redhat.com>
21372
21373         git-version-gen: don't require that .git/ be in the current dir
21374         * build-aux/git-version-gen: Adjust this script so that it works
21375         when run from any working directory beneath the top-level .git/-
21376         containing directory.  Inspired by a patch from Giuseppe Scrivano,
21377         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
21378
21379         test-select: avoid warn_unused_result warnings
21380         * tests/test-select.c: Include "macros.h".
21381         ASSERT that each call to read, write, and pipe succeeds.
21382         While not technically required, also check each "close".
21383         * modules/select-tests (Files): Add tests/macros.h.
21384
21385         test-symlinkat: remove declaration of unused local
21386         * tests/test-symlinkat.c (main): Remove unused local, "buf".
21387
21388         test-inttostr: avoid shadowing warnings
21389         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
21390         and use malloc rather than the stack for the same reason as
21391         mentioned in the comment justifying the other allocation.
21392
21393 2010-10-11  Bruno Haible  <bruno@clisp.org>
21394
21395         stdlib: Allow multiple gnulib generated replacements to coexist.
21396         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
21397         Reported by Sam Steingold <sds@gnu.org>.
21398
21399 2010-10-11  Jim Meyering  <meyering@redhat.com>
21400
21401         fix a documentation typo
21402         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
21403
21404 2010-10-11  Eric Blake  <eblake@redhat.com>
21405
21406         futimens: work around Solaris 11 bug
21407         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
21408         * tests/test-futimens.h (test_futimens): Enhance, rather than
21409         weaken test.
21410         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21411
21412 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
21413
21414         Indentation.
21415         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
21416         higher-level operators more to the left.
21417
21418 2010-10-11  Jim Meyering  <meyering@redhat.com>
21419
21420         test-futimens: avoid unwarranted test failure on Solaris 5.11
21421         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
21422         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
21423         because it tries to dereference the NULL name argument.
21424
21425 2010-10-11  Bruno Haible  <bruno@clisp.org>
21426
21427         Indentation.
21428         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
21429         indentation.
21430
21431 2010-10-11  Jim Meyering  <meyering@redhat.com>
21432
21433         spawn.in.h: make indentation consistent with parentheses
21434         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
21435         Make indentation consistent with parentheses.
21436
21437 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
21438
21439         Fix mismatched parens in previous commit
21440         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
21441         parens.
21442
21443 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21444
21445         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
21446
21447         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
21448         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
21449         * lib/malloca.c: Include "verify.h".
21450         (verify1): Remove, replacing with a verify call.
21451         * lib/relocwrapper.c (verify1): Likewise.
21452         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
21453         Likewise.
21454         * modules/malloca (Depends-on): Add 'verify'.
21455         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
21456         * modules/vasnprintf (Depends-on): Add 'verify'.
21457         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21458         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21459         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21460         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21461         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21462         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21463         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21464
21465         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
21466
21467         Formerly the style was sometimes 2*X - 1, because the C standard
21468         was wrongly thought to disallow ?: in integral constant expressions.
21469         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
21470         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
21471         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21472         * lib/stdint.in.h (_verify_intmax_size): Likewise.
21473         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
21474         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
21475         verify that time_t cannot be floating.
21476
21477 2010-10-08  Eric Blake  <eblake@redhat.com>
21478
21479         time: enforce recent POSIX ruling that time_t is integral
21480         * lib/time.in.h (__time_t_must_be_integral): Detect any
21481         problematic systems, allowing the rest of gnulib to assume POSIX.
21482
21483 2010-10-08  Jim Meyering  <meyering@redhat.com>
21484
21485         fdopendir: fix a bug on systems lacking openat and /proc support
21486         OpenBSD 4.7 is one such system.  The most noticeable effect was
21487         failure of any application making nontrivial use of fts: rm, du,
21488         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
21489           ./rm: traversal failed: `a': Bad file descriptor
21490         Debugging that, you see that even though FD 6 was closed just
21491         prior to the opendir call in fd_clone_opendir, its resulting
21492         dir->dd_fd was 8, rather than the expected value of 6:
21493
21494         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
21495         93                close (fd);
21496         (gdb) n
21497         94                dir = fd_clone_opendir (dupfd);
21498         (gdb) n
21499         95                saved_errno = errno;
21500         (gdb) p dir->dd_fd
21501         $11 = 8
21502
21503         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
21504         The problem is that on OpenBSD, fd_clone_opendir has to resort
21505         to using the old-style save/restore CWD mechanism, due to its
21506         lack of openat/proc support, and *that* would steal the FD (6)
21507         that opendir was supposed to use.
21508
21509         The fix is to squirrel away the desired FD so that save_cwd uses a
21510         different one, and then free the dest FD right before calling opendir.
21511         That guarantees opendir will use the required file descriptor.
21512
21513         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
21514
21515 2010-10-08  Bruno Haible  <bruno@clisp.org>
21516
21517         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
21518         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
21519
21520 2010-10-08  Bruno Haible  <bruno@clisp.org>
21521
21522         nanosleep: Make replacement POSIX compliant.
21523         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
21524         is out of range.
21525         Reported by Jim Meyering.
21526
21527 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
21528
21529         bootstrap: add hook for altering gnulib.mk, for Bison
21530         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
21531         the Bison bootstrapping process can rewrite file names and variables
21532         in this file before later parts of 'bootstrap' use the file.
21533         Bison wants to include lib/gnulib.mk from the top-level makefile,
21534         so it needs the file names in this file to be relative to the top
21535         level, not relative to lib; plus it needs variable names to be
21536         rewritten.
21537         (slurp): Use the new function.
21538
21539         bootstrap: reformat for readability
21540         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
21541
21542 2010-10-08  Eric Blake  <eblake@redhat.com>
21543
21544         docs: update cygwin progress
21545         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
21546         1.7.7.
21547         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
21548         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
21549         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
21550         * doc/posix-functions/carg.texi (carg): Likewise.
21551         * doc/posix-functions/cargf.texi (cargf): Likewise.
21552         * doc/posix-functions/casin.texi (casin): Likewise.
21553         * doc/posix-functions/casinf.texi (casinf): Likewise.
21554         * doc/posix-functions/casinh.texi (casinh): Likewise.
21555         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
21556         * doc/posix-functions/catan.texi (catan): Likewise.
21557         * doc/posix-functions/catanf.texi (catanf): Likewise.
21558         * doc/posix-functions/catanh.texi (catanh): Likewise.
21559         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
21560         * doc/posix-functions/ccos.texi (ccos): Likewise.
21561         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
21562         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
21563         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
21564         * doc/posix-functions/cexp.texi (cexp): Likewise.
21565         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
21566         * doc/posix-functions/cimag.texi (cimag): Likewise.
21567         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
21568         * doc/posix-functions/clog.texi (clog): Likewise.
21569         * doc/posix-functions/clogf.texi (clogf): Likewise.
21570         * doc/posix-functions/conj.texi (conj): Likewise.
21571         * doc/posix-functions/conjf.texi (conjf): Likewise.
21572         * doc/posix-functions/cpow.texi (cpow): Likewise.
21573         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
21574         * doc/posix-functions/cproj.texi (cproj): Likewise.
21575         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
21576         * doc/posix-functions/creal.texi (creal): Likewise.
21577         * doc/posix-functions/crealf.texi (crealf): Likewise.
21578         * doc/posix-functions/csin.texi (csin): Likewise.
21579         * doc/posix-functions/csinf.texi (csinf): Likewise.
21580         * doc/posix-functions/csinh.texi (csinh): Likewise.
21581         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
21582         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
21583         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
21584         * doc/posix-functions/ctan.texi (ctan): Likewise.
21585         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
21586         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
21587         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
21588         * doc/posix-headers/complex.texi (complex.h): Likewise.
21589
21590 2010-10-07  Jim Meyering  <meyering@redhat.com>
21591
21592         parse-datetime: avoid compilation failure on OpenBSD 4.7
21593         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
21594         This works around a compilation failure on OpenBSD 4.7:
21595         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
21596
21597 2010-10-07  Eric Blake  <eblake@redhat.com>
21598
21599         docs: update cygwin progress
21600         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
21601         1.7.6.
21602         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21603         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
21604         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
21605         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
21606         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
21607         Likewise.
21608         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
21609         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
21610         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
21611         Likewise.
21612         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
21613         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
21614         Likewise.
21615         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
21616         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
21617         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
21618         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
21619         Likewise.
21620         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
21621         Likewise.
21622         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
21623
21624         docs: update parse-datetime history
21625         * doc/parse-datetime.texi (Authors of parse_datetime): Better
21626         documentation of this function's history and alternatives.
21627
21628         cygwin: use more robust version check
21629         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
21630         exclude an eventual cygwin 1.9.1.
21631         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21632         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21633         (gl_FUNC_STRCASESTR): Likewise.
21634         Reported by Bruno Haible.
21635
21636 2010-10-06  Bruno Haible  <bruno@clisp.org>
21637
21638         string, sys_select: Avoid #including large headers unless necessary.
21639         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
21640         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
21641         OSF/1, BeOS, Haiku.
21642         Reported by Jim Meyering.
21643
21644 2010-10-05  Eric Blake  <eblake@redhat.com>
21645
21646         memmem, strstr, strcasestr: fix bug with long periodic needle
21647         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
21648         periodic needle having false positive.
21649         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
21650         and cygwin 1.7.7.
21651         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
21652         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
21653         (gl_FUNC_STRCASESTR): Likewise.
21654         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
21655         * tests/test-memmem.c (main): Expose the bug.
21656         * tests/test-strcasestr.c (main): Likewise.
21657         * tests/test-strstr.c (main): Likewise.
21658         * tests/test-c-strcasestr.c (main): Likewise.
21659         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
21660         * doc/posix-functions/strstr.texi (strstr): Likewise.
21661         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
21662         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
21663
21664 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21665
21666         parse-datetime: do some more renaming
21667         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
21668         parse_datetime, not get_date.  Mention the renaming.
21669         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
21670         in comments.
21671         * m4/bison.m4: Likewise.
21672
21673 2010-10-05  Eric Blake  <eblake@redhat.com>
21674
21675         parse-datetime: better name than get_date
21676         * NEWS: Reword the deprecation notice.
21677         * modules/get_date: Rename to modules/parse-datetime.
21678         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
21679         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
21680         * lib/get_date.y: Rename to lib/parse-datetime.y.
21681         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
21682         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
21683         * doc/getdate.texi: Provide fallback wrapper.
21684         * lib/getdate.h: Move guts, and wrap...
21685         * lib/parse-datetime.h: ...new file.
21686         * lib/parse-datetime.y (get_date): Rename...
21687         (parse_datetime): ...to this.
21688         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
21689         (gl_PARSE_DATETIME): ...to this.
21690         * doc/posix-functions/getdate.texi (get_date): Provide fallback
21691         documentation.
21692         * modules/getdate (Files): Provide fallback docs and header.
21693         (Notice, Depends-on): Update references.
21694         * tests/test-parse-datetime.c: Likewise.
21695         * DEPENDENCIES: Likewise.
21696         * MODULES.html.sh (Date and time <time.h>): Likewise.
21697         * doc/parse-datetime.texi (Date input formats)
21698         (Authors of parse_datetime): Likewise.
21699         * modules/parse-datetime (Files, configure.ac, Makefile.am)
21700         (Include): Likewise.
21701         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
21702         * gnulib-tool: Likewise.
21703         * m4/bison.m4 (gl_BISON): Likewise.
21704         Suggested by Bruno Haible.
21705
21706 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
21707
21708         more ports to Solaris tr, which needs [] around ranges
21709         * gnulib-tool: Solaris tr needs [] around ranges.
21710         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21711         * tests/test-pipe-filter-gi1.c (main): Likewise.
21712         * tests/test-pipe-filter-ii1.c (main): Likewise.
21713
21714 2010-10-05  Eric Blake  <eblake@redhat.com>
21715
21716         bootstrap: fix Solaris regression
21717         * build-aux/bootstrap (check_versions): Solaris tr still needs []
21718         around ranges.
21719         Reported by Pádraig Brady.
21720
21721         bootstrap: work with pkg-config
21722         * build-aux/bootstrap (check_versions): Also transliterate - in
21723         prerequisite name.
21724         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
21725         prerequisites that were already found, to avoid confusion.
21726         Reported by Justin Clift.
21727
21728         faccessat: remove unused wrappers
21729         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
21730         presence of these wrappers dragged in -lgen on Solaris.
21731         Reported by Clemens Brogi; fix suggested by Paul Eggert.
21732
21733 2010-10-05  Jim Meyering  <meyering@redhat.com>
21734
21735         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
21736         * Makefile (sc_pragma_columns): New syntax-check rule.
21737
21738 2010-10-04  Bruno Haible  <bruno@clisp.org>
21739
21740         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
21741         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
21742         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
21743         Reported by Bruce Korb and Eric Blake.
21744
21745 2010-10-04  Bruno Haible  <bruno@clisp.org>
21746
21747         threadlib: Make option --with-libpth-prefix work.
21748         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
21749         use $LIBPTH, not just -lpth.
21750
21751 2010-10-04  Bruno Haible  <bruno@clisp.org>
21752
21753         Avoid line length limitation from HP NonStop system header files.
21754         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
21755         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
21756         * lib/ctype.in.h: Likewise.
21757         * lib/dirent.in.h: Likewise.
21758         * lib/errno.in.h: Likewise.
21759         * lib/fcntl.in.h: Likewise.
21760         * lib/float.in.h: Likewise.
21761         * lib/getopt.in.h: Likewise.
21762         * lib/iconv.in.h: Likewise.
21763         * lib/inttypes.in.h: Likewise.
21764         * lib/langinfo.in.h: Likewise.
21765         * lib/locale.in.h: Likewise.
21766         * lib/math.in.h: Likewise.
21767         * lib/netdb.in.h: Likewise.
21768         * lib/netinet_in.in.h: Likewise.
21769         * lib/poll.in.h: Likewise.
21770         * lib/pthread.in.h: Likewise.
21771         * lib/pty.in.h: Likewise.
21772         * lib/sched.in.h: Likewise.
21773         * lib/se-selinux.in.h: Likewise.
21774         * lib/search.in.h: Likewise.
21775         * lib/signal.in.h: Likewise.
21776         * lib/spawn.in.h: Likewise.
21777         * lib/stdarg.in.h: Likewise.
21778         * lib/stddef.in.h: Likewise.
21779         * lib/stdint.in.h: Likewise.
21780         * lib/stdio.in.h: Likewise.
21781         * lib/stdlib.in.h: Likewise.
21782         * lib/string.in.h: Likewise.
21783         * lib/strings.in.h: Likewise.
21784         * lib/sys_file.in.h: Likewise.
21785         * lib/sys_ioctl.in.h: Likewise.
21786         * lib/sys_select.in.h: Likewise.
21787         * lib/sys_socket.in.h: Likewise.
21788         * lib/sys_stat.in.h: Likewise.
21789         * lib/sys_time.in.h: Likewise.
21790         * lib/sys_times.in.h: Likewise.
21791         * lib/sys_utsname.in.h: Likewise.
21792         * lib/sys_wait.in.h: Likewise.
21793         * lib/sysexits.in.h: Likewise.
21794         * lib/termios.in.h: Likewise.
21795         * lib/time.in.h: Likewise.
21796         * lib/unistd.in.h: Likewise.
21797         * lib/wchar.in.h: Likewise.
21798         * lib/wctype.in.h: Likewise.
21799         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
21800         * modules/ctype (Makefile.am): Likewise.
21801         * modules/dirent (Makefile.am): Likewise.
21802         * modules/errno (Makefile.am): Likewise.
21803         * modules/fcntl-h (Makefile.am): Likewise.
21804         * modules/float (Makefile.am): Likewise.
21805         * modules/getopt-posix (Makefile.am): Likewise.
21806         * modules/iconv-h (Makefile.am): Likewise.
21807         * modules/inttypes (Makefile.am): Likewise.
21808         * modules/langinfo (Makefile.am): Likewise.
21809         * modules/locale (Makefile.am): Likewise.
21810         * modules/math (Makefile.am): Likewise.
21811         * modules/netdb (Makefile.am): Likewise.
21812         * modules/netinet_in (Makefile.am): Likewise.
21813         * modules/poll-h (Makefile.am): Likewise.
21814         * modules/pthread (Makefile.am): Likewise.
21815         * modules/pty (Makefile.am): Likewise.
21816         * modules/sched (Makefile.am): Likewise.
21817         * modules/search (Makefile.am): Likewise.
21818         * modules/selinux-h (Makefile.am): Likewise.
21819         * modules/signal (Makefile.am): Likewise.
21820         * modules/spawn (Makefile.am): Likewise.
21821         * modules/stdarg (Makefile.am): Likewise.
21822         * modules/stddef (Makefile.am): Likewise.
21823         * modules/stdint (Makefile.am): Likewise.
21824         * modules/stdio (Makefile.am): Likewise.
21825         * modules/stdlib (Makefile.am): Likewise.
21826         * modules/string (Makefile.am): Likewise.
21827         * modules/strings (Makefile.am): Likewise.
21828         * modules/sys_file (Makefile.am): Likewise.
21829         * modules/sys_ioctl (Makefile.am): Likewise.
21830         * modules/sys_select (Makefile.am): Likewise.
21831         * modules/sys_socket (Makefile.am): Likewise.
21832         * modules/sys_stat (Makefile.am): Likewise.
21833         * modules/sys_time (Makefile.am): Likewise.
21834         * modules/sys_times (Makefile.am): Likewise.
21835         * modules/sys_utsname (Makefile.am): Likewise.
21836         * modules/sys_wait (Makefile.am): Likewise.
21837         * modules/sysexits (Makefile.am): Likewise.
21838         * modules/termios (Makefile.am): Likewise.
21839         * modules/time (Makefile.am): Likewise.
21840         * modules/unistd (Makefile.am): Likewise.
21841         * modules/wchar (Makefile.am): Likewise.
21842         * modules/wctype (Makefile.am): Likewise.
21843
21844 2010-10-04  Bruno Haible  <bruno@clisp.org>
21845
21846         read-file tests: Avoid a test failure on NonStop Kernel.
21847         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
21848         a regular file.
21849         Reported by Joachim Schmitz <schmitz@hp.com>.
21850
21851 2010-10-03  Bruno Haible  <bruno@clisp.org>
21852
21853         gnulib-tool: Fixes for --create-testdir with --libtool.
21854         * gnulib-tool (func_get_automake_snippet): Don't augment
21855         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
21856         an executable.
21857         (func_create_testdir): Handle module 'alloca' like func_import.
21858         Reported by Bruce Korb <bruce.korb@gmail.com>.
21859
21860 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
21861
21862         Avoid some lines longer than 80 characters.
21863         * lib/stdint.in.h: Break long comment lines.
21864         * lib/math.in.h: Likewise.
21865         (_GL_NUM_UINT_WORDS): New macro, for readability.
21866         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
21867         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
21868         * lib/stdlib.in.h: Likewise.
21869         * lib/spawn.in.h: Likewise.
21870         * lib/sys_socket.in.h: Update an URL.
21871         * lib/sys_stat.in.h: Break long line.
21872
21873 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
21874
21875         Improve pmccabe2html.
21876         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
21877         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
21878         when the sources change. Remove the line in the HTML about "Used
21879         ranges" (which implied that there might be other unused ranges),
21880         rename "Resume" to "Summary" (easier to understand for more users).
21881         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
21882         styles, and some unnecessary blank lines.
21883
21884 2010-10-03  Bruno Haible  <bruno@clisp.org>
21885             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
21886
21887         acl: Add support for ACLs on NonStop Kernel.
21888         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
21889         Check whether the function aclsort() exists.
21890         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
21891         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
21892         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21893         (acl_nontrivial [HAVE_ACLSORT]: New function.
21894         (file_has_acl): Implement for NonStop Kernel.
21895         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21896         (qset_acl): Implement for NonStop Kernel.
21897         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
21898         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
21899         (main): Implement for NonStop Kernel.
21900         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
21901         Kernel. Handle this flavor.
21902         * tests/test-set-mode-acl.sh: Likewise.
21903         * tests/test-copy-acl.sh: Likewise.
21904         * tests/test-copy-file.sh: Likewise.
21905
21906 2010-10-03  Bruno Haible  <bruno@clisp.org>
21907
21908         Info about ACLs on NonStop Kernel.
21909         * doc/acl-resources.txt: Add info about NonStop Kernel.
21910         References by Joachim Schmitz <schmitz@hp.com>.
21911
21912 2010-10-02  Bruno Haible  <bruno@clisp.org>
21913
21914         Define missing EDQUOT on NonStop Kernel.
21915         * lib/errno.in.h (EDQUOT): Assign a value if missing.
21916         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
21917         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
21918         missing.
21919         * doc/posix-headers/errno.texi: Mention the NSK bug.
21920         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
21921         Reported by Joachim Schmitz <schmitz@hp.com>.
21922
21923 2010-10-02  Bruno Haible  <bruno@clisp.org>
21924
21925         Update doc for POSIX:2008.
21926         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
21927         Update URL of POSIX specification.
21928
21929 2010-10-02  Bruno Haible  <bruno@clisp.org>
21930
21931         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
21932         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
21933         from gnulib, not from Automake.
21934
21935 2010-10-02  Bruno Haible  <bruno@clisp.org>
21936
21937         New module 'system-posix'.
21938         * modules/system-posix: New file.
21939         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
21940         module is present.
21941         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
21942         GNULIB_SYSTEM_POSIX.
21943         * modules/stdlib (Depends-on): Remove sys_wait.
21944         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
21945         * doc/posix-functions/system.texi: Mention the new module.
21946         * doc/posix-headers/stdlib.texi: Likewise.
21947         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
21948         define test_sys_wait_macros to a no-op.
21949         Reported by Sam Steingold <sds@gnu.org>.
21950
21951 2010-09-30  Bruno Haible  <bruno@clisp.org>
21952
21953         More renaming from 'getdate' to 'get_date'.
21954         * doc/get_date.texi: Renamed from doc/getdate.texi.
21955         * modules/get_date (Files): Update.
21956         * MODULES.html.sh (Date and time <time.h>): Update.
21957         * DEPENDENCIES: Update.
21958         * gnulib-tool: Update comment.
21959         * m4/bison.m4 (gl_BISON): Likewise.
21960         * m4/get_date.m4 (gl_GET_DATE): Likewise.
21961
21962 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
21963
21964         bootstrap: support ACLOCAL_FLAGS during aclocal
21965         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
21966         can add additional -I dir for third-party .m4 files.
21967
21968 2010-09-30  Eric Blake  <eblake@redhat.com>
21969
21970         bootstrap: use glibtoolize on MacOS
21971         * build-aux/bootstrap (check_versions): Convert libtool into
21972         libtoolize.
21973         (tool search): Move libtool check earlier, and look for
21974         glibtoolize for MacOS.
21975         (gnulib_tool_options): Auto-add --libtool when appropriate.
21976         Reported by Justin Clift.
21977
21978         poll: fix typo that broke test on MacOS
21979         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
21980         Reported by Justin Clift.
21981
21982         getdate: rename to get_date
21983         Note: getdate.h is not renamed, to minimize client impact.
21984         * modules/getdate: Mark obsolete.  Move old contents...
21985         * modules/get_date: ...to new module name.
21986         * modules/getdate-tests: Move...
21987         * modules/get_date-tests: ...here.
21988         * m4/getdate.m4: Move...
21989         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
21990         * lib/getdate.y: Move...
21991         * lib/get_date.y: ...here.
21992         * tests/test-getdate.c: Move...
21993         * tests/test-get_date.c: ...here.
21994         * doc/posix-functions/getdate.texi (getdate): Update name.
21995         * NEWS: Mention the change.
21996
21997 2010-09-29  Bruno Haible  <bruno@clisp.org>
21998
21999         Separate the module 'waitpid' from the module 'sys_wait'.
22000         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
22001         present.
22002         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
22003         gl_MODULE_INDICATOR_FOR_TESTS.
22004         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
22005         * modules/sys_wait (Depends-on): Remove waitpid.
22006         (Makefile.am): Substitute GNULIB_WAITPID.
22007         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
22008         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
22009         signature only if the 'waitpid' module is present.
22010         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
22011         * NEWS: Mention the change.
22012         * modules/grantpt (Depends-on): Add waitpid.
22013         * modules/wait-process (Depends-on): Likewise.
22014
22015 2010-09-29  Bruno Haible  <bruno@clisp.org>
22016
22017         More tests for module 'sys_wait'.
22018         * modules/sys_wait-c++-tests: New file.
22019         * tests/test-sys_wait-c++.cc: New file.
22020         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
22021         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22022
22023 2010-09-29  Bruno Haible  <bruno@clisp.org>
22024
22025         New module 'waitpid'.
22026         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
22027         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
22028         Don't include <process.h>.
22029         (waitpid): Declare only, using modern idiom.
22030         * m4/waitpid.m4: New file.
22031         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
22032         * modules/waitpid: New file.
22033         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
22034         (Makefile.am): Update.
22035         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
22036
22037 2010-09-28  Bruno Haible  <bruno@clisp.org>
22038
22039         poll: Assume ANSI C.
22040         * lib/poll.c (poll): Use an ANSI C declaration.
22041
22042 2010-09-28  Bruno Haible  <bruno@clisp.org>
22043
22044         poll-h: Create poll.h on all platforms.
22045         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
22046         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
22047         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
22048         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
22049         (gl_REPLACE_POLL_H): Don't set POLL_H.
22050         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
22051         * modules/poll-h (Depends-on): Add include_next.
22052         (Makefile.am): Create poll.h unconditionally. Substitute also
22053         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
22054
22055 2010-09-28  Bruno Haible  <bruno@clisp.org>
22056
22057         Tests for module 'poll-h'.
22058         * modules/poll-h-c++-tests: New file.
22059         * tests/test-poll-h-c++.cc: New file.
22060
22061         Tests for module 'poll-h'.
22062         * modules/poll-h-tests: New file.
22063         * tests/test-poll-h.c: New file.
22064
22065 2010-09-28  Bruno Haible  <bruno@clisp.org>
22066
22067         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
22068         * modules/poll-h (Depends-on): Add 'extensions'.
22069
22070 2010-09-28  Bruno Haible  <bruno@clisp.org>
22071
22072         New module 'poll-h'.
22073         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
22074         (poll): Use modern idiom.
22075         * modules/poll-h: New file.
22076         * modules/poll (Files): Remove lib/poll.in.h.
22077         (Depends-on): Add poll-h.
22078         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
22079         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
22080         * m4/poll_h.m4: New file.
22081         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
22082         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
22083         and invoke gl_REPLACE_POLL_H.
22084         * lib/poll.c: Use common idiom.
22085         * tests/test-poll.c: Likewise.
22086         * doc/posix-headers/poll.texi: Mention the poll-h module.
22087         Suggested by Eric Blake.
22088
22089 2010-09-26  Bruno Haible  <bruno@clisp.org>
22090
22091         sys_wait: Implement WSTOPSIG.
22092         * lib/sys_wait.in.h (WSTOPSIG): New macro.
22093         Reported by Simon Josefsson.
22094
22095 2010-09-26  Simon Josefsson  <simon@josefsson.org>
22096
22097         stdlib, sys_wait: Avoid compilation error on mingw.
22098         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
22099
22100 2010-09-26  Bruno Haible  <bruno@clisp.org>
22101
22102         stdlib tests: Avoid code duplication.
22103         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
22104         * modules/sys_wait-tests (Files): Likewise.
22105         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
22106         * tests/test-stdlib.c: Include test-sys_wait.h.
22107         (main): Invoke test_sys_wait_macros.
22108         * tests/test-sys_wait.c: Include test-sys_wait.h.
22109         (main): Invoke test_sys_wait_macros.
22110
22111 2010-09-25  Simon Josefsson  <simon@josefsson.org>
22112
22113         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
22114         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
22115         sure Windows sockets are working before calling getaddrinfo.
22116         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
22117         * doc/gnulib.texi (Windows sockets): Fix typo.
22118
22119 2010-09-25  Bruno Haible  <bruno@clisp.org>
22120
22121         Tests for module 'regex-quote'.
22122         * modules/regex-quote-tests: New file.
22123         * tests/test-regex-quote.c: New file.
22124
22125         New module 'regex-quote'.
22126         * lib/regex-quote.h: New file.
22127         * lib/regex-quote.c: New file.
22128         * modules/regex-quote: New file.
22129         Suggested by Reuben Thomas <rrt@sc3d.org>.
22130
22131 2010-09-24  Bruno Haible  <bruno@clisp.org>
22132
22133         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
22134         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
22135
22136 2010-09-23  Bruno Haible  <bruno@clisp.org>
22137
22138         setenv: Relax license.
22139         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
22140         Blake.
22141         Requested by Eric Blake.
22142
22143 2010-09-22  Bruno Haible  <bruno@clisp.org>
22144
22145         termios: Relax license.
22146         * modules/termios (License): Change to LGPLv2+.
22147         Requested by Eric Blake.
22148
22149 2010-09-22  Bruno Haible  <bruno@clisp.org>
22150
22151         threadlib: Allow the package to change the default to 'no'.
22152         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
22153         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
22154         Reported by Paul Eggert.
22155
22156 2010-09-22  Pádraig Brady  <P@draigbrady.com>
22157             Bruno Haible  <bruno@clisp.org>
22158
22159         Fix endless loop in mbmemcasecoll.
22160         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
22161         byte.
22162         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
22163
22164 2010-09-22  Bruno Haible  <bruno@clisp.org>
22165
22166         Tests for module 'memcoll'.
22167         * modules/memcoll-tests: New file.
22168         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
22169
22170         memcoll, xmemcoll: Clarify size vs. length.
22171         * modules/memcoll.c (memcoll0): Clarify specification.
22172         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
22173         passed to collate_error.
22174
22175 2010-09-22  Bruno Haible  <bruno@clisp.org>
22176
22177         Tests for module 'memcasecmp'.
22178         * modules/memcasecmp-tests: New file.
22179         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
22180
22181 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
22182
22183         * lib/pthread.in.h: Add split double-inclusion guard, and include
22184         system <pthread.h> if there is one.  Use @@-style as in other
22185         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
22186         pthread.h doesn't.
22187         (pthread_mutexattr_destroy, pthread_mutexattr_init):
22188         (pthread_mutexattr_settype, pthread_mutex_trylock):
22189         New static inline functions, if there's no system <pthread.h>.
22190         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
22191         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
22192         Approximate with mutexes if the system lacks spinlocks, as in
22193         MacOS.
22194         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
22195         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
22196         @@-style.  Check for spinlocks separately.
22197         (gl_PTHREAD_DEFAULTS): New macro.
22198         * modules/pthread: Redo to use a more typical style for in.h files.
22199
22200 2010-09-21  Eric Blake  <eblake@redhat.com>
22201
22202         net_if: enhance tests
22203         * tests/test-net_if.c (main): Move signature checks earlier.
22204         Print failures to stderr.
22205         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
22206         Document the bug that we do not yet fix.
22207
22208 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22209
22210         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
22211         about gnulib, not GSS.
22212
22213 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
22214
22215         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
22216         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
22217         for Emacs.
22218         * build-aux/pmccabe2html: Make Makefile.am example code more
22219         cut-and-paste friendly.
22220
22221 2010-09-21  Simon Josefsson  <simon@josefsson.org>
22222
22223         * tests/test-net_if.c: New file.
22224         * modules/net_if-tests: New file.
22225
22226 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22227
22228         pthread: add pthread_spin_destroy
22229         * lib/pthread.in.h (pthread_spin_destroy): New function.
22230
22231 2010-09-19  Bruno Haible  <bruno@clisp.org>
22232
22233         gnulib-tool: Fix --help output.
22234         * gnulib-tool (func_usage): Fix help message.
22235         Reported by Reuben Thomas <rrt@sc3d.org>.
22236
22237 2010-09-18  Jim Meyering  <meyering@redhat.com>
22238
22239         maint.mk: avoid unexpanded \n in two diagnostics
22240         * top/maint.mk (sc_prohibit_always_true_header_tests):
22241         Don't use a literal \n in a halt=... assignment.  It would not be
22242         expanded, and the two \n bytes would appear in the diagnostic output
22243         rather than the desired newline.  Use halt=$$(printf ... instead.
22244         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
22245
22246 2010-09-18  Bruno Haible  <bruno@clisp.org>
22247
22248         netinet_in: Doc tweak.
22249         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
22250         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22251
22252 2010-09-18  Jim Meyering  <meyering@redhat.com>
22253
22254         init.sh: correct an outdated comment
22255         * tests/init.sh (create_exe_shims_):  s/function/alias/
22256
22257         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
22258         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
22259         a file named "*.exe" is removed between the glob expansion and the
22260         processing of that oddly named file.
22261
22262 2010-09-17  Eric Blake  <eblake@redhat.com>
22263
22264         mirbsd: add some more support
22265         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
22266         in BSD family.
22267         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
22268         devices as OpenBSD.
22269         * m4/host-os.m4 (mirbsd): Add MirBSD.
22270
22271         tests: fix unportable assumption on sys/wait.h
22272         * tests/test-sys_wait.c (main): Relax test.
22273         * tests/test-stdlib.c (main): Likewise.
22274
22275         init.sh: accomodate directory with no .exes
22276         * tests/init.sh: Accomodate directory containing only scripts.
22277
22278         tests: avoid compiler warning
22279         * tests/test-stdlib.c (main): Use the variable.
22280
22281         fdutimens, fdutimensat: update signature, again
22282         * lib/utimens.h (gl_futimens): Delete, and move signature...
22283         (fdutimens): ...here.
22284         (fdutimensat): Rearrange signature.
22285         (lutimensat): Rename variable for clarity.
22286         * lib/fdutimensat.c (fdutimensat): Update signature.
22287         * lib/utimens.c (fdutimens): Likewise.
22288         (gl_futimens): Delete.
22289         (utimens, lutimens): Update callers.
22290         * lib/futimens.c (futimens): Likewise.
22291         * tests/test-fdutimensat.c: Likewise.
22292         * tests/test-utimens.c: Likewise.
22293         * tests/test-futimens.h: Update comment.
22294         * NEWS: Mention this.
22295         Suggested by Paul Eggert.
22296
22297 2010-09-17  Bruno Haible  <bruno@clisp.org>
22298
22299         Take over the maintenance of some older macros from Autoconf.
22300         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
22301         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
22302         GNU Autoconf.
22303         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
22304         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
22305
22306 2010-09-17  Eric Blake  <eblake@redhat.com>
22307
22308         fdutimensat: drop atflag validation
22309         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
22310         with valid fd, to close a race scenario where futimens is
22311         unsupported and FILE was replaced by a symlink.
22312         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
22313         accordingly.
22314         Suggested by Paul Eggert.
22315
22316 2010-09-16  Bruno Haible  <bruno@clisp.org>
22317
22318         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
22319         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
22320
22321 2010-09-16  Bruno Haible  <bruno@clisp.org>
22322
22323         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
22324         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
22325         login_tty exists.
22326         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22327
22328 2010-09-16  Bruno Haible  <bruno@clisp.org>
22329
22330         login_tty: Make the replacement code work on BSD systems.
22331         * lib/login_tty.c: Include <sys/ioctl.h>.
22332         (login_tty): Use ioctl TIOCSCTTY when available.
22333         * modules/login_tty (Depends-on): Add sys_ioctl.
22334         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22335
22336 2010-09-16  Bruno Haible  <bruno@clisp.org>
22337
22338         login_tty: Stricter unit test.
22339         * modules/login_tty-tests (Depends-on): Add tcgetsid.
22340         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
22341         and tcgetsid() after login_tty.
22342         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22343
22344 2010-09-16  Bruno Haible  <bruno@clisp.org>
22345
22346         New module 'tcgetsid'.
22347         * lib/tcgetsid.c: New file.
22348         * m4/tcgetsid.m4: New file.
22349         * modules/tcgetsid: New file.
22350         * modules/termios (Depends-on): Add c++defs, warn-on-use.
22351         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
22352         GNULIB_TCGETSID, HAVE_TCGETSID.
22353         * lib/termios.in.h: Include <sys/types.h>.
22354         (tcgetsid): New declaration.
22355         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
22356         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
22357         * doc/posix-functions/tcgetsid.texi: Mention the new module.
22358         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
22359
22360 2010-09-16  Bruno Haible  <bruno@clisp.org>
22361
22362         Tests for module 'termios'.
22363         * modules/termios-c++-tests: New file.
22364         * modules/termios-tests: New file.
22365         * tests/test-termios-c++.cc: New file.
22366         * tests/test-termios.c: New file.
22367
22368         New module 'termios'.
22369         * modules/termios: New file.
22370         * lib/termios.in.h: New file.
22371         * m4/termios_h.m4: New file.
22372         * doc/posix-headers/termios.texi: Mention the new module.
22373
22374 2010-09-16  Eric Blake  <eblake@redhat.com>
22375
22376         fdutimensat: add an atflag parameter
22377         * lib/fdutimensat.c (fdutimensat): Add new parameter.
22378         * lib/utimens.h (fdutimensat): Update prototype.
22379         * tests/test-fdutimensat.c: Adjust test to match.
22380         * NEWS: Document the change.
22381         Suggested by Paul Eggert.
22382
22383 2010-09-16  Bruno Haible  <bruno@clisp.org>
22384
22385         Fix typos in comments.
22386         * lib/striconveh.h: Fix typo in comment.
22387         * lib/login_tty.c (login_tty): Likewise.
22388
22389 2010-09-15  Bruno Haible  <bruno@clisp.org>
22390
22391         stdlib: clarify MirBSD WEXITSTATUS bug
22392         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
22393         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22394
22395 2010-09-15  Eric Blake  <eblake@redhat.com>
22396
22397         stdlib: work around MirBSD WEXITSTATUS bug
22398         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
22399         * modules/stdlib (Depends-on): Add sys_wait.
22400         * tests/test-sys_wait.c (main): Enhance test.
22401         * tests/test-stdlib.c (main): Likewise.
22402         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
22403
22404         docs: mention MacOS issue with WEXITSTATUS(constant)
22405         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
22406         issue.
22407         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22408
22409         strnlen: add tests
22410         * modules/strnlen-tests: New file.
22411         * tests/test-strnlen.c: Likewise.
22412
22413 2010-09-14  Bruno Haible  <bruno@clisp.org>
22414
22415         unistr/base: Avoid link errors when module 'libunistring' is also used.
22416         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
22417         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
22418         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
22419         Declare also when HAVE_LIBUNISTRING is set.
22420         Reported by Pádraig Brady <P@draigbrady.com>.
22421
22422 2010-09-14  Eric Blake  <eblake@redhat.com>
22423
22424         test-rawmemchr: make more robust
22425         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
22426         (Depends-on, configure.ac): Add needed prerequisites to use it.
22427         * modules/memchr-tests (Files, Depends-on, configure.ac):
22428         Likewise, to avoid implicit reliance on memchr module prereqs.
22429         * tests/test-memchr.c (main): Ensure proper masking.
22430         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
22431         reads.
22432
22433         memchr: detect glibc Alpha bug
22434         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
22435         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
22436         Alpha.
22437         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
22438         * tests/test-memchr.c (main): Enhance test.
22439         Reported by Nelson H. F. Beebe.
22440
22441 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22442
22443         fts, getcwd, glob: audit for dirfd returning -1
22444         * lib/fts.c (opendir): Remove #define; no longer used.
22445         (opendirat): New arg PDIR_FD.  All callers changed.
22446         (fts_build, _opendir2): Use new opendirat to avoid the need for
22447         dirfd, or for checking whether dirfd returns a negative value.
22448         Don't use opendir; always use openat followed by fdopendir.
22449         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
22450         it.
22451         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
22452         returns -1 here.
22453         * modules/fts (Depends-on): Remove dirfd.
22454         * modules/getcwd (Depends-on): Likewise.
22455
22456 2010-09-13  Eric Blake  <eblake@redhat.com>
22457
22458         float: fix broken MirBSD header
22459         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
22460         * doc/posix-headers/float.texi (float.h): Document it.
22461
22462 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22463
22464         fts: use O_NOFOLLOW to avoid race condition when opening a directory
22465         * lib/fts.c (opendirat): New arg extra_flags.
22466         (__opendir2): Use it to avoid following symlinks when opening
22467         a directory, if symlinks are not supposed to be followed.  See
22468         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
22469
22470         fdopendir: preserve argument fd before returning
22471         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
22472         (fdopendir_with_dup, fd_clone_opendir): New static functions.
22473         (fdopendir): Use them, arranging for FD to be open to the same
22474         directory that it was when it started.  (It might be temporarily
22475         closed while fdopendir is running, so this not thread- or
22476         signal-safe.)  Be careful to do the right thing even when file
22477         descriptors are scarce and dup fails with errno == EMFILE.  See
22478         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
22479
22480 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
22481
22482         regex: Pass the system regex if its only problem is 32-bit regoff_t.
22483         * NEWS: Document change.
22484         * m4/regex.m4: Disable test for regoff_t size.
22485
22486 2010-09-13  Jim Meyering  <meyering@redhat.com>
22487
22488         fts: don't operate on an invalid file descriptor after failed dup
22489         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
22490         negative file descriptor.
22491
22492 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
22493
22494         savedir: add streamsavedir, deprecate fdsavedir
22495         * NEWS: Mention deprecation of fdsavedir.
22496         * lib/savedir.c (streamsavedir): New extern function, whose name
22497         ends in "savedir" to be consistent with the others.  This differs
22498         from savedirstream in that it doesn't close its argument.  The
22499         next version of GNU tar will use this instead of fdsavedir, to
22500         avoid some race conditions and conserve file descriptors.
22501         (savedirstream): Reimplement as a wrapper around streamsavedir.
22502         (fdsavedir): Add a comment deprecating this function.  As far as
22503         I know, only GNU tar used it, and GNU tar doesn't need it any more.
22504         * lib/savedir.h (streamsavedir): New decl.
22505         (fdsavedir): Add a comment deprecating this.
22506
22507 2010-09-10  Bruno Haible  <bruno@clisp.org>
22508
22509         langinfo: Fix last commit.
22510         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
22511         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
22512         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22513
22514 2010-09-10  Bruno Haible  <bruno@clisp.org>
22515
22516         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
22517         * lib/progreloc.c (O_EXEC): Define fallback.
22518
22519 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
22520
22521         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
22522         * NEWS: Document recent changes to fcntl-h.
22523         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
22524         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
22525         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
22526         Similarly for O_SEARCH; this last was already true, but not documented.
22527         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
22528         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
22529         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
22530         Likewise.
22531         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
22532         is zero, not whether it is defined.
22533         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
22534         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
22535         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
22536
22537 2010-09-10  Bruno Haible  <bruno@clisp.org>
22538
22539         langinfo, nl_langinfo: Fix for IRIX 5.3.
22540         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
22541         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
22542         HAVE_LANGINFO_YESEXPR.
22543         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
22544         HAVE_LANGINFO_YESEXPR.
22545         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
22546         HAVE_LANGINFO_T_FMT_AMPM is 0.
22547         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
22548         HAVE_LANGINFO_YESEXPR is 0.
22549         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
22550         NOEXPR.
22551         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
22552         * doc/posix-functions/nl_langinfo.texi: Likewise.
22553         Reported by Eric Blake.
22554
22555 2010-09-10  Bruno Haible  <bruno@clisp.org>
22556
22557         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
22558         * doc/glibc-functions/login_tty.texi: Mention the include file problem
22559         on FreeBSD 8.0 and OpenBSD 4.6.
22560         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
22561         * m4/pty_h.m4 (gl_PTY_H): Likewise.
22562         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
22563         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
22564         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
22565         ac_includes_default.
22566         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
22567
22568 2010-09-09  Eric Blake  <eblake@redhat.com>
22569
22570         strsignal: work around NetBSD bug
22571         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
22572         * lib/string.in.h (includes): Likewise.
22573         * doc/posix-functions/strsignal.texi (strsignal): Document the
22574         bug.
22575         Reported by Nelson H. F. Beebe.
22576
22577         gnulib-tool: work with NetBSD /bin/sh
22578         * gnulib-tool (func_cache_var, func_cache_lookup_module)
22579         (func_get_description, func_get_comment, func_get_status)
22580         (func_get_notice, func_get_applicability, func_get_filelist)
22581         (func_get_dependencies, func_get_autoconf_early_snippet)
22582         (func_get_autoconf_snippet, func_get_automake_snippet)
22583         (func_get_include_directive, func_get_link_directive)
22584         (func_get_license, func_get_maintainer, func_import): Avoid
22585         shell syntax errors from parsing syntax extensions.
22586
22587 2010-09-09  Bruno Haible  <bruno@clisp.org>
22588
22589         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22590         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
22591         a reliable way to determine whether the 'alias' command works.
22592
22593 2010-09-08  Jim Meyering  <meyering@redhat.com>
22594
22595         init.sh: penalize a set-x-impaired shell; don't disqualify it
22596         * tests/init.sh: Too many shells corrupt application stderr when
22597         you set -x, so we can't afford to disqualify them, since at least
22598         on Irix-6.5, that would disqualify all bourne shells.
22599         Instead, use a two-pass approach.
22600         On the first pass, try to find a shell that meets the stricter
22601         condition that set -x does not corrupt stderr.
22602         If no shell meets the stricter condition, retest each candidate
22603         shell, but without that extra condition.  Finally, when
22604         VERBOSE=yes is requested and set -x might cause trouble, simply
22605         issue a warning and refrain from enabling debug output.
22606
22607 2010-09-08  Eric Blake  <eblake@redhat.com>
22608
22609         unsetenv: fix OpenBSD bug
22610         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
22611         * doc/posix-functions/unsetenv.texi (unsetenv): Update
22612         documentation.
22613         Reported by Jim Meyering.
22614
22615         strtod: work around IRIX 6.5 bug
22616         * lib/strtod.c (strtod): Reparse number on shorter string if
22617         exponent parse was invalid.
22618         * tests/test-strtod.c (main): Add check for "0x1p 2".
22619         Reported by Tom G. Christensen.
22620
22621         getopt: optimize previous patch
22622         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
22623         empty variable.  Speed up awk script.
22624         Reported by Paolo Bonzini.
22625
22626 2010-09-08  Jim Meyering  <meyering@redhat.com>
22627
22628         test.sh: disqualify shells for which set -x corrupts stderr
22629         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
22630         and OpenBSD 4.7.  They make it so with "set -x", environment settings
22631         appear in stderr output.  For example, this command:
22632             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
22633         prints "P=1" on those two systems:
22634
22635 2010-09-08  Bruno Haible  <bruno@clisp.org>
22636
22637         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
22638         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
22639         commands, because some shells ignore redirections when there is an
22640         error in the command lookup.
22641         Reported by Eric Blake.
22642
22643 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
22644
22645         * lib/regex.h: Fix a mention of `regex_compile' (should be
22646         `re_compile_pattern').
22647         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
22648         (re_set_registers): Correct name of parameter in comment.
22649
22650         * doc/regex.texi: Add documentation for missing syntax flags.
22651         Remove commented-out documentation of defunct syntax option
22652         RE_NO_EMPTY_ALTS.
22653         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
22654         Add documentation of re_set_registers.
22655         Document trick to re-use a pattern buffer by setting fastmap manually.
22656         Update documentation of struct re_pattern_buffer per public members.
22657         Uncomment documentation of equivalence class operators and
22658         collating symbol operators, since they are now implemented,
22659         Explain leftmost-longest matching in relation to alternatives.
22660         Tidy documentation of substring matching.
22661         Remove POSIX documentation, which is done better in
22662         glibc, and refer the reader there. Keep BSD API documentation, as
22663         that is not readily available elsewhere.
22664
22665 2010-09-07  Eric Blake  <eblake@redhat.com>
22666
22667         getopt: handle POSIXLY_CORRECT set but not exported
22668         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
22669         export state of POSIXLY_CORRECT, due to bash set -o posix.
22670         Reported by Dustin J. Mitchell.
22671
22672 2010-09-05  Bruno Haible  <bruno@clisp.org>
22673
22674         gnulib-tool: Highlight the changed options.
22675         * gnulib-tool (func_usage): Display the --import, --add-import,
22676         --remove-import explanations in bold font.
22677
22678 2010-09-06  Karl Berry  <karl@gnu.org>
22679
22680         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
22681
22682 2010-09-05  Bruno Haible  <bruno@clisp.org>
22683
22684         uniwidth/width: Update comment.
22685         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
22686         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
22687
22688 2010-09-05  Bruno Haible  <bruno@clisp.org>
22689
22690         isinf, isnan: Relax license.
22691         * modules/isinf (License): Change from GPL to LGPL, with consent from
22692         Ben Pfaff.
22693         * modules/isnan (License): Likewise.
22694         Requested by Ludovic Courtès.
22695
22696 2010-09-04  Bruno Haible  <bruno@clisp.org>
22697
22698         gnulib-tool: Help migration from --import to --add-import or --update.
22699         * gnulib-tool: Emit a verbose error message when --import is used
22700         without any module name.
22701
22702 2010-09-04  Bruno Haible  <bruno@clisp.org>
22703
22704         Update doc about gnulib-tool.
22705         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
22706         'gnulib-tool --update' in more detail.
22707         Reported by Eric Blake.
22708
22709 2010-09-04  Bruno Haible  <bruno@clisp.org>
22710
22711         gnulib-tool: Change --import. New options --add/remove-import.
22712         * gnulib-tool: New options --add-import, --remove-import.
22713         (func_usage): Document them.
22714         (have_associative): Define always.
22715         (func_import): In import mode, don't merge the specified settings with
22716         the cached settings. Implement remove-import mode.
22717         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
22718         Explain when to use them versus --import.
22719         (Simple update): Use --add-import instead of --import.
22720         * NEWS: Mention the change.
22721
22722 2010-09-04  Bruno Haible  <bruno@clisp.org>
22723
22724         * doc/gnulib-tool.texi (Initial import): Update paragraph about
22725         separate gnulib.mk.
22726
22727 2010-09-04  Bruno Haible  <bruno@clisp.org>
22728
22729         gnulib-tool: Don't talk about CVS any more.
22730         * gnulib-tool (func_usage, func_import): Write "version control"
22731         instead of CVS.
22732
22733 2010-09-04  Jim Meyering  <meyering@redhat.com>
22734
22735         maint.mk: avoid obscure sc_copyright_check failure in coreutils
22736         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
22737         false positives (whose names may be ill-chosen) when searching
22738         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
22739         would cause a false-positive.
22740
22741         avoid coreutils "make distcheck" failure
22742         Coreutils tests with an absolute build directory name that contains
22743         a space.  Not quoting this directory name caused a failure.
22744         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
22745         * tests/test-vc-list-files-cvs.sh: Likewise.
22746
22747 2010-09-04  Bruno Haible  <bruno@clisp.org>
22748
22749         gnulib-tool: Avoid error when run in a package without Makefile.am.
22750         * gnulib-tool: When collecting the m4dirs in a package that does not
22751         have a Makefile.am, eliminate those directories that contain no
22752         gnulib-cache.m4. Fix expression that counts these directories.
22753
22754 2010-09-04  Bruno Haible  <bruno@clisp.org>
22755
22756         update-copyright test: Improve output when perl is missing or too old.
22757         * tests/test-update-copyright.sh: Move test of Perl version down after
22758         the test whether Perl exists. Provide an explanation relating Perl's
22759         error message to Automake's SKIP: message.
22760
22761 2010-09-04  Bruno Haible  <bruno@clisp.org>
22762
22763         Don't augment PATH in TESTS_ENVIRONMENT.
22764         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
22765         set abs_aux_dir instead of augmenting PATH.
22766         * modules/vc-list-files-tests (Makefile.am): Likewise.
22767         * tests/test-update-copyright.sh: Augment PATH here.
22768         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
22769         path_prepend_.
22770         * tests/test-vc-list-files-git.sh: Likewise.
22771
22772 2010-09-04  Jim Meyering  <meyering@redhat.com>
22773
22774         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
22775         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
22776
22777 2010-09-04  Bruno Haible  <bruno@clisp.org>
22778
22779         strdup: Fix compilation error in C++ mode.
22780         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
22781         the macro.
22782
22783 2010-09-04  Bruno Haible  <bruno@clisp.org>
22784
22785         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
22786         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
22787         macro into a function.
22788         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22789
22790 2010-09-04  Bruno Haible  <bruno@clisp.org>
22791
22792         Set PATH_SEPARATOR the same way autoconf does.
22793         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
22794         the value of PATH_SEPARATOR the same way autoconf-generated configure
22795         scripts do.
22796         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
22797         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22798
22799 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
22800
22801         Set PATH_SEPARATOR the same way autoconf does.
22802         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
22803         the same way autoconf-generated configure scripts do.
22804         * posix-modules: Likewise.
22805
22806 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
22807
22808         hash: fix safe_hasher const typo
22809         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
22810         const; otherwise, there is a type error later.
22811
22812 2010-09-02  Jim Meyering  <meyering@redhat.com>
22813
22814         test-update-copyright.sh: require perl 5.8.0
22815         * tests/test-update-copyright.sh: Require 5.8.0,
22816         which Tom G. Christensen has confirmed is adequate,
22817         while 5.6.1 is not.
22818
22819 2010-09-02  Eric Blake  <eblake@redhat.com>
22820
22821         tests: init.sh improvements for re-exec'ing with zsh
22822         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
22823         -vx through shell re-exec.
22824         Reported by Tom G. Christensen.
22825
22826         wctype: fix typo in previous commit
22827         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
22828         Reported by Ludovic Courtès.
22829
22830 2010-09-02  Jim Meyering  <meyering@redhat.com>
22831
22832         test-update-copyright.sh: skip test if Perl is too old
22833         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
22834         Reported by Tom G. Christensen.
22835
22836 2010-09-02  Bruno Haible  <bruno@clisp.org>
22837
22838         wctype: Avoid compilation error on IRIX 6.5.30.
22839         * lib/wctype.in.h (iswblank): Declare with a replacement if
22840         REPLACE_ISWBLANK is set.
22841         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
22842         declared. Set REPLACE_ISWBLANK.
22843         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
22844         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
22845         * doc/posix-headers/wctype.texi: Likewise.
22846         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22847
22848 2010-09-01  Bruno Haible  <bruno@clisp.org>
22849
22850         New module 'socketlib'.
22851         * modules/socketlib: New file.
22852         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
22853         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
22854         * modules/sockets (Depends-on): Add socketlib.
22855         Suggested by Sam Steingold <sds@gnu.org>.
22856
22857 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
22858
22859         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
22860
22861         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
22862         when one needs search access to a directory but not read access.
22863         On systems where it is available, it works in some cases where
22864         O_RDONLY does not, namely on directories that are searchable but
22865         not readable, and which need only to be searchable.  If O_SEARCH
22866         is not available, fall back to the traditional method of using
22867         O_RDONLY.
22868
22869         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
22870         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
22871         when opening a directory that needs only to be searchable.
22872         * lib/chdir-safer.c (chdir_no_follow): Likewise.
22873         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
22874         * lib/openat-proc.c (openat_proc_name): Likewise.
22875         * lib/openat.c (openat_needs_fchdir): Likewise.
22876         * lib/save-cwd.c (save_cwd): Likewise.
22877         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
22878
22879 2010-08-28  Bruno Haible  <bruno@clisp.org>
22880
22881         New module 'host-cpu-c-abi'.
22882         * modules/host-cpu-c-abi: New file.
22883         * m4/host-cpu-c-abi.m4: New file, based on part of
22884         clisp/src/m4/general.m4.
22885         Requested by Sam Steingold <sds@gnu.org>.
22886
22887 2010-08-31  Eric Blake  <eblake@redhat.com>
22888         and Jim Meyering  <meyering@redhat.com>
22889
22890         hash: factor, and guard against misbehaving hasher function
22891         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
22892         of table->hasher's return value.  Also protect against a hash value
22893         so large that adding it to table->bucket results in a NULL pointer.
22894         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
22895         Use it in place of open-coded check-and-abort.
22896
22897 2010-08-30  Bruno Haible  <bruno@clisp.org>
22898
22899         hash: silence spurious clang warning
22900         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
22901         Reported by Eric Blake.
22902
22903 2010-08-30  Eric Blake  <eblake@redhat.com>
22904
22905         strstr, memmem, strcasestr: avoid leaked shell message
22906         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
22907         FreeBSD.
22908         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22909         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22910
22911         tests: silence clang warning
22912         * tests/test-malloca.c (do_allocation): Avoid dead store.
22913
22914 2010-08-29  Bruno Haible  <bruno@clisp.org>
22915
22916         gettext: Fix recent mistake.
22917         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
22918
22919 2010-08-29  Bruno Haible  <bruno@clisp.org>
22920
22921         selinux-h: Offer a --without-selinux option.
22922         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
22923         --without-selinux was specified, skip all tests and define
22924         HAVE_SELINUX_SELINUX_H to 0.
22925         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
22926         set LIB_SELINUX to empty.
22927         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
22928         gl_LIBSELINUX. If --without-selinux was specified, replace
22929         selinux/context.h.
22930         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
22931
22932 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22933             Bruno Haible  <bruno@clisp.org>
22934
22935         Make the module 'realloc-gnu' work again on AIX and OSF/1.
22936         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
22937         of HAVE_REALLOC.
22938         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
22939         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
22940         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
22941         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
22942
22943 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22944             Bruno Haible  <bruno@clisp.org>
22945
22946         Make the module 'calloc-gnu' work again on AIX and OSF/1.
22947         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
22948         HAVE_CALLOC.
22949         * lib/xmalloc.c: Update accordingly.
22950         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
22951         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
22952         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
22953
22954 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
22955             Bruno Haible  <bruno@clisp.org>
22956
22957         Make the module 'malloc-gnu' work again on AIX and OSF/1.
22958         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
22959         HAVE_MALLOC.
22960         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
22961         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
22962         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
22963
22964 2010-08-29  Bruno Haible  <bruno@clisp.org>
22965
22966         Update modules list.
22967         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
22968         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
22969         (String handling <string.h>): Add astrxfrm.
22970         (File system functions): Add readlinkat.
22971
22972 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22973
22974         Tests for module 'realloc-gnu'.
22975         * modules/realloc-gnu-tests: New file.
22976         * tests/test-realloc-gnu.c: New file.
22977
22978         Tests for module 'calloc-gnu'.
22979         * modules/calloc-gnu-tests: New file.
22980         * tests/test-calloc-gnu.c: New file.
22981
22982         Tests for module 'malloc-gnu'.
22983         * modules/malloc-gnu-tests: New file.
22984         * tests/test-malloc-gnu.c: New file.
22985
22986 2010-08-28  Bruno Haible  <bruno@clisp.org>
22987
22988         Rename module 'realloc' -> 'realloc-gnu'.
22989         * modules/realloc-gnu: New file, copied from modules/realloc.
22990         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
22991         obsolete.
22992         * modules/mgetgroups (Depends-on): Update.
22993         * doc/posix-functions/realloc.texi: Update.
22994         * NEWS: Mention the change.
22995
22996         Rename module 'calloc' -> 'calloc-gnu'.
22997         * modules/calloc-gnu: New file, copied from modules/calloc.
22998         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
22999         obsolete.
23000         * doc/posix-functions/calloc.texi: Update.
23001         * NEWS: Mention the change.
23002
23003         Rename module 'malloc' -> 'malloc-gnu'.
23004         * modules/malloc-gnu: New file, copied from modules/malloc.
23005         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
23006         obsolete.
23007         * modules/argp (Depends-on): Update.
23008         * modules/regex (Depends-on): Update.
23009         * doc/posix-functions/malloc.texi: Update.
23010         * NEWS: Mention the change.
23011
23012 2010-08-28  Eric Blake  <eblake@redhat.com>
23013
23014         pread, pwrite: add missing dependency
23015         * modules/pread (Depends-on): Add extensions.
23016         * modules/pwrite (Depends-on): Likewise.
23017
23018 2010-08-28  Bruno Haible  <bruno@clisp.org>
23019
23020         unistr/u*-strchr: Fix tests dependencies.
23021         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
23022         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
23023         Reported by Ian Beckwith <ianb@erislabs.net>.
23024
23025 2010-08-28  Bruno Haible  <bruno@clisp.org>
23026
23027         read-file: Don't occupy too much unused memory.
23028         * lib/read-file.c (fread_file): Shrink the buffer at the end.
23029
23030 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
23031             Eric Blake  <eblake@redhat.com>
23032             Bruno Haible  <bruno@clisp.org>
23033
23034         read-file: Avoid memory reallocations with regular files.
23035         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
23036         (fread_file): With regular files, use the remaining length as the
23037         initial buffer size.  Check against overflow.
23038         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
23039         sys_stat.
23040
23041 2010-08-28  Bruno Haible  <bruno@clisp.org>
23042
23043         ftello: Relax license.
23044         * modules/ftello (License): Relax to LGPLv2+.
23045         Reported by Eric Blake.
23046
23047 2010-08-28  Bruno Haible  <bruno@clisp.org>
23048
23049         Avoid relocwrapper link errors due to gnulib replacement functions.
23050         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
23051         function.
23052         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23053
23054 2010-08-28  Bruno Haible  <bruno@clisp.org>
23055
23056         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
23057         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
23058         defined.
23059         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
23060         Suggested by Eric Blake.
23061
23062 2010-08-28  Bruno Haible  <bruno@clisp.org>
23063
23064         sys_socket, netdb: Ensure socklen_t gets defined.
23065         * modules/sys_socket (Depends-on): Add socklen.
23066         * modules/netdb (Depends-on): Likewise.
23067         * modules/getaddrinfo (Depends-on): Remove socklen.
23068         * modules/getsockopt (Depends-on): Likewise.
23069         * modules/setsockopt (Depends-on): Likewise.
23070         * tests/test-sys_socket.c: Check that socklen_t is defined.
23071         * tests/test-netdb.c: Likewise.
23072         * m4/socklen.m4: Update comments.
23073         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23074
23075 2010-08-27  Eric Blake  <eblake@redhat.com>
23076
23077         login_tty: add missing dependency
23078         * modules/login_tty (Depends-on): Add pty.
23079
23080 2010-08-26  Eric Blake  <eblake@redhat.com>
23081
23082         lib-symbol-versions: fix m4 quoting
23083         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
23084         format for AC_LINK_IFELSE.
23085
23086         glob: fix compile test
23087         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
23088
23089         btowc: fix missing file
23090         * modules/btowc (Files): Also ship locale-fr.m4.
23091
23092         lseek: fix link test
23093         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
23094         AC_LINK_IFELSE.
23095
23096         include_next: silence autoconf 2.68 warning
23097         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
23098         AC_COMPILE_IFELSE as special.
23099         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
23100         autoconf < 2.68.
23101
23102         acl: fix compilation test
23103         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
23104         AC_COMPILE_IFELSE.
23105
23106 2010-08-26  Bruno Haible  <bruno@clisp.org>
23107
23108         Modernize AC_TRY_RUN invocations.
23109         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
23110         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
23111         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
23112         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
23113         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
23114         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23115         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23116         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23117         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23118         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23119         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23120         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23121         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23122         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23123         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23124         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23125         gl_MBRLEN_NUL_RETVAL): Likewise.
23126         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23127         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
23128         Likewise.
23129         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23130         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23131         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23132         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23133         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
23134         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
23135         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
23136         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
23137         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
23138         Likewise.
23139         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
23140         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
23141         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23142         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23143         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23144         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23145         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23146         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
23147         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23148         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23149
23150 2010-08-26  Bruno Haible  <bruno@clisp.org>
23151
23152         Modernize AC_TRY_LINK invocations.
23153         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
23154         AC_TRY_LINK.
23155         * m4/argp.m4 (gl_ARGP): Likewise.
23156         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
23157         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
23158         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
23159         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
23160         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
23161         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
23162         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
23163         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
23164         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
23165         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
23166         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
23167         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
23168         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
23169         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23170         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23171         * m4/hostent.m4 (gl_HOSTENT): Likewise.
23172         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23173         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
23174         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
23175         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
23176         Likewise.
23177         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
23178         Likewise.
23179         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
23180         Likewise.
23181         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
23182         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
23183         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
23184         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
23185         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
23186         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
23187         * m4/servent.m4 (gl_SERVENT): Likewise.
23188         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
23189         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
23190         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
23191         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
23192         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23193         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
23194         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
23195         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
23196         * modules/tsearch-tests (configure.ac): Likewise.
23197
23198 2010-08-26  Bruno Haible  <bruno@clisp.org>
23199
23200         Modernize AC_TRY_COMPILE invocations.
23201         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
23202         AC_TRY_COMPILE.
23203         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
23204         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
23205         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
23206         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
23207         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
23208         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23209         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23210         * m4/lock.m4 (gl_LOCK): Likewise.
23211         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
23212         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
23213         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
23214         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
23215         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23216         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
23217         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
23218         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
23219         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23220         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23221         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23222         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23223         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
23224         extraneous semicolon.
23225
23226 2010-08-26  Jim Meyering  <meyering@redhat.com>
23227
23228         stat-time: relax license LGPL
23229         * modules/stat-time (License): Change from GPL to LGPL,
23230         with consent from all contributors, for use in libguile.
23231         Requested by Ludovic Courtès.
23232
23233 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
23234
23235         poll: return immediately on POLLHUP.
23236         * lib/poll.c (poll): Always set timeout before wait_timeout is
23237         computed.
23238
23239 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23240
23241         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
23242         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
23243         rmdir ("dir/.//"), unlinkat.
23244
23245 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
23246
23247         stdbool: avoid spurious failure with modern xlc
23248         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23249
23250 2010-08-24  Bruno Haible  <bruno@clisp.org>
23251
23252         getloadavg: simplify code
23253         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
23254         gl_have_func. Update comments.
23255
23256 2010-08-24  Eric Blake  <eblake@redhat.com>
23257
23258         getloadavg: don't define SVR4 on cygwin
23259         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
23260         only define SVR4 when -lkvm is required.
23261         Reported by Yaakov Selkowitz.
23262
23263 2010-08-24  Bruno Haible  <bruno@clisp.org>
23264
23265         priv-set: fix comment
23266         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
23267
23268 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
23269
23270         priv-set: fix comments
23271         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
23272         to match code, as suggested by David Bartley in:
23273         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
23274
23275 2010-08-23  Eric Blake  <eblake@redhat.com>
23276
23277         stdbool: avoid rejecting clang
23278         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
23279         * tests/test-stdbool.c: Enable more tests if using the system
23280         <stdbool.h> instead of the gnulib replacement.
23281         (main): Move xlc bug test to a runtime test for all compilers.
23282         Reported by Anders Kaseorg.
23283
23284         argz: fix shell quoting issue
23285         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
23286         Reported by Charles Wilson.
23287
23288 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
23289             Erik Faye-Lund <kusmabite@gmail.com>
23290
23291         poll, select: handle ERROR_BROKEN_PIPE.
23292         * lib/poll.c (win32_compute_revents): Return POLLHUP when
23293         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23294         * lib/select.c (win32_compute_revents): Do not mark a pipe
23295         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
23296
23297 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
23298
23299         fts: allow compilation with C++
23300         * lib/fts_.h: Specify extern "C" linkage with C++.
23301
23302 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23303
23304         Fix gnulib-tool sed script de-commentation for AIX sed.
23305         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
23306         sed.
23307
23308 2010-08-17  Eric Blake  <eblake@redhat.com>
23309
23310         test-stddef: test for (some) offsetof bugs
23311         * tests/test-stddef.c: Enhance test to ensure correct type of
23312         offsetof.
23313         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
23314         that we are not fixing at this time.
23315
23316 2010-08-15  Bruno Haible  <bruno@clisp.org>
23317
23318         stpncpy: Allow stpncpy to be defined as a macro.
23319         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
23320         if it's already correctly declared.
23321         * lib/string.in.h (stpncpy): Undefine before redefining.
23322         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
23323
23324 2010-08-14  Bruno Haible  <bruno@clisp.org>
23325
23326         Rename module 'memxfrm' to 'amemxfrm'.
23327         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
23328         (amemxfrm): Renamed from memxfrm.
23329         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
23330         (amemxfrm): Renamed from memxfrm.
23331         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
23332         * NEWS: Mention the change.
23333         * MODULES.html.sh (String handling <string.h>): Update.
23334         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
23335         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
23336         * lib/unicase/u16-casexfrm.c: Likewise.
23337         * lib/unicase/u32-casexfrm.c: Likewise.
23338         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
23339         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
23340         * lib/uninorm/u16-normxfrm.c: Likewise.
23341         * lib/uninorm/u32-normxfrm.c: Likewise.
23342         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
23343         memxfrm.
23344         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
23345         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
23346         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
23347         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
23348         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
23349         Suggested by Paul Eggert.
23350
23351 2010-08-14  Bruno Haible  <bruno@clisp.org>
23352
23353         Tests for module 'astrxfrm'.
23354         * modules/astrxfrm-tests: New file.
23355         * tests/test-astrxfrm.c: New file.
23356
23357         New module 'astrxfrm'.
23358         * lib/astrxfrm.h: New file.
23359         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
23360         * modules/astrxfrm: New file.
23361
23362 2010-08-14  Reuben Thomas <rrt@sc3d.org>
23363
23364         regex: Tweak doc.
23365         * doc/regex.texi (Overview): Don't mention regex.c.
23366         (GNU Regular Expression Compiling): Likewise.
23367         (Match-end-of-line Operator): Mention 'not_eol'.
23368
23369 2010-08-14  Brian Gough  <bjg@gnu.org>
23370             Bruno Haible  <bruno@clisp.org>
23371
23372         git-merge-changelog: add doc relating to use with bzr and hg.
23373         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
23374
23375 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
23376
23377         pthread: fix pthread.h creation for srcdir != builddir
23378         * modules/pthread (Makefile.am): Fix the rule to work also in a
23379         non-srcdir build.
23380
23381 2010-08-13  Karl Berry  <karl@gnu.org>
23382
23383         * doc/regex.texi (Predefined Syntaxes): @smallexample.
23384         * doc/posix-*/*: force line break before @url of POSIX
23385         specifications.
23386         Suggested by Werner Lemberg.
23387
23388 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
23389
23390         strtod: fix const diagnostic
23391         * lib/strtod.c (strtod): Don't assign const char * to char *,
23392         as this elicits a warning from GCC when warnings are enabled.
23393
23394 2010-08-10  Pádraig Brady <P@draigbrady.com>
23395         and Eric Blake  <eblake@redhat.com>
23396
23397         copy-acl: ignore ENOTSUP on HP-UX
23398         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
23399         so that it is available for HP-UX.
23400         * lib/copy-acl.c (qcopy_acl): Use it.
23401         Reported by Patrick M. Callahan.
23402
23403 2010-08-10  Eric Blake  <eblake@redhat.com>
23404
23405         open, chown: relax license
23406         * modules/open (License): Change to LGPLv2+, with consent by all
23407         authors, for use in augeas.
23408         * modules/chown (License): Likewise.
23409         * modules/lchown (Likewise): Likewise.
23410         Requested by Adam Stokes.
23411
23412 2010-08-09  Karl Berry  <karl@gnu.org>
23413
23414         * build-aux/ar-lib: new file, import from Automake.
23415         * config/srclist.txt: autocheck for updates.
23416
23417 2010-08-09  Eric Blake  <eblake@redhat.com>
23418
23419         readlinkat: adjust client modules
23420         * modules/areadlinkat (Depends-on): Use readlinkat, not
23421         symlinkat.
23422         * modules/areadlinkat-with-size (Depends-on): Likewise.
23423
23424         mknod: be more vocal about danger of running tests as root
23425         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
23426         root, since that is just asking for problems.
23427         Suggested by Bruno Haible, based on a report by Rainer Tammer.
23428
23429         readlinkat: split into its own module
23430         * modules/symlinkat: Split readlinkat...
23431         * modules/readlinkat: ...into separate module.
23432         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
23433         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
23434         * lib/symlinkat.c (readlinkat): Move...
23435         * lib/readlinkat.c: ...into new file.
23436         * modules/symlinkat-tests: Split readlinkat test...
23437         * modules/readlinkat-tests: ...into separate module.
23438         * tests/test-symlinkat.c: Split...
23439         * tests/test-readlinkat.c: ...into new file.
23440         * NEWS: Document the split.
23441         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23442         * lib/unistd.in.h (readlinkat): Likewise.
23443         Suggested by Bruno Haible.
23444
23445 2010-08-08  Bruno Haible  <bruno@clisp.org>
23446
23447         memxfrm: Speed up.
23448         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
23449         that usually only one call to strxfrm is necessary for each string
23450         part.
23451         Reported by Paul Eggert <eggert@cs.ucla.edu>.
23452
23453 2010-08-07  Karl Berry  <karl@gnu.org>
23454
23455         * doc/posix-headers/limits.texi,
23456         * doc/posix-functions/malloc.texi,
23457         * doc/posix-functions/strsignal.texi: missing @item.
23458         * doc/ld-version-script.texi: spurious leading i.
23459         * doc/regex.texi (Interval Operators): no commas inside @var.
23460
23461 2010-08-01  Bruno Haible  <bruno@clisp.org>
23462
23463         Integrate the regex documentation.
23464         * doc/gnulib.texi: Define 'cn' index.
23465         (Regular expressions): New a chapter that includes regex.texi and
23466         regexprops-generic.texi.
23467         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
23468         syntax.
23469
23470         Whitespace cleanup.
23471         * doc/regex.texi: Remove trailing spaces.
23472
23473         Add regex documentation.
23474         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
23475         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
23476         Written by Kathy A. Hargreaves and Karl Berry.
23477
23478 2010-08-01  Bruno Haible  <bruno@clisp.org>
23479
23480         link: Update documentation.
23481         * doc/posix-functions/link.texi: Update regarding Solaris.
23482
23483 2010-07-31  Bruno Haible  <bruno@clisp.org>
23484
23485         Update modules list.
23486         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
23487         (String handling <string.h>): Add memcmp2, memxfrm.
23488         (Container data structures): Add xlist, xsublist, xoset.
23489         (Core language properties): Add alignof, unused-parameter.
23490         (Process control, Numeric conversion functions <stdlib.h>): Renamed
23491         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
23492         (Unibyte characters <ctype.h>): New section.
23493         (String handling <string.h>): New section.
23494         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
23495         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
23496         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
23497         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
23498         tan, tanh, tanl, y0, y1, yn.
23499         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
23500         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
23501         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
23502         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
23503         unlockpt, vdprintf, vdprintf-posix.
23504         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
23505         (File system functions): Add concat-filename, sys_file, sys_ioctl,
23506         xconcat-filename.
23507         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
23508         getdtablesize, pipe2, pipe2-safer.
23509         (Security): New section.
23510         (Networking functions): Add accept4.
23511         (Signal handling): Add sigpipe.
23512         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
23513         mbmemcasecoll.
23514         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
23515         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
23516         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
23517         pipe-filter-ii.
23518         (Misc): Add argp-version-etc, login_tty, parse-duration.
23519
23520 2010-07-31  Bruno Haible  <bruno@clisp.org>
23521
23522         Improve doc in MODULES.html.
23523         * modules/linkat (Description): Add the word "function".
23524         * modules/mkfifo (Description): Likewise.
23525         * modules/mknod (Description): Likewise.
23526         * modules/remove (Description): Likewise.
23527         * modules/renameat (Description): Likewise.
23528         * modules/stat (Description): Likewise.
23529         * modules/symlink (Description): Likewise.
23530         * modules/unlink (Description): Likewise.
23531
23532 2010-07-31  Bruno Haible  <bruno@clisp.org>
23533
23534         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
23535         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
23536         option --enable/disable-c++ instead of --enable/disable-cxx.
23537         * NEWS: Mention the change.
23538
23539 2010-07-31  Bruno Haible  <bruno@clisp.org>
23540
23541         readlink, areadlink: Relax test a bit.
23542         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
23543         alternative to ENOTDIR.
23544         * tests/test-areadlink.h (test_areadlink): Likewise.
23545         Reported by Rainer Tammer.
23546
23547 2010-07-31  Bruno Haible  <bruno@clisp.org>
23548
23549         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
23550         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
23551         character, perform the search using U_STRCHR.
23552         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
23553         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
23554         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
23555         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
23556         Suggested by Paolo Bonzini.
23557
23558 2010-07-31  Bruno Haible  <bruno@clisp.org>
23559
23560         unistr/u*-strstr: Fix dependencies.
23561         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
23562         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
23563         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
23564
23565 2010-07-31  Bruno Haible  <bruno@clisp.org>
23566
23567         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
23568         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
23569         the beginning of the loop.
23570         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
23571         cases in 'switch' statement.
23572
23573         unistr/u8-strchr: Fix several bugs.
23574         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
23575         the string. When not found, return NULL, not a pointer near the end.
23576
23577         More tests for unistr/u8-strchr.
23578         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
23579         that the function does not read past the first occurrence of the byte
23580         being searched.
23581         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
23582         * tests/unistr/test-u16-strchr.c (main): New function.
23583         * tests/unistr/test-u32-strchr.c (main): New function.
23584
23585 2010-07-31  Bruno Haible  <bruno@clisp.org>
23586
23587         posix-modules: Ignore backup files of documentation files.
23588         * posix-modules: grep only through files named *.texi.
23589
23590 2010-07-31  Bruno Haible  <bruno@clisp.org>
23591
23592         symlinkat: Fix documentation.
23593         * doc/posix-functions/readlinkat.texi: Fix module name.
23594
23595 2010-07-31  Bruno Haible  <bruno@clisp.org>
23596
23597         fchownat: Replace also when chown has the trailing slash bug.
23598         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
23599         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
23600         introduced on 2010-04-10.
23601         Reported by Rainer Tammer.
23602
23603 2010-07-31  Bruno Haible  <bruno@clisp.org>
23604
23605         linkat: Work around AIX 7.1 bug.
23606         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
23607         whether linkat handles trailing slash correctly. If not, replace linkat
23608         and define LINKAT_TRAILING_SLASH_BUG.
23609         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
23610         check whether (fd1,file1) points to a directory if file1 or file2 ends
23611         in a slash. Code taken from lib/link.c.
23612         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
23613         Reported by Rainer Tammer.
23614
23615 2010-07-31  Bruno Haible  <bruno@clisp.org>
23616
23617         Correctly determine whether pow is available in libc on AIX 7 with xlc.
23618         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
23619         This disables an xlc optimization that was causing wrong test results.
23620         Reported by Rainer Tammer.
23621
23622 2010-07-31  Bruno Haible  <bruno@clisp.org>
23623
23624         iconv: Work around AIX 6.1..7.1 bug.
23625         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
23626         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
23627         cross-compiling, guess no on all versions of AIX.
23628         Reported by Rainer Tammer.
23629
23630 2010-07-31  Bruno Haible  <bruno@clisp.org>
23631
23632         readlink: Relax test a bit.
23633         * tests/test-readlink.h (test_readlink): Allow different errno value
23634         when readlink is called with a file name that ends in / and refers to
23635         a file.
23636         Suggested by Eric Blake.
23637         Reported by Rainer Tammer.
23638
23639 2010-07-31  Bruno Haible  <bruno@clisp.org>
23640
23641         copysign: Does not require -lm on glibc systems.
23642         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
23643         gl_COMMON_DOUBLE_MATHFUNC.
23644         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
23645
23646 2010-07-31  Bruno Haible  <bruno@clisp.org>
23647
23648         duplocale: Work around AIX 7.1 bug.
23649         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
23650         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
23651         * lib/duplocale.c (rpl_duplocale): Update comment.
23652         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
23653         Reported by Rainer Tammer.
23654
23655 2010-07-30  Bruno Haible  <bruno@clisp.org>
23656
23657         dirfd: Avoid link error on AIX 7.1.
23658         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
23659         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
23660         exist, set REPLACE_DIRFD.
23661         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
23662         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
23663         * doc/posix-functions/dirfd.texi: Update.
23664         Reported by Rainer Tammer.
23665
23666 2010-07-30  Eric Blake  <eblake@redhat.com>
23667
23668         strtod: next round of AIX fixes
23669         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
23670         exponent.
23671         * tests/test-strtod.c (main): Enhance tests.
23672         * doc/posix-functions/strtod.texi (strtod): Document next bug.
23673         Reported by Rainer Tammer.
23674
23675         futimens: fix configure check
23676         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
23677         Reported by Bruno Haible.
23678
23679 2010-07-30  Bruno Haible  <bruno@clisp.org>
23680
23681         getline: Update regarding AIX.
23682         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
23683         Reported by Rainer Tammer.
23684
23685 2010-07-30  Bruno Haible  <bruno@clisp.org>
23686
23687         wcwidth: Drop replacement on AIX 7.
23688         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
23689         AIX 7.
23690         Reported by Rainer Tammer.
23691
23692 2010-07-30  Bruno Haible  <bruno@clisp.org>
23693
23694         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
23695         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
23696         a 'char *'.
23697         Reported by Rainer Tammer.
23698
23699 2010-07-30  Bruno Haible  <bruno@clisp.org>
23700
23701         unlink: Update regarding AIX.
23702         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
23703         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
23704         Reported by Rainer Tammer.
23705
23706 2010-07-30  Bruno Haible  <bruno@clisp.org>
23707
23708         symlink: Update regarding AIX.
23709         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
23710         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
23711         Reported by Rainer Tammer.
23712
23713 2010-07-30  Bruno Haible  <bruno@clisp.org>
23714
23715         strndup: Update regarding AIX.
23716         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
23717         AIX 7.
23718         Reported by Rainer Tammer.
23719
23720 2010-07-30  Bruno Haible  <bruno@clisp.org>
23721
23722         stat: Update regarding AIX.
23723         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
23724         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
23725         Reported by Rainer Tammer.
23726
23727 2010-07-30  Bruno Haible  <bruno@clisp.org>
23728
23729         truncl: Fix autoconf test.
23730         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
23731         whether truncl works.
23732         Reported by Rainer Tammer.
23733
23734 2010-07-30  Bruno Haible  <bruno@clisp.org>
23735
23736         round: Update regarding AIX.
23737         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
23738         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
23739         Reported by Rainer Tammer.
23740
23741 2010-07-30  Bruno Haible  <bruno@clisp.org>
23742
23743         rename: Update regarding AIX.
23744         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
23745         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
23746         Reported by Rainer Tammer.
23747
23748 2010-07-30  Bruno Haible  <bruno@clisp.org>
23749
23750         printf.m4: Update regarding AIX.
23751         * m4/printf.m4: Update comments regarding AIX.
23752         Reported by Rainer Tammer.
23753
23754 2010-07-30  Bruno Haible  <bruno@clisp.org>
23755
23756         iconv: Update regarding AIX.
23757         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
23758         AIX 7.
23759         Reported by Rainer Tammer.
23760
23761 2010-07-30  Bruno Haible  <bruno@clisp.org>
23762
23763         getopt: Update regarding AIX.
23764         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
23765         no on AIX.
23766         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
23767         Reported by Rainer Tammer.
23768
23769 2010-07-30  Bruno Haible  <bruno@clisp.org>
23770
23771         ldexpl; Update regarding AIX.
23772         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
23773         on AIX 7.
23774         Reported by Rainer Tammer.
23775
23776 2010-07-30  Bruno Haible  <bruno@clisp.org>
23777
23778         frexpl: Update regarding AIX.
23779         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
23780         on AIX 7.
23781         Reported by Rainer Tammer.
23782
23783 2010-07-30  Bruno Haible  <bruno@clisp.org>
23784
23785         open, fopen: Update regarding AIX.
23786         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
23787         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
23788         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
23789         * doc/posix-functions/fopen.texi: Likewise.
23790         Reported by Rainer Tammer.
23791
23792 2010-07-30  Bruno Haible  <bruno@clisp.org>
23793
23794         chown: Update doc regarding AIX.
23795         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
23796         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
23797         Reported by Rainer Tammer.
23798
23799 2010-07-30  Eric Blake  <eblake@redhat.com>
23800
23801         strtod: fix bug in replacement function on AIX
23802         * lib/strtod.c (strtod): Special case broken "0x" parse in
23803         underlying strtod.
23804         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
23805         * doc/posix-functions/strtod.texi (strtod): Likewise.
23806         Reported by Rainer Tammer.
23807
23808 2010-07-30  Bruno Haible  <bruno@clisp.org>
23809
23810         mbrlen: Fix cross-compilation guess for AIX.
23811         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
23812         guess. Leftover from 2008-12-22.
23813
23814 2010-07-30  Bruno Haible  <bruno@clisp.org>
23815
23816         mbrtowc: Fix cross-compilation guess for AIX.
23817         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
23818         guess. Leftover from 2008-12-21.
23819
23820 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
23821
23822         init.sh: work around trap limitation of some shells
23823         * tests/init.sh (setup_): Move exit trap outside of shell function.
23824
23825 2010-07-29  Eric Blake  <eblake@redhat.com>
23826
23827         strtod: aid debugging
23828         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
23829         understanding why strtod is rejected.
23830
23831 2010-07-28  Bruno Haible  <bruno@clisp.org>
23832
23833         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
23834         * lib/unistr/u8-chr.c: Include <string.h>.
23835         * tests/unistr/test-u8-chr.c: Likewise.
23836         * tests/unistr/test-u16-chr.c: Likewise.
23837         * tests/unistr/test-u32-chr.c: Likewise.
23838         * tests/unistr/test-u8-strchr.c: Likewise.
23839         * tests/unistr/test-u16-strchr.c: Likewise.
23840         * tests/unistr/test-u32-strchr.c: Likewise.
23841         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
23842         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
23843         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
23844         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
23845
23846 2010-07-28  Bruno Haible  <bruno@clisp.org>
23847
23848         Use spaces for indentation, not tabs.
23849         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
23850
23851 2010-07-27  Bruno Haible  <bruno@clisp.org>
23852
23853         mbspcasecmp: Fix function specification.
23854         * lib/string.in.h (mbspcasecmp): Fix specification comment.
23855         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
23856         Reported by Eric Blake <eblake@redhat.com>.
23857
23858 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
23859
23860         timespec: use cast and not conditional, as truncation isn't possible
23861         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
23862         instead of a conditional.  Comment about the situation in more detail.
23863         This undoes most of the 2009-10-29 patch.
23864
23865 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
23866
23867         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
23868         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
23869         * lib/unistr/u8-strchr.c: Likewise.
23870         * modules/unistr/u8-chr: Depend on memchr.
23871
23872         unistr/u*-strchr: add tests
23873         * modules/unistr/u8-strchr-tests: New file.
23874         * modules/unistr/u16-strchr-tests: New file.
23875         * modules/unistr/u32-strchr-tests: New file.
23876         * tests/unistr/test-strchr.h: New file.
23877         * tests/unistr/test-u8-strchr.c: New file.
23878         * tests/unistr/test-u16-strchr.c: New file.
23879         * tests/unistr/test-u32-strchr.c: New file.
23880
23881         unistr/u*-chr: test multibyte sequences more
23882         * tests/unistr/test-chr.h: Do complete testing of the characters in the
23883         test vector.
23884         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
23885         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
23886         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
23887
23888         unistr/u*-chr: test multibyte sequences
23889         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
23890
23891         unistr/u*-chr: prepare for multibyte tests
23892         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
23893         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
23894         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
23895         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
23896         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
23897         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
23898
23899 2010-07-18  Bruno Haible  <bruno@clisp.org>
23900
23901         unistr/u8-strchr: Optimize non-ASCII argument case.
23902         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
23903         because the first byte often matches anyway.
23904         Reported by Pádraig Brady <P@draigbrady.com>.
23905
23906 2010-07-15  Karl Berry  <karl@gnu.org>
23907
23908         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
23909
23910 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
23911
23912         getcwd: on Solaris, work better if ancestors are inaccessible
23913         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
23914         buffer and size, try again with a large buffer.  This works better
23915         on Solaris, since its getcwd succeeds even if the path to the root
23916         is inaccessible, and this is helpful in common cases such as .zfs
23917         hidden directories.  Problem reported by J Chapman Flack in
23918         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
23919         Use system getcwd if it's declared, not merely if it's partly
23920         working; use the partly-working test only to avoid needless effort
23921         if the system getcwd fails.
23922         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
23923         comment that was already obsolete and is now even more obsolete.
23924         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
23925         now might call strdup.
23926
23927 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
23928
23929         pthread: Add enough so that coreutils/src/sort.c compiles.
23930         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
23931         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
23932         gnulib. Include <sched.h> and <time.h>, as per POSIX.
23933         Include <sys/types.h>, in case it defines pthread_t.
23934         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
23935         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
23936         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
23937         (pthread_rwlockattr_t, pthread_spinlock_t):
23938         New typedefs, if HAVE_PTHREAD_T is not defined.
23939         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
23940         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
23941         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
23942         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
23943         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
23944         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
23945         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
23946         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
23947         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
23948         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
23949         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
23950         New macros.
23951         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
23952         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
23953         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
23954         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
23955         (pthread_spin_unlock): New dummy functions.
23956         (pthread_create): Return EAGAIN; don't set errno.
23957         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
23958         require AC_C_INLINE.
23959         * modules/pthread (Depends-on): Add sched, time.
23960         (pthread.h): Use AM_V_GEN.
23961
23962 2010-07-13  Bruno Haible  <bruno@clisp.org>
23963
23964         striconveh: Don't malloc memory if the result buffer is sufficient.
23965         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
23966         buffer if its size is sufficient.
23967         Reported by Ludovic Courtès <ludo@gnu.org>.
23968
23969 2010-07-13  Bruno Haible  <bruno@clisp.org>
23970
23971         strtod: Add safety check.
23972         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
23973
23974 2010-07-12  Bruno Haible  <bruno@clisp.org>
23975
23976         Unify tests that set gl_cv_func_ldexpl_no_libm.
23977         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
23978         gl_FUNC_LDEXPL.
23979         (gl_FUNC_LDEXPL): Invoke it.
23980         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
23981
23982 2010-07-12  Bruno Haible  <bruno@clisp.org>
23983
23984         Unify tests that set gl_cv_func_ldexp_no_libm.
23985         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
23986         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
23987         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
23988         (configure.ac): Simply invoke gl_FUNC_LDEXP.
23989         * modules/strtod (Files): Add m4/ldexp.m4.
23990
23991 2010-07-12  Bruno Haible  <bruno@clisp.org>
23992
23993         Unify tests that set gl_cv_func_frexpl_no_libm.
23994         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
23995         gl_FUNC_FREXPL_NO_LIBM.
23996         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
23997         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
23998
23999 2010-07-12  Bruno Haible  <bruno@clisp.org>
24000
24001         Unify tests that set gl_cv_func_frexp_no_libm.
24002         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
24003         gl_FUNC_FREXP_NO_LIBM.
24004         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
24005         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24006
24007 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24008
24009         memcoll: clarify sizes versus lengths, document better, and tweak perf
24010         * lib/memcoll.c (strcoll_loop, memcoll0):
24011         Improve quality of descriptive comments.  Name variables
24012         consistently as to whether they are lengths (which do not include
24013         terminating null) versus sizes (which do).
24014         * lib/xmemcoll.c (xmemcoll0): Likewise.
24015         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
24016         returned when s1size == 0; this is easier to compile and saves
24017         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
24018
24019 2010-07-12  Bruno Haible  <bruno@clisp.org>
24020
24021         Tests for module '_Exit'.
24022         * modules/_Exit-tests: New file.
24023         * tests/test-_Exit.sh: New file.
24024         * tests/test-_Exit.c: New file.
24025
24026         New module '_Exit'.
24027         * lib/stdlib.in.h (__attribute__): New macro.
24028         (_Exit): New declaration.
24029         * lib/_Exit.c: New file.
24030         * m4/_Exit.m4: New file.
24031         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
24032         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
24033         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
24034         * modules/_Exit: New file.
24035         * tests/test-stdlib-c++.cc (_Exit): Check signature.
24036         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
24037
24038 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
24039
24040         strtod: make it more-accurate typically, and don't require libm
24041         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
24042         Include limits.h.  Don't include string.h.
24043         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
24044         (locale_isspace): New function, so that no casts are needed to
24045         check whether *s is a space.
24046         (ldexp): Provide an unused dummy if not available.
24047         (scale_radix_exp, parse_number, underlying_strtod): New functions.
24048         (strtod): Use them.  This implementation prefers to use the
24049         underlying strtod if available, falling back on our own code
24050         only to fix known bugs.  This is more likely to produce an
24051         accurate result.  Also, it avoids the use of libm functions.
24052         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
24053         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
24054         was absent, but it caused a test failure with coreutils.
24055         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
24056         with libm.
24057         * modules/strtod (Makefile.am, Link): libm is no longer needed.
24058         * modules/strtod-tests (Makefile.am): Likewise.
24059
24060 2010-07-11  Pádraig Brady  <P@draigBrady.com>
24061             Bruno Haible  <bruno@clisp.org>
24062
24063         unistr/u8-strchr: Optimize ASCII argument case.
24064         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
24065
24066 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
24067
24068         (x)memcoll: minor tweaks
24069         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
24070         is after the type that it qualifies.
24071         (memcoll0): Likewise.
24072         * lib/memcoll.h (memcoll0): Likewise.
24073         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
24074         * lib/xmemcoll.h (xmemcoll0): Likewise.
24075         * lib/memcoll.c (memcoll0): Correct the comment.  This function
24076         differs from memcoll in that the NUL byte is part of the argument.
24077         Omit the abort-checks, as performance is a real issue here.  Plus,
24078         the checks were wrong anyway (an off-by-one error).  Omit local
24079         variable 'diff', as it's a bit clearer that way.
24080         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
24081         no longer needed.
24082
24083 2010-07-08  Chen Guo <chenguo4@yahoo.com>
24084
24085         (x)memcoll: speedup when input is known to be NUL delimited
24086         * lib/memcoll.c: Include stdlib.
24087         (memcoll0): New function.
24088         (strcoll_loop): New function, refactored for use in both memcoll
24089         and memcoll0.
24090         * lib/memcoll.h (memcoll0): Add prototype.
24091         * lib/xmemcoll.c (xmemcoll0): New function.
24092         (collate_error): New function, refactored for use in both xmemcoll
24093         and xmemcoll0.
24094         * lib/xmemcoll.h (xmemcoll0): Add prototype.
24095         * m4/memcoll.m4: add inline invocation.
24096
24097 2010-07-06  Pádraig Brady  <P@draigBrady.com>
24098
24099         * build-aux/bootstrap: Remove any local translations
24100         from the translation project synchronization directory,
24101         so that local only translations are not distributed.
24102
24103 2010-07-04  Bruno Haible  <bruno@clisp.org>
24104
24105         fsusage: Clarify which code applies to which platforms.
24106         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
24107         platform.
24108         * lib/fsusage.c (get_fs_usage): Likewise.
24109
24110 2010-07-04  Bruno Haible  <bruno@clisp.org>
24111
24112         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
24113         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
24114         Reported by Martin Lambers <marlam@marlam.de>.
24115
24116 2010-07-04  Jim Meyering  <meyering@redhat.com>
24117
24118         hash: once again explicitly disallow insertion of NULL
24119         * lib/hash.c (hash_insert0): Reinstate just-removed test:
24120         inserting a NULL pointer cannot work with these functions.
24121         Add a comment with details.
24122         This reverts part of the 2010-07-01 commit, 5bef1a35
24123         "hash: extend module to deal with non-pointer keys".
24124
24125 2010-07-01  Bruno Haible  <bruno@clisp.org>
24126
24127         stdbool: Update doc.
24128         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
24129         Info from Christian Weisgerber <naddy@mips.inka.de>.
24130
24131 2010-07-01  Jim Meyering  <meyering@redhat.com>
24132
24133         hash: extend module to deal with non-pointer keys
24134         * lib/hash.c (hash_insert0): New interface, much like hash_insert
24135         but that allows insertion of non-pointer entries.
24136         Do not disallow an ENTRY value of NULL.
24137         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
24138         * lib/hash.h (hash_insert0): Declare.
24139
24140 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24141
24142         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
24143         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
24144         not present (i.e. with autoconf 2.59 and when using gettextize, not
24145         gnulib), require AC_GNU_SOURCE instead.
24146
24147 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
24148
24149         idpriv-drop: Fix tests.
24150         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
24151         not to the test-idpriv-droptemp program.
24152
24153 2010-06-29  Bruno Haible  <bruno@clisp.org>
24154
24155         string: Fix syntax error with g++ 2.96.
24156         * lib/string.in.h (__pure__): Remove definition.
24157         (_GL_ATTRIBUTE_PURE): New macro.
24158         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
24159         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
24160         Reported by Christian Weisgerber <naddy@mips.inka.de>.
24161
24162 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
24163
24164         unitypes: Fix bug introduced on 2010-05-18.
24165         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
24166
24167 2010-06-22  Eric Blake  <eblake@redhat.com>
24168
24169         memmem: slight optimization
24170         * lib/str-two-way.h (critical_factorization): Update comments.
24171         Reduce work during factorization phase.
24172         Reported by Carlos Bueno <carlos@bueno.org>.
24173
24174 2010-06-21  Bruno Haible  <bruno@clisp.org>
24175
24176         Fix HAVE_CALLOC_POSIX misnomer.
24177         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
24178         !HAVE_CALLOC_POSIX.
24179         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
24180         HAVE_CALLOC_POSIX.
24181         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
24182         instead of HAVE_CALLOC_POSIX.
24183         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
24184         HAVE_CALLOC_POSIX.
24185
24186         Use modern idiom for calloc() replacement.
24187         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
24188         AC_FUNC_CALLOC.
24189         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
24190         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
24191         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24192         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
24193         (gl_REPLACE_CALLOC): New macro.
24194
24195 2010-06-21  Bruno Haible  <bruno@clisp.org>
24196
24197         Fix HAVE_REALLOC_POSIX misnomer.
24198         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
24199         !HAVE_REALLOC_POSIX.
24200         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
24201         HAVE_REALLOC_POSIX.
24202         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
24203         instead of HAVE_REALLOC_POSIX.
24204         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
24205         HAVE_REALLOC_POSIX.
24206
24207         Use modern idiom for realloc() replacement.
24208         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
24209         AC_FUNC_REALLOC.
24210         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
24211         Autoconf's AC_FUNC_REALLOC.
24212         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24213         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
24214         (gl_REPLACE_REALLOC): New macro.
24215         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24216
24217 2010-06-21  Bruno Haible  <bruno@clisp.org>
24218
24219         Fix HAVE_MALLOC_POSIX misnomer.
24220         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
24221         !HAVE_MALLOC_POSIX.
24222         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
24223         HAVE_MALLOC_POSIX.
24224         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
24225         instead of HAVE_MALLOC_POSIX.
24226         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
24227         HAVE_MALLOC_POSIX.
24228
24229         Use modern idiom for malloc() replacement.
24230         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
24231         AC_FUNC_MALLOC.
24232         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
24233         Autoconf's AC_FUNC_MALLOC.
24234         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
24235         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
24236         (gl_REPLACE_MALLOC): New macro.
24237         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
24238
24239 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
24240
24241         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
24242         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
24243         This macro takes 3 arguments, not 4.
24244
24245 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
24246
24247         ipv6: fix detection under mingw
24248         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
24249         in6_addr.
24250
24251 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
24252
24253         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
24254         that strtod() works when cross-compiling to a glibc version known
24255         to work.
24256
24257 2010-06-15  Bruno Haible  <bruno@clisp.org>
24258
24259         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
24260
24261 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
24262
24263         select: Correct timeout.
24264         * lib/select.c (rpl_select): Compute wait_timeout correctly.
24265
24266 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24267
24268         git-version-gen: init shell var to avoid env var influence
24269         * build-aux/git-version-gen (v): Init shell var to empty.
24270
24271 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
24272
24273         priv-set: Don't assume that priv.h exists merely because getppriv does.
24274         See Jan Andersen's bug report about AIX 5L in
24275         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
24276         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
24277         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
24278         * lib/priv-set.h: Likewise.
24279         * tests/test-priv-set.c: Likewise.
24280
24281 2010-06-13  Bruno Haible  <bruno@clisp.org>
24282
24283         relocatable: Make it easier to test whether to install wrappers.
24284         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
24285         RELOCATABLE_VIA_WRAPPER.
24286
24287 2010-06-13  Bruno Haible  <bruno@clisp.org>
24288
24289         gnulib-tool: Display specified modules and dependencies differently.
24290         * gnulib-tool (func_show_module_list): New function.
24291         (func_import, func_create_testdir): Invoke it.
24292         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
24293
24294 2010-06-13  Bruno Haible  <bruno@clisp.org>
24295
24296         gnulib-tool: Align code of func_import and func_create_testdir.
24297         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
24298         specified_modules.
24299
24300 2010-06-12  Jim Meyering  <meyering@redhat.com>
24301
24302         test-inttostr: avoid spurious failure on Solaris 9
24303         * tests/test-inttostr.c (main): Skip the test when snprintf fails
24304         to accept "%ju".  Reported by Bruno Haible.
24305
24306 2010-06-11  Jim Meyering  <meyering@redhat.com>
24307
24308         test-sys_socket: mark variables as used more readably
24309         * tests/test-sys_socket.c (main): Mark otherwise unused variables
24310         as "used" explicitly via (void) statement casts.  This is more
24311         readable than using them in an artificial return expression.
24312         Suggestion from Bruno Haible.
24313
24314 2010-06-11  Bruno Haible  <bruno@clisp.org>
24315
24316         Avoid some more warnings from "gcc -Wwrite-strings".
24317         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
24318         to 'const char *'.
24319         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
24320         * tests/test-c-strcasestr.c (main): Likewise.
24321         * tests/test-mbscasestr1.c (main): Likewise.
24322         * tests/test-mbscasestr2.c (main): Likewise.
24323         * tests/test-memmem.c (main): Likewise.
24324         * tests/test-strstr.c (main): Likewise.
24325         * tests/test-strcasestr.c (main): Likewise.
24326
24327 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24328
24329         init.sh: change framework_failure_ to fail with status 99, not 1
24330         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
24331         automake's parallel-tests rule that this is an unexpected failure,
24332         even if the test is listed in XFAIL_TESTS.
24333
24334 2010-06-11  Jim Meyering  <meyering@redhat.com>
24335
24336         test-inttostr: avoid warnings about 4-6KB literal strings
24337         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
24338         Include "macros.h", for its definition of ASSERT.
24339         (CK): s/assert/ASSERT/
24340         * modules/inttostr-tests (Files): Add macros.h.
24341
24342         init.sh: don't use $ME_ or skip_ before they are defined
24343         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
24344         their first uses.  Also hoist their companions: warn_, fail_,
24345         framework_failure_, $stderr_fileno.  Prompted by a patch from
24346         Stefano Lattarini.
24347
24348         test-sys_socket: avoid set-but-not-used warnings from gcc
24349         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
24350         avoid warning about set-but-not-used variables.
24351
24352         test-xvasprintf: avoid 'const' discard warnings
24353         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
24354         "const" when assigning from literal strings.
24355         (test_xasprintf): Add "void" in function argument list to placate
24356         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
24357
24358         tests: avoid compilation warnings in argmatch and exclude tests...
24359         in packages that define ARGMATCH_DIE_DECL, like coreutils.
24360         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
24361         Since it always exits, declare with the "noreturn" attribute.
24362         * tests/test-argmatch.c: Likewise.
24363
24364         tests: avoid 'const' discard warnings in mbsstr tests
24365         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
24366         * tests/test-mbsstr2.c (main): Likewise.
24367
24368         test-verify: avoid warning from gcc's -Wmissing-declarations
24369         * tests/test-verify.c (function): Declare to be static.
24370
24371         test-inttostr.c: include <string.h> for use of strcmp
24372         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
24373
24374         test-linkat: avoid failed assertion on "other" architectures
24375         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
24376         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
24377         sparc: https://bugs.launchpad.net/bugs/591968
24378
24379 2010-06-11  Jim Meyering  <meyering@redhat.com>
24380
24381         printf.m4: avoid autoconf's "Expanded Before Required" warning
24382         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
24383         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
24384         autoconf warning.
24385
24386 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
24387
24388         Replacement header templates are now named with ".in", not "_".
24389         * doc/gnulib-intro.texi: Correct.
24390
24391 2010-06-10  Jim Meyering  <meyering@redhat.com>
24392
24393         inttostr-tests: depend on snprintf, not snprintf-posix
24394         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
24395         snprintf-posix, to avoid this aclocal failure:
24396           missing file gnulib-tests/vasnprintf.c
24397           configure.ac:45: error: expected source file, required through \
24398           AC_LIBSOURCES, not found
24399
24400 2010-06-10  Jim Meyering  <meyering@redhat.com>
24401
24402         inttostr: add a new function, inttostr, and tests
24403         The namesake function was not available.  The existence of the
24404         template file, inttostr.c makes its addition nontrivial.
24405         * lib/anytostr.c: Rename from inttostr.c.
24406         (anytostr): Rename from inttostr.
24407         * lib/inttostr.c: New file.
24408         * modules/inttostr (Files): Add anytostr.c.
24409         (Makefile.am): Set lib_SOURCES instead of ...
24410         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
24411         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
24412         * lib/offtostr.c: Likewise.
24413         * lib/uinttostr.c: Likewise.
24414         * lib/umaxtostr.c: Likewise.
24415         * modules/inttostr-tests: New file.
24416         * tests/test-inttostr.c: New file.  Test these functions.
24417
24418 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
24419             Bruno Haible  <bruno@clisp.org>
24420
24421         Add "Extending Gnulib" chapter to manual.
24422         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
24423         chapter.
24424         (Extending Gnulib): New chapter.
24425         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
24426         chapter.
24427
24428 2010-06-09  Bruno Haible  <bruno@clisp.org>
24429
24430         Avoid relocwrapper link errors due to gnulib replacement functions.
24431         * lib/areadlink.c: Use the system's malloc, realloc functions.
24432         (areadlink): Set errno to ENOMEM explicitly.
24433         * modules/areadlink (Depends-on): Remove malloc-posix.
24434         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24435
24436 2010-06-09  Bruno Haible  <bruno@clisp.org>
24437
24438         Avoid relocwrapper link errors due to gnulib replacement functions.
24439         * lib/canonicalize-lgpl.c: Use the system's malloc function.
24440         * lib/malloca.c: Likewise.
24441         * lib/relocatable.c: Likewise.
24442         * lib/progreloc.c: Use the system's malloc, sprintf functions.
24443         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
24444         * lib/setenv.c: Use the system's malloc, realloc functions.
24445         * lib/strerror.c: Use the system's sprintf function.
24446         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24447
24448 2010-06-04  Bruno Haible  <bruno@clisp.org>
24449
24450         Prefer documented low-level autoconf macro names.
24451         * m4/lib-link.m4: Use m4_translit instead of translit.
24452         * m4/environ.m4: Likewise.
24453         * m4/mathfunc.m4: Likewise.
24454         * m4/onceonly.m4: Likewise.
24455         * m4/stdint.m4: Likewise.
24456         Suggested by Eric Blake.
24457
24458 2010-06-04  Martin Lambers  <marlam@marlam.de>
24459             Bruno Haible  <bruno@clisp.org>
24460
24461         havelib: Allow library names with '+' characters.
24462         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
24463         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
24464
24465 2010-06-09  Bruno Haible  <bruno@clisp.org>
24466
24467         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
24468         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
24469         realloc failed.
24470
24471 2010-06-08  Peter Simons  <simons@cryp.to>
24472
24473         maint.mk: make the news-check rule more configurable
24474         * top/maint.mk (news-check-lines-spec): New variable.
24475         (news-check): Use "sed -n 1,10p" in place of "head".
24476
24477 2010-06-07  Jim Meyering  <meyering@redhat.com>
24478
24479         do-release-commit-and-tag: fix typo in --help
24480         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
24481
24482         regex: avoid new dead-code warning with gcc-4.6.0
24483         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
24484         if-block containing a while-loop.  It's been unused for at least
24485         5 years.
24486
24487 2010-06-05  Bruno Haible  <bruno@clisp.org>
24488
24489         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
24490         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
24491
24492 2010-06-04  Bruno Haible  <bruno@clisp.org>
24493
24494         Update to GNU gettext 0.18.1.
24495         * modules/gettext (configure.ac): Require gettext infrastructure from
24496         version 0.18.1.
24497
24498 2010-06-03  Bruno Haible  <bruno@clisp.org>
24499
24500         Don't use AC_LIBOBJ with file names in subdirectories.
24501         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
24502         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
24503         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
24504         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
24505         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
24506         gl_LIBUNISTRING_LIBSOURCE.
24507         (Makefile.am): Augment lib_SOURCES here, conditionally.
24508         * NEWS: Drop requirement for Automake option 'subdir-objects'.
24509
24510 2010-06-03  Bruno Haible  <bruno@clisp.org>
24511
24512         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
24513         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
24514         expansion does not end with a newline.
24515         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
24516         unnecessary newline.
24517
24518 2010-06-03  Bruno Haible  <bruno@clisp.org>
24519
24520         Reduce dependencies.
24521         * tests/test-quotearg.h: New file, extracted from
24522         tests/test-quotearg.c.
24523         * tests/test-quotearg-simple.c: New file, extracted from
24524         tests/test-quotearg.c.
24525         * tests/test-quotearg.c: Don't include <ctype.h>.
24526         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
24527         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
24528         use_quote_double_quotes, use_quotearg_colon): Moved to
24529         tests/test-quotearg.h.
24530         (results_g, flag_results, custom_quotes, custom_results): Moved
24531         to tests/test-quotearg-simple.c.
24532         (main): Moved the part that does not depend on gettext to
24533         tests/test-quotearg-simple.c. Return 77 if the test cannot be
24534         performed.
24535         * modules/quotearg-simple: New file.
24536         * modules/quotearg-simple-tests: New file.
24537         * modules/quotearg (Depends-on): Add quotearg-simple.
24538         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
24539         (Files): Add tests/test-quotearg.h.
24540         Reported by Paolo Bonzini.
24541
24542 2010-06-03  Bruno Haible  <bruno@clisp.org>
24543
24544         Reduce dependencies.
24545         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
24546
24547 2010-06-03  Bruno Haible  <bruno@clisp.org>
24548
24549         time: Undefine more broken macros.
24550         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
24551         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
24552         Reported by Eric Blake.
24553
24554 2010-06-03  Bruno Haible  <bruno@clisp.org>
24555
24556         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
24557         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
24558         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
24559         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
24560         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
24561         Reported by Ludovic Courtès <ludo@gnu.org>.
24562
24563 2010-06-02  Eric Blake  <eblake@redhat.com>
24564
24565         time: work with mingw + pthreads-win32 library
24566         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
24567         if timespec is defined only in pthread.h.
24568         * modules/time (Makefile.am): Substitute it.
24569         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
24570         <pthread.h>, when needed.
24571         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
24572         from the library.
24573
24574 2010-05-31  Bruno Haible  <bruno@clisp.org>
24575
24576         Avoid expanding two macros in the wrong order.
24577         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
24578         gl_LIBUNISTRING if it is defined.
24579         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
24580         autoconf >= 2.64.
24581         Reported by Ludovic Courtès <ludo@gnu.org>.
24582
24583 2010-05-27  Jim Meyering  <meyering@redhat.com>
24584
24585         maint.mk: also prohibit "#undef" of always-defined symbols
24586         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
24587         Allow more than one space before the symbol name.
24588         (sc_prohibit_always-defined_macros): Use grep's -E, now that
24589         the regexp uses alternation.
24590
24591 2010-05-26  Eric Blake  <eblake@redhat.com>
24592
24593         maint.mk: avoid echo -e
24594         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
24595         Convert all uses of echo -* to printf.
24596         Reported by Matthias Bolte.
24597
24598 2010-05-25  Bruno Haible  <bruno@clisp.org>
24599
24600         Update to GNU gettext 0.18, part 2.
24601         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
24602         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
24603
24604 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24605
24606         Add missing include in test-pwrite.c.
24607         * tests/test-pwrite.c: Include string.h, for strcmp.
24608
24609 2010-05-24  Bruno Haible  <bruno@clisp.org>
24610
24611         * NEWS: Mention requirement for Automake option 'subdir-objects'.
24612
24613 2010-05-24  Bruno Haible  <bruno@clisp.org>
24614
24615         Don't use conversion with transliteration in u{8,16,32}_strcoll.
24616         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
24617         iconveh_error argument.
24618         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
24619         U_STRCONV_TO_LOCALE.
24620         * lib/unistr/u16-strcoll.c: Likewise.
24621         * lib/unistr/u32-strcoll.c: Likewise.
24622         * modules/unistr/u8-strcoll (Depends-on): Add
24623         uniconv/u8-strconv-to-enc, localcharset. Remove
24624         uniconv/u8-strconv-to-locale.
24625         (configure.ac): Bump version number.
24626         * modules/unistr/u16-strcoll (Depends-on): Add
24627         uniconv/u16-strconv-to-enc, localcharset. Remove
24628         uniconv/u16-strconv-to-locale.
24629         (configure.ac): Bump version number.
24630         * modules/unistr/u32-strcoll (Depends-on): Add
24631         uniconv/u32-strconv-to-enc, localcharset. Remove
24632         uniconv/u32-strconv-to-locale.
24633         (configure.ac): Bump version number.
24634
24635 2010-05-24  Bruno Haible  <bruno@clisp.org>
24636
24637         Avoid a test failure on NetBSD 5.0.
24638         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
24639         an iconv() bug.
24640
24641 2010-05-24  Bruno Haible  <bruno@clisp.org>
24642
24643         Adjust #include directive style.
24644         * modules/regex (Includes): Recommend to write <regex.h>.
24645
24646 2010-05-24  Bruno Haible  <bruno@clisp.org>
24647
24648         regex: Don't require alloca.
24649         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
24650         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
24651         only inside if (0).
24652
24653 2010-05-23  Jim Meyering  <meyering@redhat.com>
24654
24655         test-renameat.c: include <sys/stat.h>
24656         * tests/test-renameat.c: Include <sys/stat.h>; required for
24657         definition of S_IS* macros.
24658
24659 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
24660
24661         Update maintainer documentation for 'relocatable-prog' module.
24662         * doc/relocatable-maint.texi: Update.
24663         Comments by Bruno Haible.
24664
24665 2010-05-23  Bruno Haible  <bruno@clisp.org>
24666
24667         git-merge-changelog: Enable --split-merged-entry by default.
24668         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
24669         (usage): Don't mention this option any more.
24670         Reported by Ralf Wildenhues.
24671
24672 2010-05-23  Jim Meyering  <meyering@redhat.com>
24673
24674         test-pwrite: do not leave behind a test file named "out"
24675         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
24676         The trivial-looking use of init.sh is really necessary.
24677         It ensures that the temporary file, "out", is created in
24678         a temporary directory, and removed upon termination.
24679         * tests/test-pwrite.sh: Re-add file.
24680         * modules/pwrite-tests: Reference it.
24681
24682 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24683
24684         Fix output redirection buglet in init.sh.
24685         * tests/init.sh: Fix redirection of stderr.
24686
24687 2010-05-20  Simon Josefsson  <simon@josefsson.org>
24688
24689         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
24690
24691 2010-05-17  Simon Josefsson  <simon@josefsson.org>
24692
24693         * modules/valgrind-tests: New file.
24694         * m4/valgrind-tests.m4: New file.
24695         * doc/valgrind-tests.texi: New file.
24696         * doc/gnulib.texi (Running self-tests under valgrind): New
24697         section.
24698
24699 2010-05-19  Bruno Haible  <bruno@clisp.org>
24700
24701         Clean up dead code in recent commit.
24702         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
24703         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
24704         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
24705         Suggested by Paolo Bonzini.
24706
24707 2010-05-19  Bruno Haible  <bruno@clisp.org>
24708
24709         Avoid valgrind error reports from libunistring.
24710         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
24711         * modules/libunistring (Files): Add it.
24712         * modules/libunistring-optional (Files): Likewise.
24713
24714 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
24715             Bruno Haible  <bruno@clisp.org>
24716
24717         New module 'libunistring-optional'.
24718         * modules/libunistring-optional: New file.
24719         * m4/libunistring-base.m4: New file.
24720         * m4/libunistring-optional.m4: New file.
24721         * lib/unicase.in.h: Renamed from lib/unicase.h.
24722         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
24723         * lib/unictype.in.h: Renamed from lib/unictype.h.
24724         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
24725         * lib/uniname.in.h: Renamed from lib/uniname.h.
24726         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
24727         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
24728         * lib/unistr.in.h: Renamed from lib/unistr.h.
24729         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
24730         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
24731         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
24732         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
24733         gl_LIBUNISTRING. If the library was found, determine the installed
24734         version and set LIBUNISTRING_VERSION.
24735         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
24736         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
24737         handle a configuration option --with-included-libunistring.
24738         * modules/libunistring (Files): Add m4/absolute-header.m4.
24739         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
24740         Add m4/libunistring-base.m4.
24741         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24742         (Makefile.am): Build unicase.h from unicase.in.h.
24743         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
24744         Add m4/libunistring-base.m4.
24745         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24746         (Makefile.am): Build uniconv.h from uniconv.in.h.
24747         * modules/unictype/base (Files): Use unictype.in.h instead of
24748         unictype.h. Add m4/libunistring-base.m4.
24749         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24750         (Makefile.am): Build unictype.h from unictype.in.h.
24751         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
24752         Add m4/libunistring-base.m4.
24753         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24754         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
24755         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
24756         Add m4/libunistring-base.m4.
24757         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24758         (Makefile.am): Build uniname.h from uniname.in.h.
24759         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
24760         Add m4/libunistring-base.m4.
24761         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24762         (Makefile.am): Build uninorm.h from uninorm.in.h.
24763         * modules/unistdio/base (Files): Use unistdio.in.h instead of
24764         unistdio.h. Add m4/libunistring-base.m4.
24765         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24766         (Makefile.am): Build unistdio.h from unistdio.in.h.
24767         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
24768         Add m4/libunistring-base.m4.
24769         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24770         (Makefile.am): Build unistr.h from unistr.in.h.
24771         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
24772         Add m4/libunistring-base.m4.
24773         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24774         (Makefile.am): Build unitypes.h from unitypes.in.h.
24775         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
24776         Add m4/libunistring-base.m4.
24777         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24778         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
24779         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
24780         uniwidth.h. Add m4/libunistring-base.m4.
24781         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
24782         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
24783         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
24784         instead of augmenting lib_SOURCES.
24785         * modules/unicase/empty-suffix-context: Likewise.
24786         * modules/unicase/locale-language: Likewise.
24787         * modules/unicase/tolower: Likewise.
24788         * modules/unicase/totitle: Likewise.
24789         * modules/unicase/toupper: Likewise.
24790         * modules/unicase/u8-casecmp: Likewise.
24791         * modules/unicase/u8-casecoll: Likewise.
24792         * modules/unicase/u8-casefold: Likewise.
24793         * modules/unicase/u8-casexfrm: Likewise.
24794         * modules/unicase/u8-ct-casefold: Likewise.
24795         * modules/unicase/u8-ct-tolower: Likewise.
24796         * modules/unicase/u8-ct-totitle: Likewise.
24797         * modules/unicase/u8-ct-toupper: Likewise.
24798         * modules/unicase/u8-is-cased: Likewise.
24799         * modules/unicase/u8-is-casefolded: Likewise.
24800         * modules/unicase/u8-is-lowercase: Likewise.
24801         * modules/unicase/u8-is-titlecase: Likewise.
24802         * modules/unicase/u8-is-uppercase: Likewise.
24803         * modules/unicase/u8-prefix-context: Likewise.
24804         * modules/unicase/u8-suffix-context: Likewise.
24805         * modules/unicase/u8-tolower: Likewise.
24806         * modules/unicase/u8-totitle: Likewise.
24807         * modules/unicase/u8-toupper: Likewise.
24808         * modules/unicase/u16-casecmp: Likewise.
24809         * modules/unicase/u16-casecoll: Likewise.
24810         * modules/unicase/u16-casefold: Likewise.
24811         * modules/unicase/u16-casexfrm: Likewise.
24812         * modules/unicase/u16-ct-casefold: Likewise.
24813         * modules/unicase/u16-ct-tolower: Likewise.
24814         * modules/unicase/u16-ct-totitle: Likewise.
24815         * modules/unicase/u16-ct-toupper: Likewise.
24816         * modules/unicase/u16-is-cased: Likewise.
24817         * modules/unicase/u16-is-casefolded: Likewise.
24818         * modules/unicase/u16-is-lowercase: Likewise.
24819         * modules/unicase/u16-is-titlecase: Likewise.
24820         * modules/unicase/u16-is-uppercase: Likewise.
24821         * modules/unicase/u16-prefix-context: Likewise.
24822         * modules/unicase/u16-suffix-context: Likewise.
24823         * modules/unicase/u16-tolower: Likewise.
24824         * modules/unicase/u16-totitle: Likewise.
24825         * modules/unicase/u16-toupper: Likewise.
24826         * modules/unicase/u32-casecmp: Likewise.
24827         * modules/unicase/u32-casecoll: Likewise.
24828         * modules/unicase/u32-casefold: Likewise.
24829         * modules/unicase/u32-casexfrm: Likewise.
24830         * modules/unicase/u32-ct-casefold: Likewise.
24831         * modules/unicase/u32-ct-tolower: Likewise.
24832         * modules/unicase/u32-ct-totitle: Likewise.
24833         * modules/unicase/u32-ct-toupper: Likewise.
24834         * modules/unicase/u32-is-cased: Likewise.
24835         * modules/unicase/u32-is-casefolded: Likewise.
24836         * modules/unicase/u32-is-lowercase: Likewise.
24837         * modules/unicase/u32-is-titlecase: Likewise.
24838         * modules/unicase/u32-is-uppercase: Likewise.
24839         * modules/unicase/u32-prefix-context: Likewise.
24840         * modules/unicase/u32-suffix-context: Likewise.
24841         * modules/unicase/u32-tolower: Likewise.
24842         * modules/unicase/u32-totitle: Likewise.
24843         * modules/unicase/u32-toupper: Likewise.
24844         * modules/unicase/ulc-casecmp: Likewise.
24845         * modules/unicase/ulc-casecoll: Likewise.
24846         * modules/unicase/ulc-casexfrm: Likewise.
24847         * modules/uniconv/u8-conv-from-enc: Likewise.
24848         * modules/uniconv/u8-conv-to-enc: Likewise.
24849         * modules/uniconv/u8-strconv-from-enc: Likewise.
24850         * modules/uniconv/u8-strconv-from-locale: Likewise.
24851         * modules/uniconv/u8-strconv-to-enc: Likewise.
24852         * modules/uniconv/u8-strconv-to-locale: Likewise.
24853         * modules/uniconv/u16-conv-from-enc: Likewise.
24854         * modules/uniconv/u16-conv-to-enc: Likewise.
24855         * modules/uniconv/u16-strconv-from-enc: Likewise.
24856         * modules/uniconv/u16-strconv-from-locale: Likewise.
24857         * modules/uniconv/u16-strconv-to-enc: Likewise.
24858         * modules/uniconv/u16-strconv-to-locale: Likewise.
24859         * modules/uniconv/u32-conv-from-enc: Likewise.
24860         * modules/uniconv/u32-conv-to-enc: Likewise.
24861         * modules/uniconv/u32-strconv-from-enc: Likewise.
24862         * modules/uniconv/u32-strconv-from-locale: Likewise.
24863         * modules/uniconv/u32-strconv-to-enc: Likewise.
24864         * modules/uniconv/u32-strconv-to-locale: Likewise.
24865         * modules/unictype/bidicategory-byname: Likewise.
24866         * modules/unictype/bidicategory-name: Likewise.
24867         * modules/unictype/bidicategory-of: Likewise.
24868         * modules/unictype/bidicategory-test: Likewise.
24869         * modules/unictype/block-list: Likewise.
24870         * modules/unictype/block-test: Likewise.
24871         * modules/unictype/category-C: Likewise.
24872         * modules/unictype/category-Cc: Likewise.
24873         * modules/unictype/category-Cf: Likewise.
24874         * modules/unictype/category-Cn: Likewise.
24875         * modules/unictype/category-Co: Likewise.
24876         * modules/unictype/category-Cs: Likewise.
24877         * modules/unictype/category-L: Likewise.
24878         * modules/unictype/category-Ll: Likewise.
24879         * modules/unictype/category-Lm: Likewise.
24880         * modules/unictype/category-Lo: Likewise.
24881         * modules/unictype/category-Lt: Likewise.
24882         * modules/unictype/category-Lu: Likewise.
24883         * modules/unictype/category-M: Likewise.
24884         * modules/unictype/category-Mc: Likewise.
24885         * modules/unictype/category-Me: Likewise.
24886         * modules/unictype/category-Mn: Likewise.
24887         * modules/unictype/category-N: Likewise.
24888         * modules/unictype/category-Nd: Likewise.
24889         * modules/unictype/category-Nl: Likewise.
24890         * modules/unictype/category-No: Likewise.
24891         * modules/unictype/category-P: Likewise.
24892         * modules/unictype/category-Pc: Likewise.
24893         * modules/unictype/category-Pd: Likewise.
24894         * modules/unictype/category-Pe: Likewise.
24895         * modules/unictype/category-Pf: Likewise.
24896         * modules/unictype/category-Pi: Likewise.
24897         * modules/unictype/category-Po: Likewise.
24898         * modules/unictype/category-Ps: Likewise.
24899         * modules/unictype/category-S: Likewise.
24900         * modules/unictype/category-Sc: Likewise.
24901         * modules/unictype/category-Sk: Likewise.
24902         * modules/unictype/category-Sm: Likewise.
24903         * modules/unictype/category-So: Likewise.
24904         * modules/unictype/category-Z: Likewise.
24905         * modules/unictype/category-Zl: Likewise.
24906         * modules/unictype/category-Zp: Likewise.
24907         * modules/unictype/category-Zs: Likewise.
24908         * modules/unictype/category-and: Likewise.
24909         * modules/unictype/category-and-not: Likewise.
24910         * modules/unictype/category-byname: Likewise.
24911         * modules/unictype/category-name: Likewise.
24912         * modules/unictype/category-none: Likewise.
24913         * modules/unictype/category-of: Likewise.
24914         * modules/unictype/category-or: Likewise.
24915         * modules/unictype/category-test: Likewise.
24916         * modules/unictype/combining-class: Likewise.
24917         * modules/unictype/ctype-alnum: Likewise.
24918         * modules/unictype/ctype-alpha: Likewise.
24919         * modules/unictype/ctype-blank: Likewise.
24920         * modules/unictype/ctype-cntrl: Likewise.
24921         * modules/unictype/ctype-digit: Likewise.
24922         * modules/unictype/ctype-graph: Likewise.
24923         * modules/unictype/ctype-lower: Likewise.
24924         * modules/unictype/ctype-print: Likewise.
24925         * modules/unictype/ctype-punct: Likewise.
24926         * modules/unictype/ctype-space: Likewise.
24927         * modules/unictype/ctype-upper: Likewise.
24928         * modules/unictype/ctype-xdigit: Likewise.
24929         * modules/unictype/decimal-digit: Likewise.
24930         * modules/unictype/digit: Likewise.
24931         * modules/unictype/mirror: Likewise.
24932         * modules/unictype/numeric: Likewise.
24933         * modules/unictype/property-alphabetic: Likewise.
24934         * modules/unictype/property-ascii-hex-digit: Likewise.
24935         * modules/unictype/property-bidi-arabic-digit: Likewise.
24936         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
24937         * modules/unictype/property-bidi-block-separator: Likewise.
24938         * modules/unictype/property-bidi-boundary-neutral: Likewise.
24939         * modules/unictype/property-bidi-common-separator: Likewise.
24940         * modules/unictype/property-bidi-control: Likewise.
24941         * modules/unictype/property-bidi-embedding-or-override: Likewise.
24942         * modules/unictype/property-bidi-eur-num-separator: Likewise.
24943         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
24944         * modules/unictype/property-bidi-european-digit: Likewise.
24945         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
24946         * modules/unictype/property-bidi-left-to-right: Likewise.
24947         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
24948         * modules/unictype/property-bidi-other-neutral: Likewise.
24949         * modules/unictype/property-bidi-pdf: Likewise.
24950         * modules/unictype/property-bidi-segment-separator: Likewise.
24951         * modules/unictype/property-bidi-whitespace: Likewise.
24952         * modules/unictype/property-byname: Likewise.
24953         * modules/unictype/property-combining: Likewise.
24954         * modules/unictype/property-composite: Likewise.
24955         * modules/unictype/property-currency-symbol: Likewise.
24956         * modules/unictype/property-dash: Likewise.
24957         * modules/unictype/property-decimal-digit: Likewise.
24958         * modules/unictype/property-default-ignorable-code-point: Likewise.
24959         * modules/unictype/property-deprecated: Likewise.
24960         * modules/unictype/property-diacritic: Likewise.
24961         * modules/unictype/property-extender: Likewise.
24962         * modules/unictype/property-format-control: Likewise.
24963         * modules/unictype/property-grapheme-base: Likewise.
24964         * modules/unictype/property-grapheme-extend: Likewise.
24965         * modules/unictype/property-grapheme-link: Likewise.
24966         * modules/unictype/property-hex-digit: Likewise.
24967         * modules/unictype/property-hyphen: Likewise.
24968         * modules/unictype/property-id-continue: Likewise.
24969         * modules/unictype/property-id-start: Likewise.
24970         * modules/unictype/property-ideographic: Likewise.
24971         * modules/unictype/property-ids-binary-operator: Likewise.
24972         * modules/unictype/property-ids-trinary-operator: Likewise.
24973         * modules/unictype/property-ignorable-control: Likewise.
24974         * modules/unictype/property-iso-control: Likewise.
24975         * modules/unictype/property-join-control: Likewise.
24976         * modules/unictype/property-left-of-pair: Likewise.
24977         * modules/unictype/property-line-separator: Likewise.
24978         * modules/unictype/property-logical-order-exception: Likewise.
24979         * modules/unictype/property-lowercase: Likewise.
24980         * modules/unictype/property-math: Likewise.
24981         * modules/unictype/property-non-break: Likewise.
24982         * modules/unictype/property-not-a-character: Likewise.
24983         * modules/unictype/property-numeric: Likewise.
24984         * modules/unictype/property-other-alphabetic: Likewise.
24985         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
24986         * modules/unictype/property-other-grapheme-extend: Likewise.
24987         * modules/unictype/property-other-id-continue: Likewise.
24988         * modules/unictype/property-other-id-start: Likewise.
24989         * modules/unictype/property-other-lowercase: Likewise.
24990         * modules/unictype/property-other-math: Likewise.
24991         * modules/unictype/property-other-uppercase: Likewise.
24992         * modules/unictype/property-paired-punctuation: Likewise.
24993         * modules/unictype/property-paragraph-separator: Likewise.
24994         * modules/unictype/property-pattern-syntax: Likewise.
24995         * modules/unictype/property-pattern-white-space: Likewise.
24996         * modules/unictype/property-private-use: Likewise.
24997         * modules/unictype/property-punctuation: Likewise.
24998         * modules/unictype/property-quotation-mark: Likewise.
24999         * modules/unictype/property-radical: Likewise.
25000         * modules/unictype/property-sentence-terminal: Likewise.
25001         * modules/unictype/property-soft-dotted: Likewise.
25002         * modules/unictype/property-space: Likewise.
25003         * modules/unictype/property-terminal-punctuation: Likewise.
25004         * modules/unictype/property-test: Likewise.
25005         * modules/unictype/property-titlecase: Likewise.
25006         * modules/unictype/property-unassigned-code-value: Likewise.
25007         * modules/unictype/property-unified-ideograph: Likewise.
25008         * modules/unictype/property-uppercase: Likewise.
25009         * modules/unictype/property-variation-selector: Likewise.
25010         * modules/unictype/property-white-space: Likewise.
25011         * modules/unictype/property-xid-continue: Likewise.
25012         * modules/unictype/property-xid-start: Likewise.
25013         * modules/unictype/property-zero-width: Likewise.
25014         * modules/unictype/scripts: Likewise.
25015         * modules/unictype/syntax-c-ident: Likewise.
25016         * modules/unictype/syntax-c-whitespace: Likewise.
25017         * modules/unictype/syntax-java-ident: Likewise.
25018         * modules/unictype/syntax-java-whitespace: Likewise.
25019         * modules/unilbrk/u8-possible-linebreaks: Likewise.
25020         * modules/unilbrk/u8-width-linebreaks: Likewise.
25021         * modules/unilbrk/u16-possible-linebreaks: Likewise.
25022         * modules/unilbrk/u16-width-linebreaks: Likewise.
25023         * modules/unilbrk/u32-possible-linebreaks: Likewise.
25024         * modules/unilbrk/u32-width-linebreaks: Likewise.
25025         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
25026         * modules/unilbrk/ulc-width-linebreaks: Likewise.
25027         * modules/uniname/uniname: Likewise.
25028         * modules/uninorm/canonical-decomposition: Likewise.
25029         * modules/uninorm/composition: Likewise.
25030         * modules/uninorm/decomposing-form: Likewise.
25031         * modules/uninorm/decomposition: Likewise.
25032         * modules/uninorm/filter: Likewise.
25033         * modules/uninorm/nfc: Likewise.
25034         * modules/uninorm/nfd: Likewise.
25035         * modules/uninorm/nfkc: Likewise.
25036         * modules/uninorm/nfkd: Likewise.
25037         * modules/uninorm/u8-normalize: Likewise.
25038         * modules/uninorm/u8-normcmp: Likewise.
25039         * modules/uninorm/u8-normcoll: Likewise.
25040         * modules/uninorm/u8-normxfrm: Likewise.
25041         * modules/uninorm/u16-normalize: Likewise.
25042         * modules/uninorm/u16-normcmp: Likewise.
25043         * modules/uninorm/u16-normcoll: Likewise.
25044         * modules/uninorm/u16-normxfrm: Likewise.
25045         * modules/uninorm/u32-normalize: Likewise.
25046         * modules/uninorm/u32-normcmp: Likewise.
25047         * modules/uninorm/u32-normcoll: Likewise.
25048         * modules/uninorm/u32-normxfrm: Likewise.
25049         * modules/unistdio/u8-asnprintf: Likewise.
25050         * modules/unistdio/u8-asprintf: Likewise.
25051         * modules/unistdio/u8-snprintf: Likewise.
25052         * modules/unistdio/u8-sprintf: Likewise.
25053         * modules/unistdio/u8-u8-asnprintf: Likewise.
25054         * modules/unistdio/u8-u8-asprintf: Likewise.
25055         * modules/unistdio/u8-u8-snprintf: Likewise.
25056         * modules/unistdio/u8-u8-sprintf: Likewise.
25057         * modules/unistdio/u8-u8-vasnprintf: Likewise.
25058         * modules/unistdio/u8-u8-vasprintf: Likewise.
25059         * modules/unistdio/u8-u8-vsnprintf: Likewise.
25060         * modules/unistdio/u8-u8-vsprintf: Likewise.
25061         * modules/unistdio/u8-vasnprintf: Likewise.
25062         * modules/unistdio/u8-vasprintf: Likewise.
25063         * modules/unistdio/u8-vsnprintf: Likewise.
25064         * modules/unistdio/u8-vsprintf: Likewise.
25065         * modules/unistdio/u16-asnprintf: Likewise.
25066         * modules/unistdio/u16-asprintf: Likewise.
25067         * modules/unistdio/u16-snprintf: Likewise.
25068         * modules/unistdio/u16-sprintf: Likewise.
25069         * modules/unistdio/u16-u16-asnprintf: Likewise.
25070         * modules/unistdio/u16-u16-asprintf: Likewise.
25071         * modules/unistdio/u16-u16-snprintf: Likewise.
25072         * modules/unistdio/u16-u16-sprintf: Likewise.
25073         * modules/unistdio/u16-u16-vasnprintf: Likewise.
25074         * modules/unistdio/u16-u16-vasprintf: Likewise.
25075         * modules/unistdio/u16-u16-vsnprintf: Likewise.
25076         * modules/unistdio/u16-u16-vsprintf: Likewise.
25077         * modules/unistdio/u16-vasnprintf: Likewise.
25078         * modules/unistdio/u16-vasprintf: Likewise.
25079         * modules/unistdio/u16-vsnprintf: Likewise.
25080         * modules/unistdio/u16-vsprintf: Likewise.
25081         * modules/unistdio/u32-asnprintf: Likewise.
25082         * modules/unistdio/u32-asprintf: Likewise.
25083         * modules/unistdio/u32-snprintf: Likewise.
25084         * modules/unistdio/u32-sprintf: Likewise.
25085         * modules/unistdio/u32-u32-asnprintf: Likewise.
25086         * modules/unistdio/u32-u32-asprintf: Likewise.
25087         * modules/unistdio/u32-u32-snprintf: Likewise.
25088         * modules/unistdio/u32-u32-sprintf: Likewise.
25089         * modules/unistdio/u32-u32-vasnprintf: Likewise.
25090         * modules/unistdio/u32-u32-vasprintf: Likewise.
25091         * modules/unistdio/u32-u32-vsnprintf: Likewise.
25092         * modules/unistdio/u32-u32-vsprintf: Likewise.
25093         * modules/unistdio/u32-vasnprintf: Likewise.
25094         * modules/unistdio/u32-vasprintf: Likewise.
25095         * modules/unistdio/u32-vsnprintf: Likewise.
25096         * modules/unistdio/u32-vsprintf: Likewise.
25097         * modules/unistdio/ulc-asnprintf: Likewise.
25098         * modules/unistdio/ulc-asprintf: Likewise.
25099         * modules/unistdio/ulc-fprintf: Likewise.
25100         * modules/unistdio/ulc-snprintf: Likewise.
25101         * modules/unistdio/ulc-sprintf: Likewise.
25102         * modules/unistdio/ulc-vasnprintf: Likewise.
25103         * modules/unistdio/ulc-vasprintf: Likewise.
25104         * modules/unistdio/ulc-vfprintf: Likewise.
25105         * modules/unistdio/ulc-vsnprintf: Likewise.
25106         * modules/unistdio/ulc-vsprintf: Likewise.
25107         * modules/unistr/u8-check: Likewise.
25108         * modules/unistr/u8-chr: Likewise.
25109         * modules/unistr/u8-cmp: Likewise.
25110         * modules/unistr/u8-cmp2: Likewise.
25111         * modules/unistr/u8-cpy: Likewise.
25112         * modules/unistr/u8-cpy-alloc: Likewise.
25113         * modules/unistr/u8-endswith: Likewise.
25114         * modules/unistr/u8-mblen: Likewise.
25115         * modules/unistr/u8-mbsnlen: Likewise.
25116         * modules/unistr/u8-mbtouc: Likewise.
25117         * modules/unistr/u8-mbtouc-unsafe: Likewise.
25118         * modules/unistr/u8-mbtoucr: Likewise.
25119         * modules/unistr/u8-move: Likewise.
25120         * modules/unistr/u8-next: Likewise.
25121         * modules/unistr/u8-prev: Likewise.
25122         * modules/unistr/u8-set: Likewise.
25123         * modules/unistr/u8-startswith: Likewise.
25124         * modules/unistr/u8-stpcpy: Likewise.
25125         * modules/unistr/u8-stpncpy: Likewise.
25126         * modules/unistr/u8-strcat: Likewise.
25127         * modules/unistr/u8-strchr: Likewise.
25128         * modules/unistr/u8-strcmp: Likewise.
25129         * modules/unistr/u8-strcoll: Likewise.
25130         * modules/unistr/u8-strcpy: Likewise.
25131         * modules/unistr/u8-strcspn: Likewise.
25132         * modules/unistr/u8-strdup: Likewise.
25133         * modules/unistr/u8-strlen: Likewise.
25134         * modules/unistr/u8-strmblen: Likewise.
25135         * modules/unistr/u8-strmbtouc: Likewise.
25136         * modules/unistr/u8-strncat: Likewise.
25137         * modules/unistr/u8-strncmp: Likewise.
25138         * modules/unistr/u8-strncpy: Likewise.
25139         * modules/unistr/u8-strnlen: Likewise.
25140         * modules/unistr/u8-strpbrk: Likewise.
25141         * modules/unistr/u8-strrchr: Likewise.
25142         * modules/unistr/u8-strspn: Likewise.
25143         * modules/unistr/u8-strstr: Likewise.
25144         * modules/unistr/u8-strtok: Likewise.
25145         * modules/unistr/u8-to-u16: Likewise.
25146         * modules/unistr/u8-to-u32: Likewise.
25147         * modules/unistr/u8-uctomb: Likewise.
25148         * modules/unistr/u16-check: Likewise.
25149         * modules/unistr/u16-chr: Likewise.
25150         * modules/unistr/u16-cmp: Likewise.
25151         * modules/unistr/u16-cmp2: Likewise.
25152         * modules/unistr/u16-cpy: Likewise.
25153         * modules/unistr/u16-cpy-alloc: Likewise.
25154         * modules/unistr/u16-endswith: Likewise.
25155         * modules/unistr/u16-mblen: Likewise.
25156         * modules/unistr/u16-mbsnlen: Likewise.
25157         * modules/unistr/u16-mbtouc: Likewise.
25158         * modules/unistr/u16-mbtouc-unsafe: Likewise.
25159         * modules/unistr/u16-mbtoucr: Likewise.
25160         * modules/unistr/u16-move: Likewise.
25161         * modules/unistr/u16-next: Likewise.
25162         * modules/unistr/u16-prev: Likewise.
25163         * modules/unistr/u16-set: Likewise.
25164         * modules/unistr/u16-startswith: Likewise.
25165         * modules/unistr/u16-stpcpy: Likewise.
25166         * modules/unistr/u16-stpncpy: Likewise.
25167         * modules/unistr/u16-strcat: Likewise.
25168         * modules/unistr/u16-strchr: Likewise.
25169         * modules/unistr/u16-strcmp: Likewise.
25170         * modules/unistr/u16-strcoll: Likewise.
25171         * modules/unistr/u16-strcpy: Likewise.
25172         * modules/unistr/u16-strcspn: Likewise.
25173         * modules/unistr/u16-strdup: Likewise.
25174         * modules/unistr/u16-strlen: Likewise.
25175         * modules/unistr/u16-strmblen: Likewise.
25176         * modules/unistr/u16-strmbtouc: Likewise.
25177         * modules/unistr/u16-strncat: Likewise.
25178         * modules/unistr/u16-strncmp: Likewise.
25179         * modules/unistr/u16-strncpy: Likewise.
25180         * modules/unistr/u16-strnlen: Likewise.
25181         * modules/unistr/u16-strpbrk: Likewise.
25182         * modules/unistr/u16-strrchr: Likewise.
25183         * modules/unistr/u16-strspn: Likewise.
25184         * modules/unistr/u16-strstr: Likewise.
25185         * modules/unistr/u16-strtok: Likewise.
25186         * modules/unistr/u16-to-u32: Likewise.
25187         * modules/unistr/u16-to-u8: Likewise.
25188         * modules/unistr/u16-uctomb: Likewise.
25189         * modules/unistr/u32-check: Likewise.
25190         * modules/unistr/u32-chr: Likewise.
25191         * modules/unistr/u32-cmp: Likewise.
25192         * modules/unistr/u32-cmp2: Likewise.
25193         * modules/unistr/u32-cpy: Likewise.
25194         * modules/unistr/u32-cpy-alloc: Likewise.
25195         * modules/unistr/u32-endswith: Likewise.
25196         * modules/unistr/u32-mblen: Likewise.
25197         * modules/unistr/u32-mbsnlen: Likewise.
25198         * modules/unistr/u32-mbtouc: Likewise.
25199         * modules/unistr/u32-mbtouc-unsafe: Likewise.
25200         * modules/unistr/u32-mbtoucr: Likewise.
25201         * modules/unistr/u32-move: Likewise.
25202         * modules/unistr/u32-next: Likewise.
25203         * modules/unistr/u32-prev: Likewise.
25204         * modules/unistr/u32-set: Likewise.
25205         * modules/unistr/u32-startswith: Likewise.
25206         * modules/unistr/u32-stpcpy: Likewise.
25207         * modules/unistr/u32-stpncpy: Likewise.
25208         * modules/unistr/u32-strcat: Likewise.
25209         * modules/unistr/u32-strchr: Likewise.
25210         * modules/unistr/u32-strcmp: Likewise.
25211         * modules/unistr/u32-strcoll: Likewise.
25212         * modules/unistr/u32-strcpy: Likewise.
25213         * modules/unistr/u32-strcspn: Likewise.
25214         * modules/unistr/u32-strdup: Likewise.
25215         * modules/unistr/u32-strlen: Likewise.
25216         * modules/unistr/u32-strmblen: Likewise.
25217         * modules/unistr/u32-strmbtouc: Likewise.
25218         * modules/unistr/u32-strncat: Likewise.
25219         * modules/unistr/u32-strncmp: Likewise.
25220         * modules/unistr/u32-strncpy: Likewise.
25221         * modules/unistr/u32-strnlen: Likewise.
25222         * modules/unistr/u32-strpbrk: Likewise.
25223         * modules/unistr/u32-strrchr: Likewise.
25224         * modules/unistr/u32-strspn: Likewise.
25225         * modules/unistr/u32-strstr: Likewise.
25226         * modules/unistr/u32-strtok: Likewise.
25227         * modules/unistr/u32-to-u16: Likewise.
25228         * modules/unistr/u32-to-u8: Likewise.
25229         * modules/unistr/u32-uctomb: Likewise.
25230         * modules/uniwbrk/u8-wordbreaks: Likewise.
25231         * modules/uniwbrk/u16-wordbreaks: Likewise.
25232         * modules/uniwbrk/u32-wordbreaks: Likewise.
25233         * modules/uniwbrk/ulc-wordbreaks: Likewise.
25234         * modules/uniwbrk/wordbreak-property: Likewise.
25235         * modules/uniwidth/u8-strwidth: Likewise.
25236         * modules/uniwidth/u8-width: Likewise.
25237         * modules/uniwidth/u16-strwidth: Likewise.
25238         * modules/uniwidth/u16-width: Likewise.
25239         * modules/uniwidth/u32-strwidth: Likewise.
25240         * modules/uniwidth/u32-width: Likewise.
25241         * modules/uniwidth/width: Likewise.
25242         * modules/unicase/cased-tests (Makefile.am): Link all test programs
25243         with $(LIBUNISTRING).
25244         * modules/unicase/ignorable-tests: Likewise.
25245         * modules/unicase/locale-language-tests: Likewise.
25246         * modules/unicase/tolower-tests: Likewise.
25247         * modules/unicase/totitle-tests: Likewise.
25248         * modules/unicase/toupper-tests: Likewise.
25249         * modules/unicase/u8-casecmp-tests: Likewise.
25250         * modules/unicase/u8-casecoll-tests: Likewise.
25251         * modules/unicase/u8-casefold-tests: Likewise.
25252         * modules/unicase/u8-is-cased-tests: Likewise.
25253         * modules/unicase/u8-is-casefolded-tests: Likewise.
25254         * modules/unicase/u8-is-lowercase-tests: Likewise.
25255         * modules/unicase/u8-is-titlecase-tests: Likewise.
25256         * modules/unicase/u8-is-uppercase-tests: Likewise.
25257         * modules/unicase/u8-tolower-tests: Likewise.
25258         * modules/unicase/u8-totitle-tests: Likewise.
25259         * modules/unicase/u8-toupper-tests: Likewise.
25260         * modules/unicase/u16-casecmp-tests: Likewise.
25261         * modules/unicase/u16-casecoll-tests: Likewise.
25262         * modules/unicase/u16-casefold-tests: Likewise.
25263         * modules/unicase/u16-is-cased-tests: Likewise.
25264         * modules/unicase/u16-is-casefolded-tests: Likewise.
25265         * modules/unicase/u16-is-lowercase-tests: Likewise.
25266         * modules/unicase/u16-is-titlecase-tests: Likewise.
25267         * modules/unicase/u16-is-uppercase-tests: Likewise.
25268         * modules/unicase/u16-tolower-tests: Likewise.
25269         * modules/unicase/u16-totitle-tests: Likewise.
25270         * modules/unicase/u16-toupper-tests: Likewise.
25271         * modules/unicase/u32-casecmp-tests: Likewise.
25272         * modules/unicase/u32-casecoll-tests: Likewise.
25273         * modules/unicase/u32-casefold-tests: Likewise.
25274         * modules/unicase/u32-is-cased-tests: Likewise.
25275         * modules/unicase/u32-is-casefolded-tests: Likewise.
25276         * modules/unicase/u32-is-lowercase-tests: Likewise.
25277         * modules/unicase/u32-is-titlecase-tests: Likewise.
25278         * modules/unicase/u32-is-uppercase-tests: Likewise.
25279         * modules/unicase/u32-tolower-tests: Likewise.
25280         * modules/unicase/u32-totitle-tests: Likewise.
25281         * modules/unicase/u32-toupper-tests: Likewise.
25282         * modules/unicase/ulc-casecmp-tests: Likewise.
25283         * modules/unicase/ulc-casecoll-tests: Likewise.
25284         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
25285         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
25286         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
25287         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
25288         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
25289         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
25290         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
25291         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
25292         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
25293         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
25294         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
25295         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
25296         * modules/unictype/bidicategory-byname-tests: Likewise.
25297         * modules/unictype/bidicategory-name-tests: Likewise.
25298         * modules/unictype/bidicategory-of-tests: Likewise.
25299         * modules/unictype/bidicategory-test-tests: Likewise.
25300         * modules/unictype/block-list-tests: Likewise.
25301         * modules/unictype/block-of-tests: Likewise.
25302         * modules/unictype/block-test-tests: Likewise.
25303         * modules/unictype/category-C-tests: Likewise.
25304         * modules/unictype/category-Cc-tests: Likewise.
25305         * modules/unictype/category-Cf-tests: Likewise.
25306         * modules/unictype/category-Cn-tests: Likewise.
25307         * modules/unictype/category-Co-tests: Likewise.
25308         * modules/unictype/category-Cs-tests: Likewise.
25309         * modules/unictype/category-L-tests: Likewise.
25310         * modules/unictype/category-Ll-tests: Likewise.
25311         * modules/unictype/category-Lm-tests: Likewise.
25312         * modules/unictype/category-Lo-tests: Likewise.
25313         * modules/unictype/category-Lt-tests: Likewise.
25314         * modules/unictype/category-Lu-tests: Likewise.
25315         * modules/unictype/category-M-tests: Likewise.
25316         * modules/unictype/category-Mc-tests: Likewise.
25317         * modules/unictype/category-Me-tests: Likewise.
25318         * modules/unictype/category-Mn-tests: Likewise.
25319         * modules/unictype/category-N-tests: Likewise.
25320         * modules/unictype/category-Nd-tests: Likewise.
25321         * modules/unictype/category-Nl-tests: Likewise.
25322         * modules/unictype/category-No-tests: Likewise.
25323         * modules/unictype/category-P-tests: Likewise.
25324         * modules/unictype/category-Pc-tests: Likewise.
25325         * modules/unictype/category-Pd-tests: Likewise.
25326         * modules/unictype/category-Pe-tests: Likewise.
25327         * modules/unictype/category-Pf-tests: Likewise.
25328         * modules/unictype/category-Pi-tests: Likewise.
25329         * modules/unictype/category-Po-tests: Likewise.
25330         * modules/unictype/category-Ps-tests: Likewise.
25331         * modules/unictype/category-S-tests: Likewise.
25332         * modules/unictype/category-Sc-tests: Likewise.
25333         * modules/unictype/category-Sk-tests: Likewise.
25334         * modules/unictype/category-Sm-tests: Likewise.
25335         * modules/unictype/category-So-tests: Likewise.
25336         * modules/unictype/category-Z-tests: Likewise.
25337         * modules/unictype/category-Zl-tests: Likewise.
25338         * modules/unictype/category-Zp-tests: Likewise.
25339         * modules/unictype/category-Zs-tests: Likewise.
25340         * modules/unictype/category-and-not-tests: Likewise.
25341         * modules/unictype/category-and-tests: Likewise.
25342         * modules/unictype/category-byname-tests: Likewise.
25343         * modules/unictype/category-name-tests: Likewise.
25344         * modules/unictype/category-none-tests: Likewise.
25345         * modules/unictype/category-of-tests: Likewise.
25346         * modules/unictype/category-or-tests: Likewise.
25347         * modules/unictype/category-test-withtable-tests: Likewise.
25348         * modules/unictype/combining-class-tests: Likewise.
25349         * modules/unictype/ctype-alnum-tests: Likewise.
25350         * modules/unictype/ctype-alpha-tests: Likewise.
25351         * modules/unictype/ctype-blank-tests: Likewise.
25352         * modules/unictype/ctype-cntrl-tests: Likewise.
25353         * modules/unictype/ctype-digit-tests: Likewise.
25354         * modules/unictype/ctype-graph-tests: Likewise.
25355         * modules/unictype/ctype-lower-tests: Likewise.
25356         * modules/unictype/ctype-print-tests: Likewise.
25357         * modules/unictype/ctype-punct-tests: Likewise.
25358         * modules/unictype/ctype-space-tests: Likewise.
25359         * modules/unictype/ctype-upper-tests: Likewise.
25360         * modules/unictype/ctype-xdigit-tests: Likewise.
25361         * modules/unictype/decimal-digit-tests: Likewise.
25362         * modules/unictype/digit-tests: Likewise.
25363         * modules/unictype/mirror-tests: Likewise.
25364         * modules/unictype/numeric-tests: Likewise.
25365         * modules/unictype/property-alphabetic-tests: Likewise.
25366         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
25367         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
25368         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
25369         * modules/unictype/property-bidi-block-separator-tests: Likewise.
25370         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
25371         * modules/unictype/property-bidi-common-separator-tests: Likewise.
25372         * modules/unictype/property-bidi-control-tests: Likewise.
25373         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
25374         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
25375         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
25376         * modules/unictype/property-bidi-european-digit-tests: Likewise.
25377         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
25378         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
25379         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
25380         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
25381         * modules/unictype/property-bidi-pdf-tests: Likewise.
25382         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
25383         * modules/unictype/property-bidi-whitespace-tests: Likewise.
25384         * modules/unictype/property-byname-tests: Likewise.
25385         * modules/unictype/property-combining-tests: Likewise.
25386         * modules/unictype/property-composite-tests: Likewise.
25387         * modules/unictype/property-currency-symbol-tests: Likewise.
25388         * modules/unictype/property-dash-tests: Likewise.
25389         * modules/unictype/property-decimal-digit-tests: Likewise.
25390         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
25391         * modules/unictype/property-deprecated-tests: Likewise.
25392         * modules/unictype/property-diacritic-tests: Likewise.
25393         * modules/unictype/property-extender-tests: Likewise.
25394         * modules/unictype/property-format-control-tests: Likewise.
25395         * modules/unictype/property-grapheme-base-tests: Likewise.
25396         * modules/unictype/property-grapheme-extend-tests: Likewise.
25397         * modules/unictype/property-grapheme-link-tests: Likewise.
25398         * modules/unictype/property-hex-digit-tests: Likewise.
25399         * modules/unictype/property-hyphen-tests: Likewise.
25400         * modules/unictype/property-id-continue-tests: Likewise.
25401         * modules/unictype/property-id-start-tests: Likewise.
25402         * modules/unictype/property-ideographic-tests: Likewise.
25403         * modules/unictype/property-ids-binary-operator-tests: Likewise.
25404         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
25405         * modules/unictype/property-ignorable-control-tests: Likewise.
25406         * modules/unictype/property-iso-control-tests: Likewise.
25407         * modules/unictype/property-join-control-tests: Likewise.
25408         * modules/unictype/property-left-of-pair-tests: Likewise.
25409         * modules/unictype/property-line-separator-tests: Likewise.
25410         * modules/unictype/property-logical-order-exception-tests: Likewise.
25411         * modules/unictype/property-lowercase-tests: Likewise.
25412         * modules/unictype/property-math-tests: Likewise.
25413         * modules/unictype/property-non-break-tests: Likewise.
25414         * modules/unictype/property-not-a-character-tests: Likewise.
25415         * modules/unictype/property-numeric-tests: Likewise.
25416         * modules/unictype/property-other-alphabetic-tests: Likewise.
25417         * modules/unictype/property-other-default-ignorable-code-point-tests:
25418         Likewise.
25419         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
25420         * modules/unictype/property-other-id-continue-tests: Likewise.
25421         * modules/unictype/property-other-id-start-tests: Likewise.
25422         * modules/unictype/property-other-lowercase-tests: Likewise.
25423         * modules/unictype/property-other-math-tests: Likewise.
25424         * modules/unictype/property-other-uppercase-tests: Likewise.
25425         * modules/unictype/property-paired-punctuation-tests: Likewise.
25426         * modules/unictype/property-paragraph-separator-tests: Likewise.
25427         * modules/unictype/property-pattern-syntax-tests: Likewise.
25428         * modules/unictype/property-pattern-white-space-tests: Likewise.
25429         * modules/unictype/property-private-use-tests: Likewise.
25430         * modules/unictype/property-punctuation-tests: Likewise.
25431         * modules/unictype/property-quotation-mark-tests: Likewise.
25432         * modules/unictype/property-radical-tests: Likewise.
25433         * modules/unictype/property-sentence-terminal-tests: Likewise.
25434         * modules/unictype/property-soft-dotted-tests: Likewise.
25435         * modules/unictype/property-space-tests: Likewise.
25436         * modules/unictype/property-terminal-punctuation-tests: Likewise.
25437         * modules/unictype/property-test-tests: Likewise.
25438         * modules/unictype/property-titlecase-tests: Likewise.
25439         * modules/unictype/property-unassigned-code-value-tests: Likewise.
25440         * modules/unictype/property-unified-ideograph-tests: Likewise.
25441         * modules/unictype/property-uppercase-tests: Likewise.
25442         * modules/unictype/property-variation-selector-tests: Likewise.
25443         * modules/unictype/property-white-space-tests: Likewise.
25444         * modules/unictype/property-xid-continue-tests: Likewise.
25445         * modules/unictype/property-xid-start-tests: Likewise.
25446         * modules/unictype/property-zero-width-tests: Likewise.
25447         * modules/unictype/scripts-tests: Likewise.
25448         * modules/unictype/syntax-c-ident-tests: Likewise.
25449         * modules/unictype/syntax-c-whitespace-tests: Likewise.
25450         * modules/unictype/syntax-java-ident-tests: Likewise.
25451         * modules/unictype/syntax-java-whitespace-tests: Likewise.
25452         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
25453         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
25454         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
25455         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
25456         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
25457         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
25458         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
25459         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
25460         * modules/uniname/uniname-tests: Likewise.
25461         * modules/uninorm/canonical-decomposition-tests: Likewise.
25462         * modules/uninorm/compat-decomposition-tests: Likewise.
25463         * modules/uninorm/composition-tests: Likewise.
25464         * modules/uninorm/decomposing-form-tests: Likewise.
25465         * modules/uninorm/decomposition-tests: Likewise.
25466         * modules/uninorm/filter-tests: Likewise.
25467         * modules/uninorm/nfc-tests: Likewise.
25468         * modules/uninorm/nfd-tests: Likewise.
25469         * modules/uninorm/nfkc-tests: Likewise.
25470         * modules/uninorm/nfkd-tests: Likewise.
25471         * modules/uninorm/u8-normcmp-tests: Likewise.
25472         * modules/uninorm/u8-normcoll-tests: Likewise.
25473         * modules/uninorm/u16-normcmp-tests: Likewise.
25474         * modules/uninorm/u16-normcoll-tests: Likewise.
25475         * modules/uninorm/u32-normcmp-tests: Likewise.
25476         * modules/uninorm/u32-normcoll-tests: Likewise.
25477         * modules/unistdio/u8-asnprintf-tests: Likewise.
25478         * modules/unistdio/u8-vasnprintf-tests: Likewise.
25479         * modules/unistdio/u8-vasprintf-tests: Likewise.
25480         * modules/unistdio/u8-vsnprintf-tests: Likewise.
25481         * modules/unistdio/u8-vsprintf-tests: Likewise.
25482         * modules/unistdio/u16-asnprintf-tests: Likewise.
25483         * modules/unistdio/u16-vasnprintf-tests: Likewise.
25484         * modules/unistdio/u16-vasprintf-tests: Likewise.
25485         * modules/unistdio/u16-vsnprintf-tests: Likewise.
25486         * modules/unistdio/u16-vsprintf-tests: Likewise.
25487         * modules/unistdio/u32-asnprintf-tests: Likewise.
25488         * modules/unistdio/u32-vasnprintf-tests: Likewise.
25489         * modules/unistdio/u32-vasprintf-tests: Likewise.
25490         * modules/unistdio/u32-vsnprintf-tests: Likewise.
25491         * modules/unistdio/u32-vsprintf-tests: Likewise.
25492         * modules/unistdio/ulc-asnprintf-tests: Likewise.
25493         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
25494         * modules/unistdio/ulc-vasprintf-tests: Likewise.
25495         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
25496         * modules/unistdio/ulc-vsprintf-tests: Likewise.
25497         * modules/unistr/u8-check-tests: Likewise.
25498         * modules/unistr/u8-chr-tests: Likewise.
25499         * modules/unistr/u8-cmp-tests: Likewise.
25500         * modules/unistr/u8-cmp2-tests: Likewise.
25501         * modules/unistr/u8-cpy-alloc-tests: Likewise.
25502         * modules/unistr/u8-cpy-tests: Likewise.
25503         * modules/unistr/u8-mblen-tests: Likewise.
25504         * modules/unistr/u8-mbsnlen-tests: Likewise.
25505         * modules/unistr/u8-mbtouc-tests: Likewise.
25506         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
25507         * modules/unistr/u8-mbtoucr-tests: Likewise.
25508         * modules/unistr/u8-move-tests: Likewise.
25509         * modules/unistr/u8-next-tests: Likewise.
25510         * modules/unistr/u8-prev-tests: Likewise.
25511         * modules/unistr/u8-set-tests: Likewise.
25512         * modules/unistr/u8-stpcpy-tests: Likewise.
25513         * modules/unistr/u8-stpncpy-tests: Likewise.
25514         * modules/unistr/u8-strcat-tests: Likewise.
25515         * modules/unistr/u8-strcmp-tests: Likewise.
25516         * modules/unistr/u8-strcoll-tests: Likewise.
25517         * modules/unistr/u8-strcpy-tests: Likewise.
25518         * modules/unistr/u8-strdup-tests: Likewise.
25519         * modules/unistr/u8-strlen-tests: Likewise.
25520         * modules/unistr/u8-strmblen-tests: Likewise.
25521         * modules/unistr/u8-strmbtouc-tests: Likewise.
25522         * modules/unistr/u8-strncat-tests: Likewise.
25523         * modules/unistr/u8-strncmp-tests: Likewise.
25524         * modules/unistr/u8-strncpy-tests: Likewise.
25525         * modules/unistr/u8-strnlen-tests: Likewise.
25526         * modules/unistr/u8-to-u16-tests: Likewise.
25527         * modules/unistr/u8-to-u32-tests: Likewise.
25528         * modules/unistr/u8-uctomb-tests: Likewise.
25529         * modules/unistr/u16-check-tests: Likewise.
25530         * modules/unistr/u16-chr-tests: Likewise.
25531         * modules/unistr/u16-cmp-tests: Likewise.
25532         * modules/unistr/u16-cmp2-tests: Likewise.
25533         * modules/unistr/u16-cpy-alloc-tests: Likewise.
25534         * modules/unistr/u16-cpy-tests: Likewise.
25535         * modules/unistr/u16-mblen-tests: Likewise.
25536         * modules/unistr/u16-mbsnlen-tests: Likewise.
25537         * modules/unistr/u16-mbtouc-tests: Likewise.
25538         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
25539         * modules/unistr/u16-mbtoucr-tests: Likewise.
25540         * modules/unistr/u16-move-tests: Likewise.
25541         * modules/unistr/u16-next-tests: Likewise.
25542         * modules/unistr/u16-prev-tests: Likewise.
25543         * modules/unistr/u16-set-tests: Likewise.
25544         * modules/unistr/u16-stpcpy-tests: Likewise.
25545         * modules/unistr/u16-stpncpy-tests: Likewise.
25546         * modules/unistr/u16-strcat-tests: Likewise.
25547         * modules/unistr/u16-strcmp-tests: Likewise.
25548         * modules/unistr/u16-strcoll-tests: Likewise.
25549         * modules/unistr/u16-strcpy-tests: Likewise.
25550         * modules/unistr/u16-strdup-tests: Likewise.
25551         * modules/unistr/u16-strlen-tests: Likewise.
25552         * modules/unistr/u16-strmblen-tests: Likewise.
25553         * modules/unistr/u16-strmbtouc-tests: Likewise.
25554         * modules/unistr/u16-strncat-tests: Likewise.
25555         * modules/unistr/u16-strncmp-tests: Likewise.
25556         * modules/unistr/u16-strncpy-tests: Likewise.
25557         * modules/unistr/u16-strnlen-tests: Likewise.
25558         * modules/unistr/u16-to-u32-tests: Likewise.
25559         * modules/unistr/u16-to-u8-tests: Likewise.
25560         * modules/unistr/u16-uctomb-tests: Likewise.
25561         * modules/unistr/u32-check-tests: Likewise.
25562         * modules/unistr/u32-chr-tests: Likewise.
25563         * modules/unistr/u32-cmp-tests: Likewise.
25564         * modules/unistr/u32-cmp2-tests: Likewise.
25565         * modules/unistr/u32-cpy-alloc-tests: Likewise.
25566         * modules/unistr/u32-cpy-tests: Likewise.
25567         * modules/unistr/u32-mblen-tests: Likewise.
25568         * modules/unistr/u32-mbsnlen-tests: Likewise.
25569         * modules/unistr/u32-mbtouc-tests: Likewise.
25570         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
25571         * modules/unistr/u32-mbtoucr-tests: Likewise.
25572         * modules/unistr/u32-move-tests: Likewise.
25573         * modules/unistr/u32-next-tests: Likewise.
25574         * modules/unistr/u32-prev-tests: Likewise.
25575         * modules/unistr/u32-set-tests: Likewise.
25576         * modules/unistr/u32-stpcpy-tests: Likewise.
25577         * modules/unistr/u32-stpncpy-tests: Likewise.
25578         * modules/unistr/u32-strcat-tests: Likewise.
25579         * modules/unistr/u32-strcmp-tests: Likewise.
25580         * modules/unistr/u32-strcoll-tests: Likewise.
25581         * modules/unistr/u32-strcpy-tests: Likewise.
25582         * modules/unistr/u32-strdup-tests: Likewise.
25583         * modules/unistr/u32-strlen-tests: Likewise.
25584         * modules/unistr/u32-strmblen-tests: Likewise.
25585         * modules/unistr/u32-strmbtouc-tests: Likewise.
25586         * modules/unistr/u32-strncat-tests: Likewise.
25587         * modules/unistr/u32-strncmp-tests: Likewise.
25588         * modules/unistr/u32-strncpy-tests: Likewise.
25589         * modules/unistr/u32-strnlen-tests: Likewise.
25590         * modules/unistr/u32-to-u16-tests: Likewise.
25591         * modules/unistr/u32-to-u8-tests: Likewise.
25592         * modules/unistr/u32-uctomb-tests: Likewise.
25593         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
25594         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
25595         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
25596         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
25597         * modules/uniwidth/u8-strwidth-tests: Likewise.
25598         * modules/uniwidth/u8-width-tests: Likewise.
25599         * modules/uniwidth/u16-strwidth-tests: Likewise.
25600         * modules/uniwidth/u16-width-tests: Likewise.
25601         * modules/uniwidth/u32-strwidth-tests: Likewise.
25602         * modules/uniwidth/u32-width-tests: Likewise.
25603         * modules/uniwidth/width-tests: Likewise.
25604
25605 2010-05-18  Richard Jones  <rjones@redhat.com>
25606
25607         doc: users.txt: list hivex
25608         * users.txt: Add hivex.
25609
25610 2010-05-18  Richard Jones  <rjones@redhat.com>
25611
25612         doc: users.txt: list febootstrap
25613         * users.txt: Add febootstrap.
25614
25615 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
25616
25617         bootstrap: fix an error when gnulib is not used as a git submodule
25618         * build-aux/bootstrap (gnulib_path): If its length is zero then
25619         assign "gnulib" to it.
25620         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
25621
25622 2010-05-16  Bruno Haible  <bruno@clisp.org>
25623
25624         Avoid autoconf warnings about AM_ICONV.
25625         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
25626         2.64.
25627
25628 2010-05-16  Bruno Haible  <bruno@clisp.org>
25629
25630         absolute-header: Make the macro usable in more situations.
25631         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
25632         from gl_ABSOLUTE_HEADER.
25633         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
25634
25635 2010-05-16  James Youngman  <jay@gnu.org>
25636
25637         doc: update users.txt
25638         * users.txt: Add CSSC.
25639
25640 2010-05-16  Jim Meyering  <meyering@redhat.com>
25641
25642         init.sh: fix an error in the previous change; add more comments
25643         * tests/init.sh: Compare exit code in loop against 9, not 2.
25644         Patch by Bruno Haible.
25645         Make the two tests more similar by adding an empty "then" clause.
25646         Add comments.
25647
25648         init.sh: avoid unnecessary shell re-exec
25649         * tests/init.sh: Improve the re-exec-required check to first test the
25650         current shell.  If it passes the test, do not search for a shell that
25651         does pass, and do not re-exec.  This test is particularly contorted to
25652         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
25653         of $(...) evokes a syntax error and causes immediate shell exit with
25654         status 2.  Bruno Haible reported that the re-exec made it impossible
25655         to single-step through any init.sh-using script.
25656
25657 2010-05-16  Bruno Haible  <bruno@clisp.org>
25658
25659         Fix collision between gnulib's and libintl's printf replacements.
25660         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
25661         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
25662         (printf): When using GNU C, map the __printf__ function to rpl_printf
25663         via __asm__. When not using GNU C, define rpl_printf instead of
25664         __printf__.
25665         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
25666         commit.
25667         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
25668         commit.
25669         * m4/asm-underscore.m4: New file.
25670         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
25671         * modules/stdio (Files): Add m4/asm-underscore.m4.
25672         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
25673         Reported by Ben Pfaff.
25674
25675 2010-05-16  Bruno Haible  <bruno@clisp.org>
25676
25677         verify: Avoid skipping the test on openSUSE 11.0.
25678         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
25679
25680 2010-05-13  Bruno Haible  <bruno@clisp.org>
25681
25682         Avoid useless warnings from G++.
25683         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
25684         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
25685         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25686
25687 2010-05-11  Jim Meyering  <meyering@redhat.com>
25688
25689         maint.mk: tweak preceding change
25690         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
25691         regexps tighter by anchoring at EOL, and make the new group "shy"
25692         for slightly decreased overhead.
25693
25694 2010-05-11  Eric Blake  <eblake@redhat.com>
25695
25696         maint.mk: gnulib doesn't guarantee NSIG
25697         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
25698
25699 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25700
25701         test-pwrite.c: Remove unused variable declaration.
25702         * tests/test-pwrite.c (main): Remove read_buf declaration.
25703
25704         Remove useless test-pwrite.sh file.
25705         * tests/test-pwrite.sh: Delete file.
25706         * modules/pwrite-tests: Remove references.
25707         Reported by Bruno Haible.
25708
25709 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
25710
25711         init.sh: fix a typo
25712         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
25713
25714 2010-05-10  Jim Meyering  <meyering@redhat.com>
25715
25716         maint.mk: avoid using a temporary file in the always-defined-macros check
25717         * top/maint.mk (.re-defmac): Remove rule.
25718         (gl_trap_): Remove definition.
25719         (sc_prohibit_always-defined_macros): Rewrite not to create and
25720         depend on a temporary file.  Instead, depend on GNU grep's ability
25721         to read a list of regular expressions from stdin when given "-f -".
25722
25723 2010-05-09  Bruno Haible  <bruno@clisp.org>
25724
25725         Update to GNU gettext 0.18, part 1.
25726         * m4/gettext.m4: Update to GNU gettext 0.18.
25727         * m4/intl.m4: Likewise.
25728         * m4/po.m4: Likewise.
25729         * modules/gettext (Files): Add m4/fcntl-o.m4.
25730         (configure.ac): Require gettext infrastructure from version 0.18.
25731
25732 2010-05-09  Jim Meyering  <meyering@redhat.com>
25733
25734         init.sh: enable MALLOC_PERTURB_
25735         * tests/init.sh: Enable glibc's malloc-perturbing option.
25736
25737         maint.mk: improve sc_cross_check_PATH_usage_in_tests
25738         With my recent change in init.sh from the two-line form:
25739             -#   : ${srcdir=.}
25740             -#   . "$srcdir/init.sh"; path_prepend_ .
25741             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
25742         I noticed that using the one-line form would cause this test
25743         to fail with a false-positive, or to stop working altogether,
25744         depending on whether help-version changed or all the tests did.
25745         * top/maint.mk (_hv_regex): Remove this definition.
25746         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
25747         (_hv_regex_strong): Use a stronger regex to check for conformance.
25748         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
25749         Give a separate diagnostic for lack of conforming use.
25750
25751         maint.mk: prohibit definition of symbols defined by gnulib
25752         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
25753         definition of symbols defined by gnulib.
25754
25755 2010-05-09  Bruno Haible  <bruno@clisp.org>
25756
25757         acl: Avoid test failure on Cygwin-hosted mingw.
25758         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
25759
25760 2010-05-09  Bruno Haible  <bruno@clisp.org>
25761
25762         error: Use system's fcntl function.
25763         * lib/error.c (fcntl): Undefine.
25764
25765 2010-05-09  Jim Meyering  <meyering@redhat.com>
25766
25767         verify: adjust formatting to be more consistent
25768         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
25769         argument-list '('s, and after one comma.
25770
25771 2010-05-09  Bruno Haible  <bruno@clisp.org>
25772
25773         error: More reliable output on mingw.
25774         * lib/error.c: Include <windows.h>.
25775         (is_open): New function.
25776         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
25777         defined.
25778
25779 2010-05-09  Bruno Haible  <bruno@clisp.org>
25780
25781         vasnprintf: Fix syntax errors in libintl build on mingw.
25782         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
25783         pad_ourselves and prec_ourselves after use.
25784
25785 2010-05-08  Bruno Haible  <bruno@clisp.org>
25786
25787         * lib/config.charset: Update comments for Cygwin 1.7.
25788         * lib/localcharset.c: Likewise.
25789
25790 2010-05-07  Jim Meyering  <meyering@redhat.com>
25791
25792         init.sh: improve comments
25793         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
25794         . "${srcdir=.}/init.sh"; path_prepend_ .
25795         Add a note about path_prepend_ and the alternative of using
25796         TESTS_ENVIRONMENT.
25797
25798 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
25799
25800         exclude: Unescape hashed patterns in wildcard mode.
25801         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
25802         to the hash list.
25803         * tests/test-exclude8.sh: New test case.
25804         * modules/exclude-tests: Add new test.
25805
25806 2010-05-05  Eric Blake  <eblake@redhat.com>
25807
25808         verify: automate tests
25809         * modules/verify-tests: New module.
25810         * tests/test-verify.sh: New file.
25811         * tests/test-verify.c: Guard each negative test with a unique id.
25812         Also avoid warning about unused left hand of comma expressions.
25813
25814 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
25815
25816         Further improvements to verify.h, suggested by Eric Blake.
25817         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
25818         the GL_* versions, to avoid collision with OpenGL.
25819         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
25820         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
25821         than testing merely whether it's defined.
25822
25823         Modify verify.h to pacify gcc -Wredundant_decls.
25824         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
25825         These use the prefix "GL_" since they're likely to be useful elsewhere.
25826         We may need to break them out into a different .h file.
25827         (__COUNTER__): Define to 0 if the compiler doesn't support it.
25828         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
25829         of verify_function__.
25830
25831 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25832
25833         Tests for module pwrite.
25834         * modules/pwrite-tests: New file.
25835         * tests/test-pwrite.sh: New file.
25836         * tests/test-pwrite.c: New file.
25837
25838         New module pwrite.
25839         * lib/unistd.in.h (pwrite): New declaration.
25840         * lib/pwrite.c: New file, from glibc with modifications.
25841         * m4/pwrite.m4: New file.
25842         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
25843         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
25844         REPLACE_PWRITE.
25845         * modules/pwrite: New file.
25846         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
25847         REPLACE_PWRITE.
25848         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
25849         * doc/posix-functions/pwrite.texi: Mention the new module.
25850
25851 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
25852
25853         pread: Update documentation.
25854         * doc/posix-functions/pread.texi: Mention the 'pread' module.
25855
25856 2010-05-04  Eric Blake  <eblake@redhat.com>
25857
25858         docs: update cygwin progress
25859         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
25860         this bug.
25861         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
25862         Added in cygwin 1.7.2.
25863         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
25864         Likewise.
25865         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
25866         Likewise.
25867         * doc/glibc-functions/dup3.texi (dup3): Likewise.
25868         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
25869         * doc/glibc-functions/accept4.texi (accept4): Likewise.
25870         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
25871         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
25872         Mention nproc module.
25873         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
25874         bug in cygwin 1.7.5 addition.
25875         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
25876         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
25877         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
25878         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
25879         1.7.5.
25880         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
25881         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
25882         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
25883         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
25884         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
25885         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
25886         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
25887         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
25888         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
25889         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
25890         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
25891         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
25892         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
25893         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
25894         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
25895         Likewise.
25896         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
25897         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
25898         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
25899         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
25900         Likewise.
25901         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
25902         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
25903         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
25904         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
25905         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
25906         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
25907         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
25908         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
25909         Likewise.
25910         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
25911         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
25912         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
25913         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
25914         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
25915         Likewise.
25916         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
25917         Likewise.
25918         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
25919         Likewise.
25920         * doc/glibc-functions/xdrrec_endofrecord.texi
25921         (xdrrec_endofrecord): Likewise.
25922         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
25923         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
25924         Likewise.
25925         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
25926         Likewise.
25927
25928 2010-05-04  Jim Meyering  <meyering@redhat.com>
25929
25930         gendocs.sh: make its "-s FILE" option more useful
25931         * build-aux/gendocs.sh: When honoring the -s FILE option, update
25932         $PACKAGE to reflect the probably-different basename of "FILE".
25933
25934 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
25935
25936         bootstrap: don't ignore download_po_files failure
25937         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
25938         failure.
25939
25940 2010-05-03  Jim Meyering  <meyering@redhat.com>
25941
25942         maint.mk: allow to pass options to gendocs.sh
25943         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
25944         (gendocs_options_): New overridable variable.
25945
25946         gnu-web-doc-update: don't ignore configure or build failure
25947         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
25948
25949         announce-gen: backslash-escape '@'s in --help output
25950         * build-aux/announce-gen: Fix syntax errors.
25951
25952         maint.mk, announce-gen: allow project-specific announcement mail headers
25953         * top/maint.mk (translation_project_): Define default.
25954         (announcement_Cc_, announcement_mail_headers_): Likewise.
25955         (announcement): Invoke announce-gen with new --mail-headers option.
25956         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
25957
25958         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
25959         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
25960         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
25961         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
25962         line in the "err2" output file when running "make check" in verbose
25963         mode (i.e., with set -x enabled).
25964
25965 2010-05-03  Bruno Haible  <bruno@clisp.org>
25966
25967         wctob: Fix for weird platforms.
25968         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
25969         argument value.
25970
25971 2010-05-03  Jim Meyering  <meyering@redhat.com>
25972
25973         maint.mk: prohibit unwarranted use of <strings.h>
25974         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
25975         strings.h in a file that does not also use strcasecmp, strncasecmp,
25976         ffs or ffsll.
25977
25978         maint.mk: remove obsolete comments
25979         * top/maint.mk: Remove stale, commented-out rules.
25980
25981 2010-05-02  Bruno Haible  <bruno@clisp.org>
25982
25983         wcwidth: Declare also when it's aliased.
25984         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
25985         macro.
25986
25987 2010-05-02  Bruno Haible  <bruno@clisp.org>
25988
25989         Fix regression from 2010-04-25.
25990         * gnulib-tool (func_modules_transitive_closure): Check the status of
25991         all modules, not only of the tests that are of the form foo-tests where
25992         foo is a module.
25993
25994 2010-05-02  Bruno Haible  <bruno@clisp.org>
25995
25996         wctob: Work around nasty Cygwin 1.7.2 bug.
25997         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
25998         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
25999
26000 2010-05-01  Bruno Haible  <bruno@clisp.org>
26001
26002         fpurge: Sharper test.
26003         * tests/test-fpurge.c (main): Add one more ftell check.
26004         * modules/fpurge-tests (Depends-on): Add ftell.
26005         Suggested by Eric Blake.
26006
26007 2010-05-01  Bruno Haible  <bruno@clisp.org>
26008
26009         ftello: Another test.
26010         * tests/test-ftello3.c: New file.
26011         * modules/ftello-tests (Files): Add it.
26012         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26013         MOSTLYCLEANFILES.
26014
26015         ftell: Another test.
26016         * tests/test-ftell3.c: New file.
26017         * modules/ftell-tests (Files): Add it.
26018         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
26019         MOSTLYCLEANFILES.
26020
26021 2010-05-01  Bruno Haible  <bruno@clisp.org>
26022
26023         ftell, ftello: Work around Solaris bug.
26024         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
26025         * lib/ftello.c: Include stdio-impl.h.
26026         (ftello): On Solaris, when _IOWRT is set, compute the result without
26027         looking at _IOREAD.
26028         * modules/ftello (Files): Add lib/stdio-impl.h.
26029         * doc/posix-functions/ftell.texi: Mention Solaris bug.
26030         * doc/posix-functions/ftello.texi: Likewise.
26031         Reported by Eric Blake.
26032
26033 2010-05-01  Bruno Haible  <bruno@clisp.org>
26034
26035         freading: Adapt to special meaning of _IOREAD flag on Solaris.
26036         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
26037         the _IOWRT flag is also set.
26038
26039 2010-05-01  Bruno Haible  <bruno@clisp.org>
26040
26041         Fix doc about a HP-UX stdio bug.
26042         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
26043         * doc/posix-functions/ftello.texi: Likewise.
26044
26045 2010-05-01  Bruno Haible  <bruno@clisp.org>
26046
26047         lseek test: Fix failure on Solaris.
26048         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
26049         output.
26050
26051 2010-04-30  Jim Meyering  <meyering@redhat.com>
26052
26053         bootstrap: don't ignore failure to generate po*/Makevars
26054         * build-aux/bootstrap (with_gettext): Don't ignore failure
26055         to create po/Makevars or runtime-po/Makevars.
26056
26057 2010-04-29  Eric Blake  <eblake@redhat.com>
26058
26059         headers: relax license to LGPLv2+
26060         * modules/fcntl-h (License): Relax license.
26061         * modules/getopt-posix (License): Likewise.
26062         * modules/locale (License): Likewise.
26063         * modules/math (License): Likewise.
26064         * modules/pty (License): Likewise.
26065         * modules/sched (License): Likewise.
26066         * modules/search (License): Likewise.
26067         * modules/spawn (License): Likewise.
26068         * modules/stdarg (License): Likewise.
26069         * modules/sysexits (License): Likewise.
26070
26071 2010-04-29  Jim Meyering  <meyering@redhat.com>
26072
26073         inttypes: relax license to LGPLv2+
26074         * modules/inttypes (License): Relax license.
26075
26076 2010-04-29  Simon Josefsson  <simon@josefsson.org>
26077
26078         * top/maint.mk (indent): Run twice to produce idempotent results.
26079
26080 2010-04-28  Bruno Haible  <bruno@clisp.org>
26081
26082         getdate: Generate getdate.c in the source directory.
26083         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
26084         MOSTLYCLEANFILES.
26085         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
26086
26087 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
26088
26089         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
26090         is not declared as a const *; avoid warnings in that case.
26091
26092 2010-04-28  Eric Blake  <eblake@redhat.com>
26093
26094         canonicalize-lgpl: avoid compiler warning
26095         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
26096         declaration' / 'extraneous semicolon' warning with some compilers.
26097         Reported by Andreas Gruenbacher.
26098
26099 2010-04-28  Jim Meyering  <meyering@redhat.com>
26100
26101         init.sh: ensure a more reliable exit status when exiting via trap
26102         * tests/init.sh (setup_): Don't rely on $? in signal handler.
26103         Inspired by patches from Dmitry V. Levin.
26104         Also trap on signal 3 (SIGQUIT).
26105
26106 2010-04-27  Bruno Haible  <bruno@clisp.org>
26107
26108         Update doc about utimes().
26109         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
26110         'utimens' module.
26111         Reported by Andreas Gruenbacher <agruen@suse.de>.
26112
26113 2010-04-27  Eric Blake  <eblake@redhat.com>
26114
26115         full-read, full-write: relax license
26116         * modules/full-read (License): Drop to LGPLv2+.
26117         * modules/full-write (License): Likewise.
26118         * modules/safe-read (License): Likewise.
26119         * modules/safe-write (License): Likewise.
26120
26121         pthread: mention library for linking
26122         * modules/pthread (Link): Mention $(LIB_PTHREAD).
26123
26124 2010-04-27  Jim Meyering  <meyering@redhat.com>
26125
26126         maint.mk: fix a bug introduced in last change
26127         * top/maint.mk (gl_assured_headers_): Now that all names are on
26128         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
26129         is not anchored to end of word, it should be adequate.
26130
26131         maint.mk: avoid side-effect in latest syntax-check
26132         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
26133         to run commands via $(shell...), and hence to incur cost only when
26134         the new rule is actually run.
26135
26136         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
26137         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
26138         and use that to create a regexp used to detect all #if HAVE_..._H uses.
26139         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
26140         (gl_assured_headers_, az_, AZ_): Define.
26141         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
26142
26143 2010-04-26  Jim Meyering  <jim@meyering.net>
26144             Bruno Haible  <bruno@clisp.org>
26145
26146         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
26147         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
26148         Prompted by an exchange with Gilles Espinasse.
26149
26150 2010-04-26  Jim Meyering  <meyering@redhat.com>
26151
26152         git-version-gen: aesthetic tweak
26153         * build-aux/git-version-gen: Use "$nl" rather than a literal,
26154         so that the command remains on a single line.
26155
26156 2010-04-26  Eric Blake  <eblake@redhat.com>
26157
26158         git-version-gen: allow use on EBCDIC hosts
26159         * build-aux/git-version-gen (dirty): Use literal rather than tying
26160         ourselves to ascii.
26161         Reported by Steve Goetze.
26162
26163 2010-04-25  Bruno Haible  <bruno@clisp.org>
26164
26165         netdb: Add support for GNULIB_POSIXCHECK.
26166         * lib/netdb.in.h: Include warn-on-use.h.
26167         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
26168         functions are used when GNULIB_POSIXCHECK is defined and the
26169         getaddrinfo module is not in use.
26170         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
26171         freeaddrinfo, gai_strerror, getnameinfo are declared.
26172         * modules/netdb (Depends-on): Add warn-on-use.
26173         (Makefile.am): Include warn-on-use.h in netdb.h.
26174
26175 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
26176
26177         build: avoid "make check" failure without .git/ directory
26178         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
26179         there is no .git/ directory.
26180
26181 2010-04-25  Bruno Haible  <bruno@clisp.org>
26182
26183         ptsname: Fix misuse of ttyname_r.
26184         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
26185         of errno.
26186
26187 2010-04-25  Bruno Haible  <bruno@clisp.org>
26188
26189         ttyname_r: Make it work on Solaris 10.
26190         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
26191         if the system function has the POSIX declaration. Test whether the
26192         function fails if the buffer is less than 128 bytes large.
26193         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
26194         system's ttyname_r function. Provide a reasonably large buffer.
26195         * modules/ttyname_r (Depends-on): Add extensions.
26196         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
26197
26198 2010-04-25  Bruno Haible  <bruno@clisp.org>
26199
26200         Use the 'extensions' module for some more functions on Solaris.
26201         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
26202         module.
26203         * doc/posix-functions/ctime_r.texi: Likewise.
26204         * doc/posix-functions/getgrgid_r.texi: Likewise.
26205         * doc/posix-functions/getgrnam_r.texi: Likewise.
26206         * doc/posix-functions/getpwnam_r.texi: Likewise.
26207         * doc/posix-functions/getpwuid_r.texi: Likewise.
26208         * doc/posix-functions/readdir_r.texi: Likewise.
26209         * doc/posix-functions/sigwait.texi: Likewise.
26210         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
26211         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
26212
26213 2010-04-25  Bruno Haible  <bruno@clisp.org>
26214
26215         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
26216         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
26217         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
26218         * lib/ttyname_r.c: Include <limits.h>.
26219         (ttyname_r): Define using the system's ttyname_r function, if it exists
26220         and not on Solaris.
26221         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
26222         set.
26223         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
26224         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
26225         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
26226         Reported by Simon Josefsson.
26227
26228 2010-04-25  Bruno Haible  <bruno@clisp.org>
26229
26230         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
26231         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
26232         * doc/posix-functions/ctime_r.texi: Likewise.
26233         * doc/posix-functions/getgrgid_r.texi: Likewise.
26234         * doc/posix-functions/getgrnam_r.texi: Likewise.
26235         * doc/posix-functions/getlogin_r.texi: Likewise.
26236         * doc/posix-functions/getpwnam_r.texi: Likewise.
26237         * doc/posix-functions/getpwuid_r.texi: Likewise.
26238         * doc/posix-functions/readdir_r.texi: Likewise.
26239         * doc/posix-functions/sigwait.texi: Likewise.
26240         * doc/posix-functions/ttyname_r.texi: Likewise.
26241         Reported by Simon Josefsson.
26242
26243 2010-04-25  Bruno Haible  <bruno@clisp.org>
26244
26245         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
26246         * gnulib-tool (func_usage): Document that --with-*-tests options apply
26247         also to --create-testdir.
26248         (func_acceptable): Don't consider the status of *-tests modules here.
26249         (func_modules_transitive_closure): Consider it here, before including a
26250         test module.
26251         (func_import, func_create_testdir): Set inc_all_direct_tests,
26252         inc_all_indirect_tests.
26253         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
26254         --create-testdir and --create-megatestdir.
26255
26256 2010-04-25  Bruno Haible  <bruno@clisp.org>
26257
26258         gnulib-tool: Add --without-*-tests options.
26259         * gnulib-tool (func_usage): Document the --without-*-tests options.
26260         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
26261         excl_unportable_tests): New variables.
26262         Fail if they are specified with --import or --update.
26263         (func_acceptable): Respect the excl_*_tests variables.
26264         (func_import): Set the excl_*_tests variables to empty.
26265
26266 2010-04-25  Simon Josefsson  <simon@josefsson.org>
26267             Bruno Haible  <bruno@clisp.org>
26268
26269         Work around a MacOS X 10.4 bug with openpty.
26270         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
26271         * tests/test-openpty.c (main): Close the master side explicitly.
26272
26273 2010-04-25  Bruno Haible  <bruno@clisp.org>
26274
26275         strnlen: Fix a C++ test error on MacOS X and Solaris.
26276         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
26277         the function is not declared.
26278         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
26279         Simon Josefsson.
26280
26281 2010-04-24  Bruno Haible  <bruno@clisp.org>
26282
26283         Avoid a gcc warning.
26284         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
26285         of correct type for %08lx directive.
26286         Reported by Eric Blake.
26287
26288 2010-04-24  Bruno Haible  <bruno@clisp.org>
26289
26290         vasnprintf: Correct errno value in case of out-of-memory.
26291         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
26292         or sprintf. Use the errno value from SNPRINTF or sprintf.
26293         Reported by Ian Beckwith <ianb@erislabs.net>.
26294
26295 2010-04-24  Bruno Haible  <bruno@clisp.org>
26296
26297         ansi-c++-opt: Find correct compiler when cross-compiling.
26298         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
26299         AC_CHECK_PROGS.
26300         Reported by Simon Josefsson.
26301
26302 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
26303
26304         vc-list-files: Add support for subversion
26305         * build-aux/vc-list-files: Use "svn list" to generate the list of
26306         files controlled by subversion.
26307
26308 2010-04-23  Jim Meyering  <meyering@redhat.com>
26309
26310         vc-list-files tests: convert to use init.sh
26311         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
26312         path_prepend_.
26313         Use Exit, not exit.
26314         Use skip_ rather than open coding it.
26315         Remove trap set-up and compare definitions.
26316         * tests/test-vc-list-files-git.sh: Likewise.
26317         * modules/vc-list-files-tests (Files): Add tests/init.sh.
26318
26319 2010-04-22  Simon Josefsson  <simon@josefsson.org>
26320
26321         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
26322         backup files.
26323
26324 2010-04-21  Simon Josefsson  <simon@josefsson.org>
26325
26326         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
26327
26328 2010-04-20  Eric Blake  <eblake@redhat.com>
26329
26330         tests: be robust to ignored SIGPIPE
26331         * tests/test-select-in.sh: Consume all output.
26332         * tests/test-lseek.sh: Check correct exit status, while avoiding
26333         EPIPE.
26334
26335 2010-04-20  Simon Josefsson  <simon@josefsson.org>
26336             Bruno Haible  <bruno@clisp.org>
26337
26338         visibility: Don't use -fvisibility if it leads to a warning.
26339         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
26340         yes, don't pretend that visibility works if it leads to a warning.
26341         Reported by Mike Gran <spk121@yahoo.com>.
26342
26343 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
26344
26345         * build-aux/bootstrap: Use "git -h" for testing for supported options
26346         instead of "git --help".  The short-form option only shows a summary,
26347         and doesn't layout the full man page.  Grep for the full option name
26348         in the summary, too.
26349
26350 2010-04-19  Bruno Haible  <bruno@clisp.org>
26351
26352         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
26353         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
26354         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
26355         mention of RELOCATABLE_STRIP.
26356         Reported by Sylvain Beucler <beuc@beuc.net>.
26357
26358 2010-04-19  Bruno Haible  <bruno@clisp.org>
26359
26360         * lib/diffseq.h: Fix typo in comment.
26361         Reported by Eric Blake.
26362
26363 2010-04-19  Bruno Haible  <bruno@clisp.org>
26364
26365         ioctl: Move autoconf macro to a .m4 file.
26366         * m4/ioctl.m4: New file, extracted from modules/ioctl.
26367         * modules/ioctl (Files): Add it.
26368         (configure.ac): Simply invoke gl_FUNC_IOCTL.
26369         Reported by Ian Beckwith <ianb@erislabs.net>.
26370
26371 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
26372             Bruno Haible  <bruno@clisp.org>
26373
26374         diffseq: Accommodate use-case with abstract arrays.
26375         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
26376         is not defined.
26377         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
26378         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
26379
26380 2010-04-18  Bruno Haible  <bruno@clisp.org>
26381
26382         * doc/posix-headers/stdbool.texi: More precise wording.
26383
26384 2010-04-17  Jim Meyering  <meyering@redhat.com>
26385
26386         maint.mk: use gnu-style indentation in an embedded perl script
26387         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
26388         Rename variable: s/two/last_two_bytes/
26389
26390 2010-04-16  Eric Blake  <eblake@redhat.com>
26391
26392         test-stdbool: skip test that fails with Solaris CC
26393         * tests/test-stdbool.c (f): Skip test that causes compilation
26394         error under buggy C++ compiler.
26395         * lib/stdbool.in.h: Document the limitation.
26396         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
26397
26398         setenv: allow compilation with C++
26399         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
26400         register keyword.
26401
26402         stdint: allow test to pass with C++
26403         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
26404
26405         getopt: allow compilation with C++
26406         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
26407         struct.
26408         * lib/getopt.c (_getopt_internal_r): Use correct type.
26409         Reported by Dagobert Michelson, via Joel E. Denny.
26410
26411 2010-04-16  Bruno Haible  <bruno@clisp.org>
26412
26413         Override netdb.h always.
26414         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
26415         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
26416         Reported by Ludovic Courtès <ludo@gnu.org>.
26417
26418 2010-04-15  Bruno Haible  <bruno@clisp.org>
26419
26420         openpty: Fix mistake from 2010-03-21.
26421         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
26422         Reported by Simon Josefsson.
26423
26424 2010-04-15  Eric Blake  <eblake@redhat.com>
26425
26426         test-forkpty: fix expected signature
26427         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
26428         Reported by Simon Josefsson.
26429
26430 2010-04-15  Jim Meyering  <meyering@redhat.com>
26431
26432         maint.mk: texinfo_suffix_re_: correct the default regexp
26433         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
26434
26435         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
26436         make it configurable via texinfo_suffix_re_.
26437
26438 2010-04-14  Eric Blake  <eblake@redhat.com>
26439
26440         strtok_r: relax license to LGPLv2+
26441         * modules/strtok_r (License): Relax license.
26442         Reported by Matthias Bolte.
26443
26444 2010-04-14  Simon Josefsson  <simon@josefsson.org>
26445
26446         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
26447         version 1.4.4 by default instead of requiring the libgcrypt
26448         version used during build.  This makes it possible to use the
26449         application with older but still binary compatible libgcrypt
26450         versions.
26451
26452 2010-04-13  Eric Blake  <eblake@redhat.com>
26453
26454         getopt-gnu: match recent glibc fixes and posix ruling
26455         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
26456         '+' handling, when requesting extensions.
26457         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
26458         'W;' handling.
26459         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
26460         * doc/posix-functions/getopt.texi (getopt): Document this.
26461         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26462         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26463         Likewise.
26464
26465         getopt: merge bug fixes from glibc
26466         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
26467         diagnostics.  Honor '+:' correctly.  Reject ';'.
26468
26469         getopt-posix: detect MacOS bug
26470         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
26471         optind when missing a required argument.
26472         * doc/posix-functions/getopt.texi (getopt): Document the bug.
26473         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
26474         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26475         Likewise.
26476
26477         getopt-posix: avoid spurious failure on Solaris
26478         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
26479         an indicator that setting optind=1 is sufficient for reset.
26480
26481         getopt-posix: avoid spurious failure on FreeBSD
26482         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
26483         in POSIX mode, since the m4 test uses it.
26484
26485         gnulib-tool: silence warning on BSD sh
26486         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
26487
26488 2010-04-13  Jim Meyering  <meyering@redhat.com>
26489
26490         doc: users.txt: GNU patch now uses gnulib
26491         * users.txt: Add patch.
26492
26493 2010-04-12  Jim Meyering  <meyering@redhat.com>
26494
26495         maint.mk: generate more concise timing data for syntax-check rules
26496         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
26497         " done" from each line that reports a syntax-check test duration.
26498
26499 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
26500
26501         git-version-gen: use "git update-index..." rather than "git status"
26502         * build-aux/git-version-gen: Use git update-index --refresh, not
26503         "git status".  With some versions of git, "git status" would fail
26504         to update the index and result in an unwarranted "-dirty" suffix.
26505
26506 2010-04-11  Jim Meyering  <meyering@redhat.com>
26507
26508         openat: correct formatting (no semantic change)
26509         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
26510         Suggested by Bruno Haible.
26511
26512 2010-04-11  Bruno Haible  <bruno@clisp.org>
26513
26514         Stricter declaration checking in testdirs.
26515         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26516         If for_tests is true, augment AM_CPPFLAGS to define
26517         GNULIB_STRICT_CHECKING.
26518         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
26519         GNULIB_STRICT_CHECKING is defined, verify that the function is
26520         declared.
26521
26522 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
26523             Bruno Haible  <bruno@clisp.org>
26524
26525         libunistring: Improve configure output.
26526         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
26527         Don't say "consider installing GNU libunistring" when checking again
26528         with libiconv.
26529
26530 2010-04-11  Bruno Haible  <bruno@clisp.org>
26531
26532         libunistring: Correct value of $LTLIBUNISTRING.
26533         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
26534         correct the value of $LTLIBUNISTRING.
26535
26536 2010-04-11  Bruno Haible  <bruno@clisp.org>
26537
26538         havelib: Add static libraries to LIBS in the right order.
26539         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
26540         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
26541
26542 2010-04-11  Bruno Haible  <bruno@clisp.org>
26543
26544         libunistring: Detect libunistring also when it depends on libiconv.
26545         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
26546         the second AC_LIB_HAVE_LINKFLAGS invocation.
26547
26548 2010-04-11  James Youngman  <jay@gnu.org>
26549
26550         close-stream: declare local scalars to be "const"
26551         * lib/close-stream.c (close_stream): Make boolean variables const
26552         to document the fact that we set but do not change them.
26553
26554 2010-04-11  Bruno Haible  <bruno@clisp.org>
26555
26556         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
26557
26558 2010-04-11  Jim Meyering  <meyering@redhat.com>
26559
26560         maint.mk: don't include dist-check.mk
26561         * top/maint.mk: Remove bogus include directive.
26562
26563         maint.mk: improve empty-line-at-EOF check
26564         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
26565         solution, rather than tail+Perl-based one.  The latter would read
26566         a few kilobytes from the end of each file, and did not handle empty
26567         files properly.
26568
26569         maint.mk: print the elapsed time for each syntax-check rule
26570         * top/maint.mk (sc_m_rules_): Save start time in a file.
26571         (sc_z_rules_): New rules: remove temp file and print elapsed time.
26572         (local-check): Interpose the .z rules
26573
26574 2010-04-11  Jim Meyering  <meyering@redhat.com>
26575
26576         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
26577         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
26578         empty file with one that ends in an empty line.
26579
26580 2010-04-10  Bruno Haible  <bruno@clisp.org>
26581
26582         mkdir: Make it work on mingw64.
26583         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
26584         * lib/mkdir.c: Update comment.
26585         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
26586
26587 2010-04-10  Bruno Haible  <bruno@clisp.org>
26588
26589         Don't override improved macro from newer autoconf.
26590         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
26591         autoconf >= 2.62.
26592         Reported by Joel E. Denny <jdenny@clemson.edu>.
26593
26594 2010-04-10  Jim Meyering  <meyering@redhat.com>
26595
26596         maint.mk: new syntax-check rule: prohibit empty lines at end of file
26597         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
26598
26599         maint.mk: correct a diagnostic
26600         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
26601         in diagnostic; now use $prohibit.
26602
26603 2010-04-10  Bruno Haible  <address@hidden>
26604
26605         fchownat: Fix a C++ test error on Solaris 8.
26606         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
26607         the function does not exist.
26608
26609 2010-04-10  Bruno Haible  <bruno@clisp.org>
26610
26611         vasnprintf: Add more tests.
26612         * tests/test-vasnprintf-posix.c: Include <errno.h>.
26613         (test_function): Test converting an invalid wide string.
26614
26615         vasnprintf: Correct handling of unconvertible wide string arguments.
26616         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
26617         VASNPRINTF.
26618         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
26619         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
26620         smaller than the expected maximum need for the directive. Set errno to
26621         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
26622         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
26623         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
26624         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
26625         * modules/vasnprintf (Files): Add m4/printf.m4.
26626         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26627
26628 2010-04-10  Bruno Haible  <bruno@clisp.org>
26629
26630         vasnprintf: Fix crash in %ls directive.
26631         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
26632         string is passed as argument to %ls, with no precision and no width.
26633         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26634
26635 2010-04-10  Bruno Haible  <bruno@clisp.org>
26636
26637         vasnprintf: Fix multiple test failures on mingw.
26638         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
26639         _snprintf, or snwprintf, not _snwprintf.
26640
26641 2010-04-10  Bruno Haible  <bruno@clisp.org>
26642
26643         write: Fix a C++ test error on mingw.
26644         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
26645
26646 2010-04-10  Bruno Haible  <bruno@clisp.org>
26647
26648         vasnprintf test: Reduce code duplication.
26649         * tests/test-vasnprintf.c (test_function): New function, extracted from
26650         test_vasnprintf.
26651         (test_vasnprintf, test_asnprintf): Invoke it.
26652
26653 2010-04-10  Bruno Haible  <bruno@clisp.org>
26654
26655         strnlen: Fix warning in C++ mode on MacOS X.
26656         * lib/string.in.h (strnlen): Use the modern idiom.
26657         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
26658         defining strnlen as a macro already in <config.h>.
26659         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26660         REPLACE_STRNLEN.
26661         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
26662         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26663
26664 2010-04-08  James Youngman  <jay@gnu.org>
26665
26666         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
26667         the example.
26668
26669 2010-04-09  Jim Meyering  <meyering@redhat.com>
26670
26671         maint.mk: print better diagnostic when there is no $(_hv_file)
26672         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
26673         announce that when $(_hv_file) (aka help-version) does not exist.
26674
26675         init.sh: run tr in the "C" locale to avoid multibyte interpretation
26676         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
26677         not try to interpret its random input bytes.  Jarno Rajahalme reported
26678         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
26679         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
26680         (mktempd_): Likewise, just in case.
26681
26682         ftruncate: add two years to projected module removal date: 2012
26683         * m4/ftruncate.m4: Adjust comments.
26684
26685         ftruncate: mark module as obsolete; even MinGW provides it, now
26686         * modules/ftruncate (Status): Obsolete.
26687         (Notice): Say that.
26688         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
26689         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
26690
26691 2010-04-08  Bruno Haible  <bruno@clisp.org>
26692
26693         Fix side effects from tests-related modules.
26694         * modules/dprintf-posix (Comment): New section.
26695         * modules/fprintf-posix (Comment): Likewise.
26696         * modules/obstack-printf-posix (Comment): Likewise.
26697         * modules/printf-posix (Comment): Likewise.
26698         * modules/snprintf-posix (Comment): Likewise.
26699         * modules/sprintf-posix (Comment): Likewise.
26700         * modules/vasnprintf-posix (Comment): Likewise.
26701         * modules/vasprintf-posix (Comment): Likewise.
26702         * modules/vdprintf-posix (Comment): Likewise.
26703         * modules/vfprintf-posix (Comment): Likewise.
26704         * modules/vprintf-posix (Comment): Likewise.
26705         * modules/vsnprintf-posix (Comment): Likewise.
26706         * modules/vsprintf-posix (Comment): Likewise.
26707         * modules/xprintf-posix (Comment): Likewise.
26708         * modules/xvasprintf-posix (Comment): Likewise.
26709         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
26710         * modules/floorf-tests (Depends-on): Likewise.
26711         * modules/round-tests (Depends-on): Likewise.
26712         * modules/roundf-tests (Depends-on): Likewise.
26713         * modules/trunc-tests (Depends-on): Likewise.
26714         * modules/truncf-tests (Depends-on): Likewise.
26715         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
26716         'fprintf-posix' module is not present.
26717         * tests/test-floorf2.c (check): Likewise.
26718         * tests/test-trunc2.c (check): Likewise.
26719         * tests/test-truncf2.c (check): Likewise.
26720         * tests/test-round2.c (equal): Likewise.
26721         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26722
26723 2010-04-07  Karl Berry  <karl@gnu.org>
26724
26725         * config/srclist.txt,
26726         * config/srclistvars.sh,
26727         * config/srclist-update: doc fixes.
26728
26729 2010-04-07  Jim Meyering  <meyering@redhat.com>
26730
26731         maint.mk: add a PATH crosschecking syntax-check rule
26732         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
26733         Useful if you use a test like the one in help-version (coreutils,
26734         diffutils, grep, gzip) that ensures $(VERSION) matches what is
26735         printed by prog --version.
26736
26737 2010-04-06  Bruno Haible  <bruno@clisp.org>
26738
26739         Fix link error on mingw.
26740         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
26741         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
26742
26743 2010-04-06  Bruno Haible  <bruno@clisp.org>
26744
26745         Assume rmdir exists.
26746         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
26747
26748 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
26749
26750         doc: update users.txt
26751         * users.txt: Add gcal.
26752
26753 2010-04-06  Jim Meyering  <meyering@redhat.com>
26754
26755         init.sh: simply unset TMPDIR rather than risking env -i
26756         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
26757         although it probably works fine on all Unix-based systems, some
26758         systems (Cygwin?) cannot tolerate a totally cleared environment.
26759         Suggestion from Eric Blake.
26760
26761 2010-04-06  Jim Meyering  <meyering@redhat.com>
26762
26763         init.sh: portability fix: use env's POSIX-specified -i option not -u
26764         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
26765         than unportable env -u.  Solaris 5.11's env lacks support for -u.
26766
26767 2010-04-05  Bruno Haible  <bruno@clisp.org>
26768
26769         btowc: Work around Cygwin 1.7.2 bug.
26770         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
26771         does not map NUL to 0.
26772         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
26773
26774 2010-04-05  Bruno Haible  <bruno@clisp.org>
26775
26776         Make the multithread modules work on Cygwin 1.7.2.
26777         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
26778         imported symbols can be declared weak, so that it returns "no" on
26779         Cygwin 1.7.2.
26780
26781 2010-04-05  Bruno Haible  <bruno@clisp.org>
26782
26783         Use the module 'strncat'.
26784         * modules/unistr/u8-strncat (Depends-on): Add strncat.
26785
26786         Tests for module 'strncat'.
26787         * modules/strncat-tests: New file.
26788         * tests/test-strncat.c: New file.
26789
26790         New module 'strncat'.
26791         * lib/string.in.h (strncat): New declaration.
26792         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
26793         * m4/strncat.m4: New file, based on m4/memchr.m4.
26794         * modules/strncat: New file.
26795         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
26796         is declared.
26797         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
26798         REPLACE_STRNCAT.
26799         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
26800         REPLACE_STRNCAT.
26801         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
26802         module.
26803         * tests/test-string-c++.cc: Check signature of strncat.
26804
26805 2010-04-05  Jim Meyering  <meyering@redhat.com>
26806
26807         xstrtoumax-tests: convert to use init.sh
26808         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
26809         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26810         Use Exit, not exit.
26811         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26812
26813         xstrtoimax-tests: convert to use init.sh
26814         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
26815         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26816         Use Exit, not exit.
26817         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26818
26819 2010-04-05  Bruno Haible  <bruno@clisp.org>
26820
26821         sys_socket: Avoid #define replacements in C++ mode.
26822         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
26823         warning to the function if possible, rather than #defining the symbol
26824         to a dysfunctional alias.
26825
26826 2010-04-05  Bruno Haible  <bruno@clisp.org>
26827
26828         fseeko: Fix C++ test error on mingw.
26829         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
26830         gl_FUNC_FSEEKO.
26831         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
26832         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
26833         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
26834         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
26835
26836 2010-04-05  Bruno Haible  <bruno@clisp.org>
26837
26838         duplocale: Improve test output.
26839         * tests/test-duplocale.c (main): Print reason for skipped test.
26840
26841 2010-04-05  Bruno Haible  <bruno@clisp.org>
26842
26843         Assume rmdir exists.
26844         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
26845         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
26846
26847 2010-04-05  Bruno Haible  <bruno@clisp.org>
26848
26849         Fix link error on Solaris 8 with cc.
26850         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
26851
26852 2010-04-05  Bruno Haible  <bruno@clisp.org>
26853
26854         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
26855         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
26856
26857 2010-04-05  Bruno Haible  <bruno@clisp.org>
26858
26859         vasprintf: Update documentation.
26860         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
26861
26862 2010-04-05  Bruno Haible  <bruno@clisp.org>
26863
26864         ptsname: Improve test.
26865         * tests/test-ptsname.c (main): Also try the various master names of BSD
26866         systems.
26867
26868 2010-04-05  Bruno Haible  <bruno@clisp.org>
26869
26870         memchr: Avoid a possible C++ test error.
26871         * lib/string.in.h (memchr): Provide declaration if function is missing.
26872         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
26873         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
26874         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
26875         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
26876
26877 2010-04-05  Bruno Haible  <bruno@clisp.org>
26878
26879         strtok_r: Improve idiom.
26880         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
26881         AC_LIBOBJ is used.
26882
26883 2010-04-05  Bruno Haible  <bruno@clisp.org>
26884
26885         strdup: Improve idiom.
26886         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
26887         AC_LIBOBJ is used.
26888         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
26889         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
26890         when AC_LIBOBJ is used.
26891
26892 2010-04-05  Bruno Haible  <bruno@clisp.org>
26893
26894         mbsinit, mbrtowc, wcrtomb: Improve idioms.
26895         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
26896         don't set REPLACE_MBSINIT to 1.
26897         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
26898         don't set REPLACE_MBRTOWC to 1.
26899         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
26900         exist, don't set REPLACE_MBSRTOWCS to 1.
26901         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
26902         exist, don't set REPLACE_MBSNRTOWCS to 1.
26903         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
26904         don't set REPLACE_WCRTOMB to 1.
26905         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
26906         exist, don't set REPLACE_WCSRTOMBS to 1.
26907         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
26908         exist, don't set REPLACE_WCSNRTOMBS to 1.
26909
26910 2010-04-05  Bruno Haible  <bruno@clisp.org>
26911
26912         ldexpl: Improve idiom.
26913         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
26914         make sure to set HAVE_DECL_LDEXPL to 0.
26915
26916 2010-04-05  Jim Meyering  <meyering@redhat.com>
26917
26918         xstrtol-tests: convert to use init.sh
26919         * modules/xstrtol-tests (Files): Add tests/init.sh.
26920         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26921         Use Exit, not exit.
26922         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26923
26924         atexit-tests: convert to use init.sh
26925         * modules/atexit-tests (Files): Add tests/init.sh.
26926         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
26927         Use Exit, not exit.
26928         Remove uses of $EXEEXT and "./" to run a program in the current dir.
26929
26930         init.sh: fix typo
26931         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
26932
26933         init.sh: make it easier for a test script to write to the tty, ...
26934         when using automake's parallel-tests mode.
26935         * tests/init.sh (stderr_fileno_): Define overridable variable.
26936         (warn_): New function, to use it.
26937         (fail_, skip_, framework_failure_): Use warn_.
26938
26939 2010-04-04  Bruno Haible  <bruno@clisp.org>
26940
26941         btowc: Avoid warning.
26942         * lib/btowc.c: Include <stdlib.h>.
26943         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
26944
26945 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
26946             Bruno Haible  <bruno@clisp.org>
26947
26948         wchar: Port to NetBSD 1.5.
26949         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
26950         * lib/wctype.in.h (WEOF): Likewise.
26951
26952 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
26953             Bruno Haible  <bruno@clisp.org>
26954
26955         Port extended stdio to NetBSD 1.5.
26956         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
26957         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
26958         older.
26959
26960 2010-04-04  Bruno Haible  <bruno@clisp.org>
26961
26962         string: Remove unused substitution.
26963         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
26964         HAVE_DECL_STRERROR.
26965         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
26966
26967 2010-04-04  Bruno Haible  <bruno@clisp.org>
26968
26969         strtod: Avoid a possible C++ test error.
26970         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
26971         set REPLACE_STRTOD.
26972
26973 2010-04-04  Bruno Haible  <bruno@clisp.org>
26974
26975         strerror: Update documentation.
26976         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
26977
26978 2010-04-04  Bruno Haible  <bruno@clisp.org>
26979
26980         stdio: Fix some C++ test errors on Solaris 8 with GCC.
26981         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
26982         _GL_CXXALIAS_SYS_CAST.
26983
26984 2010-04-04  Bruno Haible  <bruno@clisp.org>
26985
26986         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
26987         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
26988         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
26989         REPLACE_FREXPL to 1.
26990         * doc/posix-functions/frexpl.texi: Update documentation.
26991
26992 2010-04-04  Bruno Haible  <bruno@clisp.org>
26993
26994         math: Fix some C++ test errors on Solaris 8 and Cygwin.
26995         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
26996
26997 2010-04-04  Bruno Haible  <bruno@clisp.org>
26998
26999         Implement nanosleep for native Windows.
27000         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
27001
27002 2010-04-04  Bruno Haible  <bruno@clisp.org>
27003
27004         math: Fix some C++ test errors on Solaris 8.
27005         * lib/math.in.h (truncf, trunc): Use simpler idiom.
27006
27007 2010-04-04  Bruno Haible  <bruno@clisp.org>
27008
27009         math: Fix some C++ test errors on Cygwin.
27010         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
27011         truncl): Provide declaration if the system does not have it.
27012         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
27013         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
27014         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
27015         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
27016         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
27017         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
27018         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
27019         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
27020         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
27021         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
27022         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
27023         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
27024         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
27025         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
27026         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
27027         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
27028         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
27029         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27030         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27031         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
27032         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
27033         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
27034
27035 2010-04-04  Bruno Haible  <bruno@clisp.org>
27036
27037         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
27038         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
27039         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
27040         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27041         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
27042         * m4/isinf.m4 (gl_ISINF): Likewise.
27043         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27044
27045 2010-04-04  Bruno Haible  <bruno@clisp.org>
27046
27047         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
27048         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27049
27050 2010-04-04  Bruno Haible  <bruno@clisp.org>
27051
27052         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
27053         * modules/tmpfile (configure.ac): Update.
27054
27055         tmpfile: Fix C++ test error on mingw.
27056         * lib/stdio.in.h (tmpfile): New declaration.
27057         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
27058         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
27059         * modules/tmpfile (Depends-on): Add stdio.
27060         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
27061         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
27062         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
27063         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
27064         REPLACE_TMPFILE.
27065         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
27066
27067 2010-04-04  Bruno Haible  <bruno@clisp.org>
27068
27069         ioctl: Fix C++ test error on mingw.
27070         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
27071         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
27072         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
27073
27074 2010-04-03  Bruno Haible  <bruno@clisp.org>
27075
27076         wcwidth: Fix C++ test error on mingw.
27077         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
27078         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
27079         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
27080
27081 2010-04-03  Bruno Haible  <bruno@clisp.org>
27082
27083         nanosleep: Fix C++ test error on mingw.
27084         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
27085         * lib/time.in.h (nanosleep): Use modern idiom.
27086         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
27087         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
27088         REPLACE_NANOSLEEP to 1.
27089         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
27090         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
27091
27092 2010-04-03  Bruno Haible  <bruno@clisp.org>
27093
27094         strptime: Fix C++ test error on mingw.
27095         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
27096         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
27097         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
27098         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
27099         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
27100         not REPLACE_STRPTIME.
27101         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
27102         REPLACE_STRPTIME.
27103
27104 2010-04-03  Bruno Haible  <bruno@clisp.org>
27105
27106         timegm: Fix C++ test error on mingw.
27107         * lib/time.in.h (timegm): Use modern idiom.
27108         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
27109         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
27110         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
27111         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
27112
27113 2010-04-03  Bruno Haible  <bruno@clisp.org>
27114
27115         timegm: Assume declaration if function exists.
27116         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
27117         if it exists. Don't clobber ac_cv_func_timegm.
27118
27119 2010-04-03  Bruno Haible  <bruno@clisp.org>
27120
27121         time_r: Fix C++ test error on mingw.
27122         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
27123         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
27124         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
27125         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
27126         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
27127
27128 2010-04-03  Bruno Haible  <bruno@clisp.org>
27129
27130         time_r: Minor updates.
27131         * modules/time_r (Description): Mention the provided functions.
27132         * lib/time_r.c: Don't include <string.h>.
27133         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
27134         * doc/posix-functions/localtime_r.texi: Likewise.
27135
27136 2010-04-03  Bruno Haible  <bruno@clisp.org>
27137
27138         time: Fix regression introduced on 2010-03-08.
27139         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
27140         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
27141
27142 2010-04-03  Jim Meyering  <meyering@redhat.com>
27143
27144         maint.mk: don't silently disable project-specific syntax-check rules
27145         * top/maint.mk (_prohibit_regexp): Define, to help people realize
27146         that they need to convert their project-specific syntax-check rules
27147         to use the new _sc_search_regexp.
27148
27149 2010-04-03  Bruno Haible  <bruno@clisp.org>
27150
27151         fchdir: Fix regression introduced on 2010-03-08.
27152         * lib/unistd.in.h (fchdir): Fix declaration.
27153         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
27154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
27155         REPLACE_FCHDIR.
27156         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
27157         REPLACE_FCHDIR.
27158
27159 2010-04-03  Bruno Haible  <bruno@clisp.org>
27160
27161         getpagesize: Fix C++ test error on mingw.
27162         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
27163         system does not declare the function.
27164         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
27165         declared.
27166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27167         HAVE_DECL_GETPAGESIZE.
27168         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
27169
27170 2010-04-03  Bruno Haible  <bruno@clisp.org>
27171
27172         stdio: Make C++ tests work on mingw.
27173         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
27174         does not declare the function.
27175
27176 2010-04-03  Bruno Haible  <bruno@clisp.org>
27177
27178         ftello: Fix C++ test error on mingw.
27179         * lib/stdio.in.h (ftello): Use modern idiom.
27180         * lib/ftello.c (ftello): Renamed from rpl_ftello.
27181         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
27182         is missing and that it needs to be replaced.
27183         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
27184         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
27185         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
27186
27187 2010-04-03  Bruno Haible  <bruno@clisp.org>
27188
27189         fseeko: Fix C++ test error on mingw.
27190         * lib/stdio.in.h (fseeko): Use modern idiom.
27191         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
27192         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
27193         is missing and that it needs to be replaced.
27194         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
27195         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
27196         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
27197
27198 2010-04-03  Bruno Haible  <bruno@clisp.org>
27199
27200         mkstemp: Fix C++ test error on mingw.
27201         * lib/stdlib.in.h (mkstemp): Use modern idiom.
27202         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
27203         function is missing and that it needs to be replaced.
27204         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
27205         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
27206
27207 2010-04-03  Bruno Haible  <bruno@clisp.org>
27208
27209         stpncpy: Fix C++ test error on mingw.
27210         * lib/string.in.h (stpncpy): Use modern idiom.
27211         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
27212         function is missing and that it needs to be replaced.
27213         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27214         REPLACE_STPNCPY.
27215         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
27216
27217 2010-04-03  Bruno Haible  <bruno@clisp.org>
27218
27219         sys_stat: Fix C++ test error on mingw.
27220         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
27221         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
27222
27223 2010-04-03  Bruno Haible  <bruno@clisp.org>
27224
27225         pty: Update doc.
27226         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
27227
27228 2010-04-03  Bruno Haible  <bruno@clisp.org>
27229
27230         unistd: Fix C++ test error on mingw.
27231         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
27232
27233 2010-04-03  Bruno Haible  <bruno@clisp.org>
27234
27235         Update doc regarding mingw.
27236         * doc/glibc-functions/openpty.texi: Update regarding mingw.
27237         * doc/glibc-functions/login_tty.texi: Likewise.
27238         * doc/glibc-functions/forkpty.texi: Likewise.
27239
27240 2010-04-03  Bruno Haible  <bruno@clisp.org>
27241
27242         stdlib: Avoid compilation failure of c-strtold on mingw.
27243         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
27244
27245 2010-04-03  Bruno Haible  <bruno@clisp.org>
27246
27247         locale: Make C++ tests work on Cygwin and mingw.
27248         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
27249         cannot provide the function.
27250         Reported by Simon Josefsson.
27251
27252 2010-04-03  Bruno Haible  <bruno@clisp.org>
27253
27254         localename: Port to MacOS X 10.6.
27255         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
27256         memory layout of the locales in MacOS X 10.6 as well.
27257         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
27258
27259 2010-04-02  Bruno Haible  <bruno@clisp.org>
27260
27261         gnulib-tool: Ensure that long-running tests are executed last.
27262         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
27263         running tests after the one for the other tests.
27264
27265 2010-04-02  Bruno Haible  <bruno@clisp.org>
27266
27267         gnulib-tool: Ensure the tests in the main directory are executed first.
27268         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
27269         start with the current directory.
27270
27271 2010-04-02  Bruno Haible  <bruno@clisp.org>
27272
27273         Tests for module 'havelib', moved here from GNU gettext.
27274         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
27275         modifications.
27276         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
27277         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
27278         with modifications.
27279         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
27280         modifications.
27281         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
27282         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
27283         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
27284         with modifications.
27285         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
27286         with modifications.
27287         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
27288         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
27289         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
27290         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
27291         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
27292         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
27293         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
27294         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
27295         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
27296         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
27297         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
27298         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
27299         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
27300         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
27301         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
27302         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
27303         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
27304         with modifications.
27305         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
27306         with modifications.
27307         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
27308         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
27309         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
27310         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
27311         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
27312         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
27313         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
27314         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
27315         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
27316         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
27317         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
27318         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
27319         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
27320         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
27321         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
27322         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
27323         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
27324         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
27325         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
27326         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
27327         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
27328         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
27329         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
27330         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
27331         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
27332         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
27333         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
27334         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
27335         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
27336         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
27337         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
27338         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
27339         * tests/havelib/rpathx/rpathx.c: New file, from
27340         gettext/autoconf-lib-link.
27341         * tests/havelib/rpathx/Makefile.am: New file, from
27342         gettext/autoconf-lib-link.
27343         * tests/havelib/rpathx/configure.ac: New file, from
27344         gettext/autoconf-lib-link with modifications.
27345         * tests/havelib/rpathy/rpathy.c: New file, from
27346         gettext/autoconf-lib-link.
27347         * tests/havelib/rpathy/Makefile.am: New file, from
27348         gettext/autoconf-lib-link.
27349         * tests/havelib/rpathy/configure.ac: New file, from
27350         gettext/autoconf-lib-link with modifications.
27351         * tests/havelib/rpathz/rpathz.c: New file, from
27352         gettext/autoconf-lib-link.
27353         * tests/havelib/rpathz/Makefile.am: New file, from
27354         gettext/autoconf-lib-link.
27355         * tests/havelib/rpathz/configure.ac: New file, from
27356         gettext/autoconf-lib-link with modifications.
27357         * tests/havelib/rpathlx/usex.c: New file, from
27358         gettext/autoconf-lib-link.
27359         * tests/havelib/rpathlx/Makefile.am: New file, from
27360         gettext/autoconf-lib-link.
27361         * tests/havelib/rpathlx/configure.ac: New file, from
27362         gettext/autoconf-lib-link with modifications.
27363         * tests/havelib/rpathly/usey.c: New file, from
27364         gettext/autoconf-lib-link.
27365         * tests/havelib/rpathly/Makefile.am: New file, from
27366         gettext/autoconf-lib-link.
27367         * tests/havelib/rpathly/configure.ac: New file, from
27368         gettext/autoconf-lib-link with modifications.
27369         * tests/havelib/rpathlz/usez.c: New file, from
27370         gettext/autoconf-lib-link.
27371         * tests/havelib/rpathlz/Makefile.am: New file, from
27372         gettext/autoconf-lib-link.
27373         * tests/havelib/rpathlz/configure.ac: New file, from
27374         gettext/autoconf-lib-link with modifications.
27375         * tests/havelib/rpathlyx/usey.c: New file, from
27376         gettext/autoconf-lib-link.
27377         * tests/havelib/rpathlyx/Makefile.am: New file, from
27378         gettext/autoconf-lib-link.
27379         * tests/havelib/rpathlyx/configure.ac: New file, from
27380         gettext/autoconf-lib-link with modifications.
27381         * tests/havelib/rpathlzyx/usez.c: New file, from
27382         gettext/autoconf-lib-link.
27383         * tests/havelib/rpathlzyx/Makefile.am: New file, from
27384         gettext/autoconf-lib-link.
27385         * tests/havelib/rpathlzyx/configure.ac: New file, from
27386         gettext/autoconf-lib-link with modifications.
27387         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
27388         with modifications.
27389
27390 2010-04-02  Bruno Haible  <bruno@clisp.org>
27391
27392         gnulib-tool: Create distributed built sources also for the tests.
27393         * gnulib-tool (func_create_testdir): Also generate distributed built
27394         sources in the tests directory.
27395
27396 2010-04-02  Bruno Haible  <bruno@clisp.org>
27397
27398         gnulib-tool: Obey user's environment variables.
27399         * gnulib-tool (func_create_testdir): When creating built sources,
27400         respect the environment variables for autoconf, automake, etc. given by
27401         the user.
27402
27403 2010-04-02  Bruno Haible  <bruno@clisp.org>
27404
27405         gnulib-tool: Provide the value of --m4-base to modules.
27406         * gnulib-tool (func_import, func_create_testdir): Emit a definition
27407         of gl_m4_base.
27408
27409 2010-04-02  Eric Blake  <eblake@redhat.com>
27410
27411         maint.mk: fix some fallout
27412         * NEWS: Document the incompatible change, and its effect on cfg.mk.
27413         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
27414
27415 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27416
27417         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
27418         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
27419         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
27420         (sc_cast_of_x_alloc_return_value): Likewise.
27421         (sc_cast_of_alloca_return_value): Likewise.
27422         (sc_space_tab): Likewise.
27423         (sc_prohibit_atoi_atof): Likewise.
27424         (sc_prohibit_magic_number_exit): Likewise.
27425         (sc_error_exit_success): Likewise.
27426         (sc_file_system): Likewise.
27427         (sc_prohibit_have_config_h): Likewise.
27428         (sc_require_config_h): Likewise.
27429         (sc_prohibit_HAVE_MBRTOWC): Likewise.
27430         (sc_obsolete_symbols): Likewise.
27431         (sc_changelog): Likewise.
27432         (sc_program_name): Likewise.
27433         (sc_the_the): Likewise.
27434         (sc_trailing_blank): Likewise.
27435         (sc_two_space_separator_in_usage): Likewise.
27436         (sc_useless_cpp_parens): Likewise.
27437         (sc_GPL_version): Likewise.
27438         (sc_GFDL_version): Likewise.
27439         (sc_texinfo_acronym): Likewise.
27440         (sc_prohibit_cvs_keyword): Likewise.
27441         (sc_prohibit_stat_st_blocks): Likewise.
27442         (sc_prohibit_S_IS_definition): Likewise.
27443         (sc_redundant_const): Likewise.
27444         (sc_makefile_TAB_only_indentation): Likewise.
27445         (sc_m4_quote_check): Likewise.
27446         (sc_makefile_path_separator_check): Likewise.
27447         (sc_copyright_check): Likewise.
27448         (sc_Wundef_boolean): Likewise.
27449         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27450
27451         maint.mk: match 0 or more whitespace-before-function-call '('
27452         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
27453         that have zero or two-and-more spaces between the function name
27454         and the open parenthesis.
27455         (sc_error_message_warn_fatal): Likewise.
27456         (sc_error_message_uppercase): Likewise.
27457         (sc_error_message_period): Likewise.
27458
27459 2010-03-31  Eric Blake  <eblake@redhat.com>
27460
27461         maint.mk: check for [ as well as test
27462         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
27463         Based on a libvirt report by Matthias Bolte.
27464
27465         gnumakefile: don't squelch _version output
27466         * top/GNUmakefile (_version): Create one-shot dependency rather
27467         than using $(shell) when version must be regenerated.
27468         (_autoreconf): Run verbosely, by default.
27469
27470         sys_time: avoid compiler warnings
27471         * lib/sys_time.in.h (includes): Ensure gcc pragma is
27472         unconditional, fixing regression from 2010-03-29.
27473         Reported by Simon Josefsson.
27474
27475 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
27476
27477         maint.mk: s/_header_without_use/_sc_header_without_use/
27478         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
27479         (sc_prohibit_assert_without_use): Use the new name.
27480         (sc_prohibit_close_stream_without_use): Likewise.
27481         (sc_prohibit_getopt_without_use): Likewise.
27482         (sc_prohibit_quotearg_without_use): Likewise.
27483         (sc_prohibit_quote_without_use): Likewise.
27484         (sc_prohibit_long_options_without_use): Likewise.
27485         (sc_prohibit_inttostr_without_use): Likewise.
27486         (sc_prohibit_ignore_value_without_use): Likewise.
27487         (sc_prohibit_error_without_use): Likewise.
27488         (sc_prohibit_xalloc_without_use): Likewise.
27489         (sc_prohibit_hash_without_use): Likewise.
27490         (sc_prohibit_hash_pjw_without_use): Likewise.
27491         (sc_prohibit_safe_read_without_use): Likewise.
27492         (sc_prohibit_argmatch_without_use): Likewise.
27493         (sc_prohibit_canonicalize_without_use): Likewise.
27494         (sc_prohibit_root_dev_ino_without_use): Likewise.
27495         (sc_prohibit_openat_without_use): Likewise.
27496         (sc_prohibit_c_ctype_without_use): Likewise.
27497         (sc_prohibit_signal_without_use): Likewise.
27498         (sc_prohibit_intprops_without_use): Likewise.
27499
27500 2010-03-30  Eric Blake  <eblake@redhat.com>
27501
27502         maint: improve module indicators
27503         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
27504         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
27505         columns, and avoid extra macro expansion.
27506
27507         fdopendir: work around FreeBSD bug
27508         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
27509         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
27510         * modules/dirent (Makefile.am): Substitute it.
27511         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
27512         declaration.
27513         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
27514         fix.
27515         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27516
27517 2010-03-29  Bruno Haible  <bruno@clisp.org>
27518
27519         Emit #pragma system_header after the inclusion guard, not before.
27520         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
27521         guard that spans the entire file, not before. This enables an
27522         optimization in GCC's preprocessor.
27523         * lib/ctype.in.h: Likewise.
27524         * lib/dirent.in.h: Likewise.
27525         * lib/errno.in.h: Likewise.
27526         * lib/float.in.h: Likewise.
27527         * lib/getopt.in.h: Likewise.
27528         * lib/iconv.in.h: Likewise.
27529         * lib/langinfo.in.h: Likewise.
27530         * lib/locale.in.h: Likewise.
27531         * lib/math.in.h: Likewise.
27532         * lib/netdb.in.h: Likewise.
27533         * lib/netinet_in.in.h: Likewise.
27534         * lib/pty.in.h: Likewise.
27535         * lib/sched.in.h: Likewise.
27536         * lib/se-selinux.in.h: Likewise.
27537         * lib/search.in.h: Likewise.
27538         * lib/spawn.in.h: Likewise.
27539         * lib/stdarg.in.h: Likewise.
27540         * lib/stdint.in.h: Likewise.
27541         * lib/string.in.h: Likewise.
27542         * lib/strings.in.h: Likewise.
27543         * lib/sys_file.in.h: Likewise.
27544         * lib/sys_ioctl.in.h: Likewise.
27545         * lib/sys_time.in.h: Likewise.
27546         * lib/sys_times.in.h: Likewise.
27547         * lib/sys_utsname.in.h: Likewise.
27548         * lib/sys_wait.in.h: Likewise.
27549         * lib/sysexits.in.h: Likewise.
27550         * lib/wctype.in.h: Likewise.
27551
27552 2010-03-28  James Youngman  <jay@gnu.org>
27553
27554         save-cwd: don't leak a file descriptor when the caller execs.
27555         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
27556         saved file descriptor.
27557         * modules/save-cwd (Depends-on): Depend on cloexec.
27558
27559 2010-03-29  Bruno Haible  <bruno@clisp.org>
27560
27561         Remove vestiges of fts-lgpl module.
27562         * lib/fts_.h: Assume GNULIB_FTS is 1.
27563         * lib/fts.c: Likewise.
27564         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27565
27566 2010-03-28  Bruno Haible  <bruno@clisp.org>
27567
27568         Fix definition of tests witness macro.
27569         * gnulib-tool (func_import): Fix definition of witness macro.
27570
27571 2010-03-28  Bruno Haible  <bruno@clisp.org>
27572
27573         Fix ioctl's protoype on glibc systems.
27574         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
27575         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
27576         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
27577         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
27578         signature. If not, arrange to replace the ioctl function.
27579         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27580         REPLACE_IOCTL.
27581         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
27582         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
27583         Reported by Ludovic Courtès <ludo@gnu.org>.
27584
27585 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
27586
27587         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
27588         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
27589         made it so grep -r --include=GLOB* ... did not work.
27590
27591 2010-03-26  Jim Meyering  <meyering@redhat.com>
27592             Eric Blake  <eblake@redhat.com>
27593
27594         maint.mk: prohibit use of test's -o and -a operators
27595         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
27596
27597 2010-03-28  Bruno Haible  <bruno@clisp.org>
27598
27599         Remove unused GNULIB_XYZ macro definitions.
27600         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
27601         invocation.
27602
27603 2010-03-28  Bruno Haible  <bruno@clisp.org>
27604
27605         Mark privileged tests modules.
27606         * modules/idpriv-drop-tests (Status): New section.
27607         * modules/idpriv-droptemp-tests (Status): New section.
27608
27609 2010-03-28  Bruno Haible  <bruno@clisp.org>
27610
27611         Split C++ tests into separate tests modules.
27612         * modules/dirent-c++-tests: New file, extracted from
27613         modules/dirent-tests.
27614         * modules/dirent-tests: Depend on it.
27615         * modules/fcntl-h-c++-tests: New file, extracted from
27616         modules/fcntl-h-tests.
27617         * modules/fcntl-h-tests: Depend on it.
27618         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
27619         * modules/glob-tests: Depend on it.
27620         * modules/iconv-h-c++-tests: New file, extracted from
27621         modules/iconv-h-tests.
27622         * modules/iconv-h-tests: Depend on it.
27623         * modules/langinfo-c++-tests: New file, extracted from
27624         modules/langinfo-tests.
27625         * modules/langinfo-tests: Depend on it.
27626         * modules/locale-c++-tests: New file, extracted from
27627         modules/locale-tests.
27628         * modules/locale-tests: Depend on it.
27629         * modules/math-c++-tests: New file, extracted from modules/math-tests.
27630         * modules/math-tests: Depend on it.
27631         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
27632         * modules/pty-tests: Depend on it.
27633         * modules/search-c++-tests: New file, extracted from
27634         modules/search-tests.
27635         * modules/search-tests: Depend on it.
27636         * modules/signal-c++-tests: New file, extracted from
27637         modules/signal-tests.
27638         * modules/signal-tests: Depend on it.
27639         * modules/spawn-c++-tests: New file, extracted from
27640         modules/spawn-tests.
27641         * modules/spawn-tests: Depend on it.
27642         * modules/stdio-c++-tests: New file, extracted from
27643         modules/stdio-tests.
27644         * modules/stdio-tests: Depend on it.
27645         * modules/stdlib-c++-tests: New file, extracted from
27646         modules/stdlib-tests.
27647         * modules/stdlib-tests: Depend on it.
27648         * modules/string-c++-tests: New file, extracted from
27649         modules/string-tests.
27650         * modules/string-tests: Depend on it.
27651         * modules/sys_ioctl-c++-tests: New file, extracted from
27652         modules/sys_ioctl-tests.
27653         * modules/sys_ioctl-tests: Depend on it.
27654         * modules/sys_select-c++-tests: New file, extracted from
27655         modules/sys_select-tests.
27656         * modules/sys_select-tests: Depend on it.
27657         * modules/sys_socket-c++-tests: New file, extracted from
27658         modules/sys_socket-tests.
27659         * modules/sys_socket-tests: Depend on it.
27660         * modules/sys_stat-c++-tests: New file, extracted from
27661         modules/sys_stat-tests.
27662         * modules/sys_stat-tests: Depend on it.
27663         * modules/sys_time-c++-tests: New file, extracted from
27664         modules/sys_time-tests.
27665         * modules/sys_time-tests: Depend on it.
27666         * modules/time-c++-tests: New file, extracted from modules/time-tests.
27667         * modules/time-tests: Depend on it.
27668         * modules/unistd-c++-tests: New file, extracted from
27669         modules/unistd-tests.
27670         * modules/unistd-tests: Depend on it.
27671         * modules/wchar-c++-tests: New file, extracted from
27672         modules/wchar-tests.
27673         * modules/wchar-tests: Depend on it.
27674         * modules/wctype-c++-tests: New file, extracted from
27675         modules/wctype-tests.
27676         * modules/wctype-tests: Depend on it.
27677         Reported by Simon Josefsson.
27678
27679 2010-03-28  Bruno Haible  <bruno@clisp.org>
27680
27681         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
27682         * gnulib-tool (func_exists_module): New function, extracted from
27683         func_verify_module.
27684         (func_verify_module): Use it.
27685         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
27686         'foo' only if 'foo' exists.
27687         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
27688         module.
27689
27690 2010-03-28  Bruno Haible  <bruno@clisp.org>
27691
27692         gnulib-tool: Add support for special categories of tests.
27693         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
27694         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
27695         (func_usage): Document them.
27696         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
27697         inc_unportable_tests, inc_all_tests): New variables.
27698         (func_acceptable): Consider these variables.
27699         (func_modules_transitive_closure): Make it work when the 'Status' field
27700         consists of multiple words.
27701         (func_import): Store and restore the values of inc_cxx_tests,
27702         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
27703         inc_all_tests in gnulib-comp.m4.
27704         (func_create_testdir): Set inc_all_tests to true.
27705         * doc/gnulib.texi (Extra tests modules): New section.
27706         Suggested by Jim Meyering.
27707
27708 2010-03-28  Bruno Haible  <bruno@clisp.org>
27709
27710         ansi-c++-opt: Allow turning off the C++ build by default.
27711         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
27712         gl_CXX_CHOICE_DEFAULT_NO is defined.
27713         Requested by Eric Blake.
27714
27715 2010-03-28  Bruno Haible  <bruno@clisp.org>
27716
27717         unistd: Avoid #define replacements in C++ mode.
27718         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
27719         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
27720         setsockopt, shutdown, select): In C++, attach a warning to the function
27721         if possible, rather than #defining the symbol to a dysfunctional alias.
27722         Reported by John W. Eaton <jwe@gnu.org>.
27723
27724 2010-03-28  Bruno Haible  <bruno@clisp.org>
27725
27726         Fix link errors on mingw.
27727         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
27728         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
27729         $(LIBSOCKET).
27730         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
27731         $(LIBSOCKET).
27732
27733 2010-03-28  Bruno Haible  <bruno@clisp.org>
27734             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27735
27736         lib-ignore: Determine different options for different compilers.
27737         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
27738         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
27739         Add comments.
27740         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
27741         * NEWS: Mention the change.
27742
27743 2010-03-27  Bruno Haible  <bruno@clisp.org>
27744
27745         Remove unused GNULIB_XYZ macro definitions.
27746         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
27747         * modules/fseek (configure.ac): Likewise.
27748         * modules/ioctl (configure.ac): Likewise.
27749         * modules/open (configure.ac): Likewise.
27750         * modules/stdlib-safer (configure.ac): Likewise.
27751
27752 2010-03-27  Bruno Haible  <bruno@clisp.org>
27753
27754         Add a remark about certain modules.
27755         * modules/malloc (Comment): New section.
27756         * modules/realloc (Comment): Likewise.
27757         * modules/sigpipe (Comment): Likewise.
27758
27759 2010-03-27  Bruno Haible  <bruno@clisp.org>
27760
27761         Resolve conflict between the two kinds of module indicators.
27762         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
27763         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
27764         * modules/canonicalize (configure.ac): Invoke
27765         gl_MODULE_INDICATOR_FOR_TESTS.
27766         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
27767         GNULIB_XYZ.
27768         * tests/test-dirent-c++.cc: Likewise.
27769         * tests/test-dirent-safer.c: Likewise.
27770         * tests/test-dup2.c: Likewise.
27771         * tests/test-fchdir.c: Likewise.
27772         * tests/test-fcntl-h-c++.cc: Likewise.
27773         * tests/test-getopt.c: Likewise.
27774         * tests/test-getopt.h: Likewise.
27775         * tests/test-langinfo-c++.cc: Likewise.
27776         * tests/test-locale-c++.cc: Likewise.
27777         * tests/test-math-c++.cc: Likewise.
27778         * tests/test-pty-c++.cc: Likewise.
27779         * tests/test-search-c++.cc: Likewise.
27780         * tests/test-signal-c++.cc: Likewise.
27781         * tests/test-spawn-c++.cc: Likewise.
27782         * tests/test-stdio-c++.cc: Likewise.
27783         * tests/test-stdlib-c++.cc: Likewise.
27784         * tests/test-string-c++.cc: Likewise.
27785         * tests/test-sys_ioctl-c++.cc: Likewise.
27786         * tests/test-sys_select-c++.cc: Likewise.
27787         * tests/test-sys_socket-c++.cc: Likewise.
27788         * tests/test-sys_stat-c++.cc: Likewise.
27789         * tests/test-sys_time-c++.cc: Likewise.
27790         * tests/test-time-c++.cc: Likewise.
27791         * tests/test-unistd-c++.cc: Likewise.
27792         * tests/test-wchar-c++.cc: Likewise.
27793         * tests/uninorm/test-u8-nfc.c: Likewise.
27794         * tests/uninorm/test-u8-nfd.c: Likewise.
27795         * tests/uninorm/test-u8-nfkc.c: Likewise.
27796         * tests/uninorm/test-u8-nfkd.c: Likewise.
27797         * tests/uninorm/test-u16-nfc.c: Likewise.
27798         * tests/uninorm/test-u16-nfd.c: Likewise.
27799         * tests/uninorm/test-u16-nfkc.c: Likewise.
27800         * tests/uninorm/test-u16-nfkd.c: Likewise.
27801         * tests/uninorm/test-u32-nfc.c: Likewise.
27802         * tests/uninorm/test-u32-nfc-big.c: Likewise.
27803         * tests/uninorm/test-u32-nfd.c: Likewise.
27804         * tests/uninorm/test-u32-nfd-big.c: Likewise.
27805         * tests/uninorm/test-u32-nfkc.c: Likewise.
27806         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
27807         * tests/uninorm/test-u32-nfkd.c: Likewise.
27808         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
27809         * tests/uninorm/test-u32-normalize-big.c: Likewise.
27810
27811 2010-03-27  Bruno Haible  <bruno@clisp.org>
27812
27813         Distinguish two kinds of module indicators.
27814         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
27815         gl_MODULE_INDICATOR.
27816         (gl_MODULE_INDICATOR): New macro.
27817         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
27818         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
27819         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27820         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
27821         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
27822         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
27823         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27824         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27825         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27826         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27827         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27828         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27829         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27830         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27831         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27832         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27833         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27834         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27835         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27836         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27837         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27838         * modules/cloexec (configure.ac): Likewise.
27839         * modules/getopt-gnu (configure.ac): Likewise.
27840         * modules/uninorm/u8-normalize (configure.ac): Likewise.
27841         * modules/uninorm/u16-normalize (configure.ac): Likewise.
27842         * modules/uninorm/u32-normalize (configure.ac): Likewise.
27843         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
27844
27845 2010-03-27  Bruno Haible  <bruno@clisp.org>
27846
27847         New module description field 'Comment'.
27848         * gnulib-tool: New option --extract-comment.
27849         (func_usage): Document it.
27850         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
27851         (func_get_comment): New function.
27852         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
27853
27854 2010-03-27  Bruno Haible  <bruno@clisp.org>
27855
27856         Addendum to 2010-02-07 commit.
27857         * gnulib-tool (func_usage): Document --extract-applicability option.
27858
27859 2010-03-27  Bruno Haible  <bruno@clisp.org>
27860
27861         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
27862         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
27863         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
27864         rather than link errors.
27865
27866 2010-03-27  Bruno Haible  <bruno@clisp.org>
27867
27868         Avoid side effects from tests-related modules on the compilation of lib.
27869         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
27870         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
27871         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
27872         parameter. Emit into AM_CPPFLAGS a definition of the designated C
27873         macro.
27874         (func_import): Define a witness macro. Assign it a value that depends
27875         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
27876         tests-related modules.
27877         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
27878         Reported by Jim Meyering.
27879
27880 2010-03-27  Bruno Haible  <bruno@clisp.org>
27881
27882         Factorize common .m4 code.
27883         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
27884         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
27885         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
27886         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
27887         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
27888         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
27889         * m4/inttypes.m4 (gl_INTTYPES_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/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
27894         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
27895         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
27896         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
27897         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
27898         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
27899         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
27900         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
27901         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
27902         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
27903         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
27904         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
27905         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
27906         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
27907         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
27908         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
27909         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
27910         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
27911         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
27912         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
27913         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
27914         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
27915
27916 2010-03-27  Bruno Haible  <bruno@clisp.org>
27917
27918         Fix a compilation error on Cygwin with g++ >= 4.3.
27919         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
27920         if it is undefined or if we alias it to chmod.
27921         (lstat): Don't warn about the use of this function if it is undefined
27922         or if we alias it to stat.
27923         Reported by Simon Josefsson.
27924
27925 2010-03-27  Bruno Haible  <bruno@clisp.org>
27926
27927         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
27928         * modules/getlogin (configure.ac): Update.
27929
27930         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
27931         * modules/getlogin_r (configure.ac): Update.
27932
27933         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
27934         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
27935         * modules/inet_ntop (configure.ac): Update.
27936
27937         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
27938         * modules/inet_pton (configure.ac): Update.
27939
27940         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
27941         * modules/mbslen (configure.ac): Update.
27942
27943         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
27944         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
27945         * modules/forkpty (configure.ac): Update.
27946         * modules/openpty (configure.ac): Update.
27947
27948 2010-03-26  Simon Josefsson  <simon@josefsson.org>
27949
27950         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
27951         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
27952
27953 2010-03-25  Eric Blake  <eblake@redhat.com>
27954
27955         maint: use pragma consistently across replacement headers
27956         * lib/ctype.in.h (system_header): Hoist for consistent placement.
27957         * lib/dirent.in.h (system_header): Likewise.
27958         * lib/errno.in.h (system_header): Likewise.
27959         * lib/float.in.h (system_header): Likewise.
27960         * lib/getopt.in.h (system_header): Likewise.
27961         * lib/iconv.in.h (system_header): Likewise.
27962         * lib/inttypes.in.h (system_header): Likewise.
27963         * lib/langinfo.in.h (system_header): Likewise.
27964         * lib/locale.in.h (system_header): Likewise.
27965         * lib/math.in.h (system_header): Likewise.
27966         * lib/netdb.in.h (system_header): Likewise.
27967         * lib/netinet_in.in.h (system_header): Likewise.
27968         * lib/pty.in.h (system_header): Likewise.
27969         * lib/sched.in.h (system_header): Likewise.
27970         * lib/se-selinux.in.h (system_header): Likewise.
27971         * lib/search.in.h (system_header): Likewise.
27972         * lib/spawn.in.h (system_header): Likewise.
27973         * lib/stdarg.in.h (system_header): Likewise.
27974         * lib/stdint.in.h (system_header): Likewise.
27975         * lib/string.in.h (system_header): Likewise.
27976         * lib/strings.in.h (system_header): Likewise.
27977         * lib/sys_file.in.h (system_header): Likewise.
27978         * lib/sys_ioctl.in.h (system_header): Likewise.
27979         * lib/sys_socket.in.h (system_header): Likewise.
27980         * lib/sys_times.in.h (system_header): Likewise.
27981         * lib/sys_utsname.in.h (system_header): Likewise.
27982         * lib/sys_wait.in.h (system_header): Likewise.
27983         * lib/sysexits.in.h (system_header): Likewise.
27984         * lib/unistd.in.h (system_header): Likewise.
27985         * lib/wctype.in.h (system_header): Likewise.
27986
27987         arpa/inet: fix mingw compilation warning
27988         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
27989         Reported by Matthew Bolte.
27990
27991 2010-03-25  Bruno Haible  <bruno@clisp.org>
27992
27993         Avoid collision between gnulib wrapper and libintl wrapper.
27994         * lib/printf.c (printf): Don't define if a printf wrapper is already
27995         defined in intl/printf.c.
27996         Reported by Michel Boaventura <michel@michelboaventura.com>.
27997
27998 2010-03-25  Bruno Haible  <bruno@clisp.org>
27999
28000         Use ANSI C.
28001         * lib/readutmp.h (getutent): Provide ANSI C prototype.
28002
28003 2010-03-25  Bruno Haible  <bruno@clisp.org>
28004
28005         Minor formatting changes.
28006         * lib/acosl.c: Insert space before function argument list.
28007         * lib/argz.c: Likewise.
28008         * lib/asinl.c: Likewise.
28009         * lib/expl.c: Likewise.
28010         * lib/gen-uni-tables.c: Likewise.
28011         * lib/gettext.h: Likewise.
28012         * lib/glthread/lock.h: Likewise.
28013         * lib/tanl.c: Likewise.
28014         * lib/uniname/uniname.c: Likewise.
28015         * tests/test-idpriv-drop.c: Likewise.
28016         * tests/test-idpriv-droptemp.c: Likewise.
28017         * tests/test-lock.c: Likewise.
28018         * tests/test-tls.c: Likewise.
28019         * lib/argp-help.c: Insert space before function-like macro argument
28020         list.
28021         * lib/memcmp.c: Likewise.
28022         * tests/test-base64.c: Likewise.
28023         * lib/localename.c: Insert space before sizeof's argument list.
28024         * lib/safe-alloc.h: Likewise.
28025         * lib/file-set.h: Insert space before macro argument list.
28026         * tests/test-argp.c: Likewise.
28027         * lib/argp-namefrob.h: Insert space before function parameter list.
28028         * lib/getaddrinfo.c: Likewise.
28029         * lib/netdb.in.h: Likewise.
28030         * lib/parse-duration.h: Likewise.
28031         * lib/parse-duration.c: Likewise.
28032         * lib/poll.c: Likewise.
28033         * lib/select.c: Likewise.
28034         * lib/trim.h: Likewise.
28035         * tests/test-usleep.c: Likewise.
28036         * lib/ldexpl.c: Insert space before function parameter list and before
28037         function argument list.
28038         * lib/logl.c: Likewise.
28039         * lib/sqrtl.c: Likewise.
28040         * lib/trim.c: Likewise.
28041         * lib/cosl.c: Use GNU style indentation. Insert space before function
28042         argument list.
28043         * lib/sinl.c: Likewise.
28044         * lib/tsearch.c: Insert space after 'for'.
28045         Reported by Jim Meyering.
28046
28047 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
28048
28049         * maint.mk (sc_Wundef_boolean): Check for the presence of the
28050         config header before grepping, as it's not present before
28051         autoreconf/configure are run.  Reported by Simon Josefsson.
28052
28053 2010-03-23  Bruno Haible  <bruno@clisp.org>
28054
28055         pt_chown: Make it work with automake < 1.11.
28056         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
28057         Reported by Simon Josefsson.
28058
28059 2010-03-23  Bruno Haible  <bruno@clisp.org>
28060
28061         pt_chown: Don't depend on GPLed modules.
28062         * lib/pt_chown.c: Don't include idpriv.h.
28063         (main): Don't drop privileges.
28064         * modules/pt_chown (Depends-on): Remove idpriv-drop.
28065         Reported by Simon Josefsson.
28066
28067 2010-03-24  Simon Josefsson  <simon@josefsson.org>
28068
28069         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
28070         suggestions from karl@freefriends.org (Karl Berry).
28071
28072 2010-03-22  Eric Blake  <eblake@redhat.com>
28073
28074         gethostname: further tweaks
28075         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
28076         are overriding gethostname.
28077         Suggested by Bruno Haible.
28078
28079 2010-03-21  Bruno Haible  <bruno@clisp.org>
28080
28081         Fix comments.
28082         * lib/forkpty.c (rpl_forkpty): Fix comment.
28083         * lib/openpty.c (rpl_openpty): Likewise.
28084         Reported by Eric Blake.
28085
28086 2010-03-22  Eric Blake  <eblake@redhat.com>
28087
28088         gethostname: fix build on mingw
28089         * lib/unistd.in.h (includes): Work around fact that mingw
28090         <winsock2.h> re-includes <unistd.h>, by avoiding any
28091         redeclarations if we are being included by <winsock2.h>.
28092         Reported by Matthias Bolte.
28093
28094 2010-03-21  Bruno Haible  <bruno@clisp.org>
28095
28096         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28097         * lib/forkpty.c (forkpty): New replacement function, from glibc with
28098         modifications.
28099         * lib/pty.in.h (forkpty): Update declaration. Add comments.
28100         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
28101         provide the replacement.
28102         * modules/forkpty (Depends-on): Add openpty, login_tty.
28103         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
28104         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
28105         * doc/glibc-functions/forkpty.texi: More supported platforms.
28106         * config/srclist.txt: Add forkpty.c (commented).
28107
28108 2010-03-21  Bruno Haible  <bruno@clisp.org>
28109
28110         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
28111         (Makefile.am): Verify that PTY_LIB is defined.
28112
28113         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
28114
28115 2010-03-21  Bruno Haible  <bruno@clisp.org>
28116
28117         Tests for module 'login_tty'.
28118         * modules/login_tty-tests: New file.
28119         * tests/test-login_tty.c: New file.
28120
28121         New module 'login_tty'.
28122         * lib/login_tty.c: New file.
28123         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
28124         * modules/login_tty: New file.
28125         * doc/glibc-functions/login_tty.texi: Mention the new module.
28126
28127 2010-03-21  Bruno Haible  <bruno@clisp.org>
28128
28129         login_tty: Documentation.
28130         * doc/glibc-functions/login_tty.texi: New file.
28131         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
28132
28133 2010-03-21  Bruno Haible  <bruno@clisp.org>
28134
28135         pty: Consistent macro naming.
28136         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
28137         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
28138         * modules/pty (configure.ac): Update.
28139
28140 2010-03-21  Bruno Haible  <bruno@clisp.org>
28141
28142         Tests for openpty: Make stricter.
28143         * tests/test-openpty.c (main): Add test of canonical processing and
28144         erase.
28145         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
28146
28147         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
28148         * lib/openpty.c (openpty): New replacement function.
28149         * lib/pty.in.h: Include <termios.h>.
28150         (openpty): Update declaration. Add comments.
28151         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
28152         is not declared, arrange to provide the replacement. Check for _getpty
28153         and posix_openpt.
28154         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
28155         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
28156         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
28157         * modules/pty-tests (test_pty_c___LDADD): New variable.
28158         * doc/glibc-functions/openpty.texi: More supported platforms.
28159
28160 2010-03-21  Bruno Haible  <bruno@clisp.org>
28161
28162         setenv: Tweaks.
28163         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
28164         the test program.
28165         * doc/posix-functions/setenv.texi: Update platforms list.
28166
28167 2010-03-21  Bruno Haible  <bruno@clisp.org>
28168
28169         New module 'unlockpt'.
28170         * lib/unlockpt.c: New file, from glibc with modifications.
28171         * m4/unlockpt.m4: New file.
28172         * modules/unlockpt: New file.
28173         * lib/stdlib.in.h (unlockpt): New declaration.
28174         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
28175         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
28176         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
28177         HAVE_UNLOCKPT.
28178         * doc/posix-functions/unlockpt.texi: Mention the new module.
28179         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
28180         * config/srclist.txt: Add unlockpt.c (commented).
28181
28182 2010-03-21  Jim Meyering  <meyering@redhat.com>
28183
28184         maint.mk: prohibit inclusion of "intprops.h" without use
28185         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
28186
28187 2010-03-21  Bruno Haible  <bruno@clisp.org>
28188
28189         New module 'grantpt'.
28190         * lib/grantpt.c: New file, from glibc with modifications.
28191         * m4/grantpt.m4: New file.
28192         * modules/grantpt: New file.
28193         * lib/stdlib.in.h (grantpt): New declaration.
28194         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
28195         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
28196         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
28197         HAVE_GRANTPT.
28198         * doc/posix-functions/grantpt.texi: Mention the new module.
28199         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
28200         * config/srclist.txt: Add grantpt.c (commented).
28201
28202 2010-03-21  Bruno Haible  <bruno@clisp.org>
28203
28204         New module 'pt_chown'.
28205         * lib/pt_chown.c: New file, from glibc with modifications.
28206         * lib/pty-private.h: New file, from glibc with modifications.
28207         * modules/pt_chown: New file.
28208         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
28209
28210 2010-03-21  Bruno Haible  <bruno@clisp.org>
28211
28212         Tests for module 'ptsname'.
28213         * modules/ptsname-tests: New file.
28214         * tests/test-ptsname.c: New file.
28215
28216         New module 'ptsname'.
28217         * lib/ptsname.c: New file, from glibc with modifications.
28218         * m4/ptsname.m4: New file.
28219         * modules/ptsname: New file.
28220         * lib/stdlib.in.h (ptsname): New declaration.
28221         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
28222         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
28223         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
28224         HAVE_PTSNAME.
28225         * doc/posix-functions/ptsname.texi: Mention the new module.
28226         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
28227         * config/srclist.txt: Add ptsname.c (commented).
28228
28229 2010-03-21  Bruno Haible  <bruno@clisp.org>
28230
28231         Tests for module 'ttyname_r'.
28232         * modules/ttyname_r-tests: New file.
28233         * tests/test-ttyname_r.c: New file.
28234
28235         New module 'ttyname_r'.
28236         * lib/ttyname_r.c: New file.
28237         * m4/ttyname_r.m4: New file.
28238         * modules/ttyname_r: New file.
28239         * lib/unistd.in.h (ttyname_r): New declaration.
28240         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
28241         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
28242         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
28243         HAVE_TTYNAME_R.
28244         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
28245         * doc/posix-functions/ttyname_r.texi: Mention the new module.
28246
28247 2010-03-20  Bruno Haible  <bruno@clisp.org>
28248
28249         signal: Undefine macro definitions in C++ mode.
28250         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
28251         sigfillset): Undefine macro definitions from the system header in C++
28252         mode.
28253         Reported by John W. Eaton <jwe@gnu.org>.
28254
28255 2010-03-20  Bruno Haible  <bruno@clisp.org>
28256
28257         Ensure no #include statements inside extern "C" { ... }.
28258         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
28259         contain #include statements.
28260         * lib/time.in.h: Likewise.
28261
28262 2010-03-20  Bruno Haible  <bruno@clisp.org>
28263
28264         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
28265         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
28266         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
28267         Reported by John W. Eaton <jwe@gnu.org>.
28268
28269 2010-03-20  Bruno Haible  <bruno@clisp.org>
28270
28271         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
28272         Reported by Jim Meyering.
28273
28274 2010-03-20  Bruno Haible  <bruno@clisp.org>
28275
28276         pipe: Set errno upon failure.
28277         * lib/pipe.h: Specify that when -1 is returned, errno is set.
28278         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
28279         errno value in error message.
28280
28281 2010-03-20  Bruno Haible  <bruno@clisp.org>
28282             Jim Meyering  <meyering@redhat.com>
28283
28284         lchown: Avoid "unused variable" warning.
28285         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
28286
28287 2010-03-20  Bruno Haible  <bruno@clisp.org>
28288
28289         Work around unlink() bug on MacOS X 10.5.6.
28290         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
28291         attempting to unlink a parent directory.
28292         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
28293         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
28294         activate for the replacement function.
28295         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
28296
28297 2010-03-20  Bruno Haible  <bruno@clisp.org>
28298
28299         Fix link errors on Solaris 8.
28300         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
28301         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
28302
28303 2010-03-19  Jim Meyering  <meyering@redhat.com>
28304
28305         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
28306         The _LIBC implementation of build_range_exp correctly honors the
28307         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
28308         However, the non-_LIBC implementation would ignore that syntax-bit
28309         flag and return REG_ERANGE unconditionally.
28310         This change makes it honor that flag.
28311         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
28312         Make two pointer parameters "const".
28313         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
28314         (parse_bracket_exp): Update caller.
28315
28316         regex.m4: correct the reversed range endpoint ([b-a]) test
28317         * m4/regex.m4: When requiring that [b-a] evoke failure,
28318         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
28319         test pass once again for x86-based systems.
28320
28321 2010-03-19  Bruno Haible  <bruno@clisp.org>
28322
28323         scandir: Fix link error on Solaris 8.
28324         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
28325         macros.
28326
28327 2010-03-19  Bruno Haible  <bruno@clisp.org>
28328
28329         getusershell: Fix documentation.
28330         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
28331         module.
28332         * doc/glibc-functions/setusershell.texi: Likewise.
28333
28334         getusershell: Provide declaration, missing on Solaris 9.
28335         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
28336         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
28337         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
28338         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
28339         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28340         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
28341         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
28342         HAVE_GETUSERSHELL.
28343         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
28344
28345 2010-03-19  Bruno Haible  <bruno@clisp.org>
28346
28347         wctype: Provide iswblank function.
28348         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
28349         exists and is fine.
28350         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
28351         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
28352         * tests/test-wctype.c (main): Re-enable the iswblank tests.
28353         * doc/posix-functions/iswblank.texi: Update.
28354
28355 2010-03-19  Bruno Haible  <bruno@clisp.org>
28356
28357         Tests of module 'pty' in C++ mode.
28358         * modules/pty-tests: New file.
28359         * tests/test-pty-c++.cc: New file.
28360         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28361
28362 2010-03-19  Eric Blake  <eblake@redhat.com>
28363
28364         logb: fix documentation
28365         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
28366         1.5 declaration bug.
28367
28368         forkpty, openpty: prefer glibc's const-safe prototype
28369         * lib/forkpty.c (rpl_forkpty): New file.
28370         * lib/openpty.c (rpl_openpty): Likewise.
28371         * modules/forkpty (Files): Distribute it.
28372         * modules/openpty (Files): Likewise.
28373         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
28374         check...
28375         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
28376         replacement for for non-const BSD signature.
28377         * modules/pty (Makefile.am): Substitute witnesses.
28378         * lib/pty.in.h (forkpty, openpty): Declare replacements.
28379         * tests/test-forkpty.c: Update signature check.
28380         * tests/test-openpty.c: Likewise.
28381         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
28382         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28383
28384         forkpty, openpty: split functions into new modules
28385         * modules/pty (Makefile.am): Substitute new witnesses.
28386         (Libraries): Move library detection...
28387         * modules/forkpty: ...into new module.
28388         * modules/openpty: Another new module.
28389         * modules/pty-tests: Rename and split...
28390         * modules/forkpty-tests: ...to this...
28391         * modules/openpty-tests: ...and this.
28392         * tests/test-pty.c: Rename and split...
28393         * tests/test-forkpty.c: ...to this...
28394         * tests/test-openpty.c: ...and this.
28395         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
28396         (gl_PTY): Split library searching...
28397         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
28398         (gl_FORKPTY, gl_OPENPTY): New macros.
28399         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
28400         * NEWS: Mention the split.
28401         * MODULES.html.sh (Misc): Document the modules.
28402         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
28403         * doc/glibc-functions/openpty.texi (openpty): Likewise.
28404
28405         pty: improve replacement header
28406         * lib/pty.in.h: New file.
28407         * modules/pty (Files): Ship it.
28408         (Makefile.am): Always build replacement.
28409         * m4/pty.m4: Rename...
28410         * m4/pty_h.m4: ...to this.
28411         (gl_PTY): Modernize setting of witness macros; update check of
28412         forkpty to take proper advantage of cache.
28413         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
28414
28415         getopt: avoid compiler warning
28416         * lib/getopt.c (attribute_hidden): Remove unused macro.
28417
28418 2010-03-18  Bruno Haible  <bruno@clisp.org>
28419
28420         Fix link errors on Solaris 8.
28421         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
28422         * modules/search-tests (test_search_c___LDADD): Likewise.
28423         * modules/signal-tests (test_signal_c___LDADD): Likewise.
28424         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
28425         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
28426         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
28427         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
28428         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
28429         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
28430
28431 2010-03-18  Bruno Haible  <bruno@clisp.org>
28432
28433         Fix bug introduced on 2010-03-14.
28434         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
28435         (gl_SPAWN_H): Require it.
28436         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
28437         Reported by Simon Josefsson.
28438
28439 2010-03-18  Bruno Haible  <bruno@clisp.org>
28440
28441         Fix typo introduced on 2009-12-31.
28442         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
28443         posix_spawn_file_actions_adddup2.
28444
28445 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
28446         and Eric Blake  <eblake@redhat.com>
28447
28448         test-vc-list-files-git: make more robust
28449         * tests/test-vc-list-files-git.sh: Unset problematic environment
28450         variables.  Chain commands together.
28451
28452 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
28453
28454         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
28455         `AC_CHECK_DECL' invocation.
28456
28457 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
28458
28459         * lib/inttostr.c (inttostr): Make sure the invocation of verify
28460         appears before executable statements. Suggested by Petr Sumbera
28461         <Petr.Sumbera@Sun.COM>.
28462
28463 2010-03-14  Bruno Haible  <bruno@clisp.org>
28464
28465         * tests/test-flock.c (test_exclusive): Comment out a test that causes
28466         portability problems. Instead use a simpler test.
28467         (main): Check that invalid arguments are rejected only on Linux.
28468
28469 2010-03-14  Bruno Haible  <bruno@clisp.org>
28470
28471         Fix bug introduced on 2009-12-31.
28472         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
28473         gl_PREREQ_SYS_H_WINSOCK2 always.
28474         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
28475         SYS_SOCKET_H variable.
28476         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
28477         Update comments.
28478         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
28479         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
28480         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28481         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28482         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
28483
28484 2010-03-14  Bruno Haible  <bruno@clisp.org>
28485
28486         Fix values returned by sinl, cosl.
28487         * lib/trigl.h: Add specification comments.
28488         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
28489         that combines the values from the precomputed table with the values of
28490         the Chebyshev polynomials.
28491
28492 2010-03-14  Bruno Haible  <bruno@clisp.org>
28493
28494         Fix compilation error when modules 'posix_spawn[p]' are not used.
28495         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
28496         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
28497
28498 2010-03-14  Bruno Haible  <bruno@clisp.org>
28499
28500         Fix compilation error on mingw when module 'time_r' is not used.
28501         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
28502         is 1.
28503         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
28504         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28505         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
28506         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
28507
28508 2010-03-14  Bruno Haible  <bruno@clisp.org>
28509
28510         Fix compilation error with Sun C.
28511         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
28512         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
28513         instead of GCC specific ULONG_LONG_MAX.
28514         * lib/xstrtoll.c: Likewise.
28515         * lib/xstrtoull.c: Likewise.
28516
28517 2010-03-13  Bruno Haible  <bruno@clisp.org>
28518
28519         Allow the user to disable C++ code and tests.
28520         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
28521         (gl_PROG_ANSI_CXX): Require it.
28522
28523 2010-03-13  Bruno Haible  <bruno@clisp.org>
28524
28525         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
28526         cases.
28527
28528 2010-03-13  Bruno Haible  <bruno@clisp.org>
28529
28530         Test that gnulib does not break the standard C++ headers.
28531         * tests/test-locale-c++2.cc: New file.
28532         * modules/locale-tests (Files): Add it.
28533         (Makefile.am): Compile it for test-locale-c++.
28534         * tests/test-math-c++2.cc: New file.
28535         * modules/math-tests (Files): Add it.
28536         (Makefile.am): Compile it for test-math-c++.
28537         * tests/test-signal-c++2.cc: New file.
28538         * modules/signal-tests (Files): Add it.
28539         (Makefile.am): Compile it for test-signal-c++.
28540         * tests/test-stdio-c++2.cc: New file.
28541         * modules/stdio-tests (Files): Add it.
28542         (Makefile.am): Compile it for test-stdio-c++.
28543         * tests/test-stdlib-c++2.cc: New file.
28544         * modules/stdlib-tests (Files): Add it.
28545         (Makefile.am): Compile it for test-stdlib-c++.
28546         * tests/test-string-c++2.cc: New file.
28547         * modules/string-tests (Files): Add it.
28548         (Makefile.am): Compile it for test-string-c++.
28549         * tests/test-time-c++2.cc: New file.
28550         * modules/time-tests (Files): Add it.
28551         (Makefile.am): Compile it for test-time-c++.
28552         Reported by John W. Eaton <jwe@gnu.org>.
28553
28554 2010-03-13  Bruno Haible  <bruno@clisp.org>
28555
28556         * gnulib-tool (func_usage): Clarify which options are available for
28557         --create-testdir and --create-megatestdir.
28558
28559 2010-03-13  Bruno Haible  <bruno@clisp.org>
28560
28561         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
28562         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
28563         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
28564         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28565         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
28566         when appropriate.
28567         Reported by Jim Meyering.
28568
28569 2010-03-12  Simon Josefsson  <simon@josefsson.org>
28570
28571         * gnulib-tool (func_import): Explain origin of code.
28572
28573 2010-03-12  Bruno Haible  <bruno@clisp.org>
28574
28575         Fix problem with automake's definition of CXXLINK.
28576         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
28577         Reported by Simon Josefsson and Ludovic Courtès.
28578
28579 2010-03-12  Bruno Haible  <bruno@clisp.org>
28580
28581         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
28582         stable releases.
28583
28584 2010-03-11  Bruno Haible  <bruno@clisp.org>
28585
28586         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
28587         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
28588         whether the system provides one variant or multiple variants of the
28589         function.
28590         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
28591         C++ compilers.
28592         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
28593         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
28594         Reported by Jim Meyering.
28595
28596 2010-03-09  Simon Josefsson  <simon@josefsson.org>
28597
28598         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
28599
28600 2010-03-08  Bruno Haible  <bruno@clisp.org>
28601
28602         gnulib-tool: Add support for --libtool in --create-testdir.
28603         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
28604         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
28605
28606 2010-03-08  Eric Blake  <eblake@redhat.com>
28607
28608         gnulib-tool.texi: mention possibility of git submodule
28609         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
28610         submodules.
28611         * doc/.gitignore: Ignore another generated file.
28612
28613 2010-03-08  Karl Berry  <karl@gnu.org>
28614
28615         * doc/gnulib-tool.texi (VCS Issues): Mention third option
28616         of committing gnulib files while skipping others.
28617
28618 2010-03-07  Bruno Haible  <bruno@clisp.org>
28619
28620         Tests of module 'wctype' in C++ mode.
28621         * tests/test-wctype-c++.cc: New file.
28622         * modules/wctype-tests (Files): Add it and tests/signature.h.
28623         (Depends-on): Add ansi-c++-opt.
28624         (Makefile.am): Arrange to compile and run test-wctype-c++.
28625
28626         Tests of module 'wchar' in C++ mode.
28627         * tests/test-wchar-c++.cc: New file.
28628         * modules/wchar-tests (Files): Add it and tests/signature.h.
28629         (Depends-on): Add ansi-c++-opt.
28630         (Makefile.am): Arrange to compile and run test-wchar-c++.
28631         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
28632         gl_MODULE_INDICATOR.
28633
28634         Tests of module 'unistd' in C++ mode.
28635         * tests/test-unistd-c++.cc: New file.
28636         * modules/unistd-tests (Files): Add it and tests/signature.h.
28637         (Depends-on): Add ansi-c++-opt.
28638         (Makefile.am): Arrange to compile and run test-unistd-c++.
28639         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
28640         gl_MODULE_INDICATOR.
28641
28642         Tests of module 'time' in C++ mode.
28643         * tests/test-time-c++.cc: New file.
28644         * modules/time-tests (Files): Add it and tests/signature.h.
28645         (Depends-on): Add ansi-c++-opt.
28646         (Makefile.am): Arrange to compile and run test-time-c++.
28647         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28648
28649         Tests of module 'sys_time' in C++ mode.
28650         * tests/test-sys_time-c++.cc: New file.
28651         * modules/sys_time-tests (Files): Add it and tests/signature.h.
28652         (Depends-on): Add ansi-c++-opt.
28653         (Makefile.am): Arrange to compile and run test-sys_time-c++.
28654         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
28655         gl_MODULE_INDICATOR.
28656
28657         Tests of module 'sys_stat' in C++ mode.
28658         * tests/test-sys_stat-c++.cc: New file.
28659         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
28660         (Depends-on): Add ansi-c++-opt.
28661         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
28662         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
28663         gl_MODULE_INDICATOR.
28664
28665         Tests of module 'sys_socket' in C++ mode.
28666         * tests/test-sys_socket-c++.cc: New file.
28667         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
28668         (Depends-on): Add ansi-c++-opt.
28669         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
28670         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
28671         gl_MODULE_INDICATOR.
28672
28673         Tests of module 'sys_select' in C++ mode.
28674         * tests/test-sys_select-c++.cc: New file.
28675         * modules/sys_select-tests (Files): Add it and tests/signature.h.
28676         (Depends-on): Add ansi-c++-opt.
28677         (Makefile.am): Arrange to compile and run test-sys_select-c++.
28678         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
28679         gl_MODULE_INDICATOR.
28680
28681         Tests of module 'sys_ioctl' in C++ mode.
28682         * tests/test-sys_ioctl-c++.cc: New file.
28683         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
28684         (Depends-on): Add ansi-c++-opt.
28685         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
28686         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
28687         gl_MODULE_INDICATOR.
28688
28689         Tests of module 'string' in C++ mode.
28690         * tests/test-string-c++.cc: New file.
28691         * modules/string-tests (Files): Add it and tests/signature.h.
28692         (Depends-on): Add ansi-c++-opt.
28693         (Makefile.am): Arrange to compile and run test-string-c++.
28694         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
28695         gl_MODULE_INDICATOR.
28696
28697         Tests of module 'stdlib' in C++ mode.
28698         * tests/test-stdlib-c++.cc: New file.
28699         * modules/stdlib-tests (Files): Add it and tests/signature.h.
28700         (Depends-on): Add ansi-c++-opt.
28701         (Makefile.am): Arrange to compile and run test-stdlib-c++.
28702         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
28703         gl_MODULE_INDICATOR.
28704
28705         Tests of module 'stdio' in C++ mode.
28706         * tests/test-stdio-c++.cc: New file.
28707         * modules/stdio-tests (Files): Add it and tests/signature.h.
28708         (Depends-on): Add ansi-c++-opt.
28709         (Makefile.am): Arrange to compile and run test-stdio-c++.
28710         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
28711         gl_MODULE_INDICATOR.
28712
28713         Tests of module 'spawn' in C++ mode.
28714         * tests/test-spawn-c++.cc: New file.
28715         * modules/spawn-tests (Files): Add it and tests/signature.h.
28716         (Depends-on): Add ansi-c++-opt.
28717         (Makefile.am): Arrange to compile and run test-spawn-c++.
28718         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
28719         gl_MODULE_INDICATOR.
28720
28721         Tests of module 'signal' in C++ mode.
28722         * tests/test-signal-c++.cc: New file.
28723         * modules/signal-tests (Files): Add it and tests/signature.h.
28724         (Depends-on): Add ansi-c++-opt.
28725         (Makefile.am): Arrange to compile and run test-signal-c++.
28726         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
28727         gl_MODULE_INDICATOR.
28728
28729         Tests of module 'search' in C++ mode.
28730         * tests/test-search-c++.cc: New file.
28731         * modules/search-tests (Files): Add it and tests/signature.h.
28732         (Depends-on): Add ansi-c++-opt.
28733         (Makefile.am): Arrange to compile and run test-search-c++.
28734         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
28735         gl_MODULE_INDICATOR.
28736
28737         Tests of module 'math' in C++ mode.
28738         * tests/test-math-c++.cc: New file.
28739         * modules/math-tests (Files): Add it and tests/signature.h.
28740         (Depends-on): Add ansi-c++-opt.
28741         (Makefile.am): Arrange to compile and run test-math-c++.
28742         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
28743
28744         Tests of module 'locale' in C++ mode.
28745         * tests/test-locale-c++.cc: New file.
28746         * modules/locale-tests (Files): Add it and tests/signature.h.
28747         (Depends-on): Add ansi-c++-opt.
28748         (Makefile.am): Arrange to compile and run test-locale-c++.
28749         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
28750         gl_MODULE_INDICATOR.
28751
28752         Tests of module 'langinfo' in C++ mode.
28753         * tests/test-langinfo-c++.cc: New file.
28754         * modules/langinfo-tests (Files): Add it and tests/signature.h.
28755         (Depends-on): Add ansi-c++-opt.
28756         (Makefile.am): Arrange to compile and run test-langinfo-c++.
28757         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
28758         gl_MODULE_INDICATOR.
28759
28760         Tests of module 'iconv-h' in C++ mode.
28761         * tests/test-iconv-h-c++.cc: New file.
28762         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
28763         (Depends-on): Add ansi-c++-opt.
28764         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
28765
28766         Tests of module 'glob' in C++ mode.
28767         * tests/test-glob-c++.cc: New file.
28768         * modules/glob-tests (Files): Add it.
28769         (Depends-on): Add ansi-c++-opt.
28770         (Makefile.am): Arrange to compile and run test-glob-c++.
28771
28772         Tests of module 'fcntl-h' in C++ mode.
28773         * tests/test-fcntl-h-c++.cc: New file.
28774         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
28775         (Depends-on): Add ansi-c++-opt.
28776         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
28777         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
28778         gl_MODULE_INDICATOR.
28779
28780         Tests of module 'dirent' in C++ mode.
28781         * tests/test-dirent-c++.cc: New file.
28782         * modules/dirent-tests (Files): Add it and tests/signature.h.
28783         (Depends-on): Add ansi-c++-opt.
28784         (Makefile.am): Arrange to compile and run test-dirent-c++.
28785         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
28786         gl_MODULE_INDICATOR.
28787
28788         New module 'ansi-c++-opt'.
28789         * modules/ansi-c++-opt: New file.
28790         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
28791
28792         Document C++ namespace mode.
28793         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
28794
28795         wctype: Avoid #define replacements in C++ mode.
28796         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
28797         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
28798         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
28799         In C++, define a namespaced alias symbol.
28800         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
28801         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
28802         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
28803         rule.
28804
28805         wchar: Avoid #define replacements in C++ mode.
28806         * lib/wchar.in.h: Include c++defs.h.
28807         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
28808         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
28809         symbol.
28810         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
28811         * modules/wchar (Depends-on): Add c++defs.
28812         (Makefile.am): Update wchar.h rule.
28813
28814         unistd: Avoid #define replacements in C++ mode.
28815         * lib/unistd.in.h: Include c++defs.h.
28816         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
28817         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
28818         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
28819         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
28820         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
28821         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
28822         symbol.
28823         (environ): Update.
28824         * modules/unistd (Depends-on): Add c++defs.
28825         (Makefile.am): Update unistd.h rule.
28826
28827         time: Avoid #define replacements in C++ mode.
28828         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
28829         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
28830         define a namespaced alias symbol.
28831         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
28832         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
28833         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
28834         * modules/time (Depends-on): Add c++defs, warn-on-use.
28835         (Makefile.am): Update time.h rule.
28836         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
28837         * modules/nanosleep (configure.ac): Likewise.
28838         * modules/strptime (configure.ac): Likewise.
28839         * modules/timegm (configure.ac): Likewise.
28840
28841         sys_time: Avoid #define replacements in C++ mode.
28842         * lib/sys_time.in.h: Include c++defs.h.
28843         (gettimeofday): In C++, define a namespaced alias symbol.
28844         * modules/sys_time (Depends-on): Add c++defs.
28845         (Makefile.am): Update sys/time.h rule.
28846
28847         sys_stat: Avoid #define replacements in C++ mode.
28848         * lib/sys_stat.in.h: Include c++defs.h.
28849         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
28850         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
28851         namespaced alias symbol.
28852         In C++, define a namespaced alias symbol.
28853         * modules/sys_stat (Depends-on): Add c++defs.
28854         (Makefile.am): Update sys/stat.h rule.
28855
28856         sys_socket: Avoid #define replacements in C++ mode.
28857         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
28858         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
28859         definitions also when the system has a <sys/socket.h>.
28860         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
28861         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
28862         In C++, define a namespaced alias symbol.
28863         * modules/sys_socket (Depends-on): Add c++defs.
28864         (Makefile.am): Update sys/socket.h rule.
28865
28866         sys_select: Avoid #define replacements in C++ mode.
28867         * lib/sys_select.in.h: Include c++defs.h. Enable the function
28868         definitions also when the system has a <sys/select.h>.
28869         (select): In C++, define a namespaced alias symbol.
28870         * modules/sys_select (Depends-on): Add c++defs.
28871         (Makefile.am): Update sys/select.h rule.
28872
28873         sys_ioctl: Avoid #define replacements in C++ mode.
28874         * lib/sys_ioctl.in.h: Include c++defs.h.
28875         (ioctl): In C++, define a namespaced alias symbol.
28876         * modules/sys_ioctl (Depends-on): Add c++defs.
28877         (Makefile.am): Update sys/ioctl.h rule.
28878
28879         string: Avoid #define replacements in C++ mode.
28880         * lib/string.in.h: Include c++defs.h.
28881         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
28882         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
28883         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
28884         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
28885         strsignal, strverscmp): In C++, define a namespaced alias symbol.
28886         * modules/string (Depends-on): Add c++defs.
28887         (Makefile.am): Update string.h rule.
28888
28889         stdlib: Avoid #define replacements in C++ mode.
28890         * lib/stdlib.in.h: Include c++defs.h.
28891         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
28892         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
28893         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
28894         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
28895         symbol.
28896         * modules/stdlib (Depends-on): Add c++defs.
28897         (Makefile.am): Update stdlib.h rule.
28898
28899         stdio: Avoid #define replacements in C++ mode.
28900         * lib/stdio.in.h: Include c++defs.h.
28901         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
28902         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
28903         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
28904         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
28905         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
28906         namespaced alias symbol.
28907         * modules/stdio (Depends-on): Add c++defs.
28908         (Makefile.am): Update stdio.h rule.
28909
28910         spawn: Avoid #define replacements in C++ mode.
28911         * lib/spawn.in.h: Include c++defs.h.
28912         (posix_spawn, posix_spawnp, posix_spawnattr_init,
28913         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
28914         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
28915         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
28916         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
28917         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
28918         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
28919         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
28920         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
28921         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
28922         In C++, define a namespaced alias symbol.
28923         * modules/spawn (Depends-on): Add c++defs.
28924         (Makefile.am): Update spawn.h rule.
28925
28926         signal: Avoid #define replacements in C++ mode.
28927         * lib/signal.in.h: Include c++defs.h.
28928         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
28929         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
28930         namespaced alias symbol.
28931         * modules/signal (Depends-on): Add c++defs.
28932         (Makefile.am): Update signal.h rule.
28933
28934         search: Avoid #define replacements in C++ mode.
28935         * lib/search.in.h: Include c++defs.h.
28936         (_gl_search_compar_fn, _gl_search_action_fn): New types.
28937         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
28938         symbol.
28939         * modules/search (Depends-on): Add c++defs.
28940         (Makefile.am): Update search.h rule.
28941
28942         math: Avoid #define replacements in C++ mode.
28943         * lib/math.in.h: Include c++defs.h.
28944         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
28945         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
28946         trunc, truncl): In C++, define a namespaced alias symbol.
28947         * modules/math (Depends-on): Add c++defs.
28948         (Makefile.am): Update math.h rule.
28949
28950         locale: Avoid #define replacements in C++ mode.
28951         * lib/locale.in.h: Include c++defs.h.
28952         (duplocale): In C++, define a namespaced alias symbol.
28953         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
28954         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
28955         * modules/locale (Depends-on): Add c++defs.
28956         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
28957
28958         langinfo: Avoid #define replacements in C++ mode.
28959         * lib/langinfo.in.h: Include c++defs.h.
28960         (nl_langinfo): In C++, define a namespaced alias symbol.
28961         * modules/langinfo (Depends-on): Add c++defs.
28962         (Makefile.am): Update langinfo.h rule.
28963
28964         iconv-h: Avoid #define replacements in C++ mode.
28965         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
28966         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
28967         symbol.
28968         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
28969         whenever iconv is present.
28970         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
28971         (Makefile.am): Update iconv.h rule.
28972
28973         glob: Avoid #define replacements in C++ mode.
28974         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
28975         (_gl_glob_errfunc_fn): New type.
28976         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
28977         symbol.
28978         * modules/glob (Depends-on): Add c++defs, warn-on-use.
28979         (Makefile.am): Update glob.h rule.
28980
28981         fcntl-h: Avoid #define replacements in C++ mode.
28982         * lib/fcntl.in.h: Include c++defs.h.
28983         (fcntl, open, openat): In C++, define a namespaced alias symbol.
28984         * modules/fcntl-h (Depends-on): Add c++defs.
28985         (Makefile.am): Update fcntl.h rule.
28986
28987         dirent: Avoid #define replacements in C++ mode.
28988         * lib/dirent.in.h: Include c++defs.h.
28989         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
28990         namespaced alias symbol.
28991         (dirfd): Update declaration.
28992         * modules/dirent (Depends-on): Add c++defs.
28993         (Makefile.am): Update dirent.h rule.
28994
28995         ctype: Make it usable in C++ code.
28996         * lib/ctype.in.h: Include c++defs.h.
28997         (isblank): Declare as extern "C".
28998         * modules/ctype (Depends-on): Add c++defs.
28999         (Makefile.am): Update ctype.h rule.
29000
29001         New module 'c++defs'.
29002         * modules/c++defs: New file.
29003         * build-aux/c++defs.h: New file.
29004         Reported by John W. Eaton <jwe@gnu.org>.
29005
29006 2010-03-07  Bruno Haible  <bruno@clisp.org>
29007
29008         logb: Provide missing declaration for Cygwin.
29009         * lib/math.in.h (logb): New declaration.
29010         * m4/logb.m4: New file.
29011         * modules/logb (Files): Add m4/logb.m4.
29012         (Depends-on): Add math.
29013         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
29014         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
29015         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
29016         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
29017         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
29018
29019 2010-03-07  Bruno Haible  <bruno@clisp.org>
29020
29021         Fix test-cond link error.
29022         * tests/test-cond.c: Include <stdio.h>.
29023
29024 2010-03-07  Bruno Haible  <bruno@clisp.org>
29025
29026         Fix test-dirent-safer link error.
29027         * modules/dirent-safer-tests (Makefile.am): Define
29028         test_dirent_safer_LDADD.
29029
29030 2010-03-07  Bruno Haible  <bruno@clisp.org>
29031
29032         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
29033         among default module list.
29034
29035 2010-03-07  Bruno Haible  <bruno@clisp.org>
29036
29037         Fix link error on platforms with GNU libiconv.
29038         * modules/unistr/u8-strcoll-tests (Makefile): Define
29039         test_u8_strcoll_LDADD.
29040         * modules/unistr/u16-strcoll-tests (Makefile): Define
29041         test_u16_strcoll_LDADD.
29042         * modules/unistr/u32-strcoll-tests (Makefile): Define
29043         test_u32_strcoll_LDADD.
29044
29045 2010-03-07  Bruno Haible  <bruno@clisp.org>
29046
29047         Use POSIX declarations for socket functions.
29048         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
29049         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
29050         rpl_sendto): Change declaration to match POSIX.
29051         * lib/connect.c (rpl_connect): Likewise.
29052         * lib/accept.c (rpl_accept): Likewise.
29053         * lib/bind.c (rpl_bind): Likewise.
29054         * lib/getpeername.c (rpl_getpeername): Likewise.
29055         * lib/getsockname.c (rpl_getsockname): Likewise.
29056         * lib/recv.c (rpl_recv): Likewise.
29057         * lib/send.c (rpl_send): Likewise.
29058         * lib/recvfrom.c (rpl_recvfrom): Likewise.
29059         * lib/sendto.c (rpl_sendto): Likewise.
29060
29061 2010-03-06  Bruno Haible  <bruno@clisp.org>
29062
29063         Clarify access, euidaccess, faccessat.
29064         * doc/posix-functions/faccessat.texi: Mention security problem under
29065         "Other problems", not "Portability problems".
29066         * doc/posix-functions/access.texi: Likewise. Mention a related security
29067         problem.
29068         * doc/glibc-functions/euidaccess.texi: Mention security problems.
29069         * lib/euidaccess.c: Add comments about platforms.
29070         * lib/unistd.in.h (access, euidaccess): Add warnings.
29071
29072 2010-03-07  Bruno Haible  <bruno@clisp.org>
29073
29074         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
29075         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
29076         (POSIX_SPAWN_SETSCHEDULER): Likewise.
29077         (POSIX_SPAWN_USEVFORK): Define in a way that works when
29078         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29079         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
29080         declare when POSIX_SPAWN_SETSCHEDULER is zero.
29081         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
29082         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
29083         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
29084         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
29085         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
29086         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
29087         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
29088         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
29089         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
29090         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
29091         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
29092         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
29093         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
29094         Likewise.
29095         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
29096         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
29097         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
29098         Likewise.
29099         * tests/test-spawn.c (main): Make it work when
29100         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
29101
29102 2010-03-07  Bruno Haible  <bruno@clisp.org>
29103
29104         Fix incorrect Makefile.am generation in German locale.
29105         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29106         Execute sed command with character range in C locale.
29107
29108 2010-03-06  Bruno Haible  <bruno@clisp.org>
29109
29110         Tests for module 'iconv-h'.
29111         * modules/iconv-h-tests: New file.
29112         * tests/test-iconv-h.c: New file.
29113
29114         New module 'iconv-h'.
29115         * modules/iconv-h: New file.
29116         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
29117         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
29118         (configure.ac): Remove gl_ICONV_H.
29119         (Makefile.am): Remove rule for iconv.h.
29120
29121 2010-03-06  Bruno Haible  <bruno@clisp.org>
29122
29123         More consistent naming of *.m4 files.
29124         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
29125         * modules/wctype (Files): Update.
29126
29127         More consistent naming of *.m4 files.
29128         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
29129         * modules/wchar (Files): Update.
29130
29131 2010-03-06  Jim Meyering  <meyering@redhat.com>
29132
29133         euidaccess: relax license to LGPLv2+
29134         * modules/euidaccess (License): Relax to LGPLv2+.
29135
29136 2010-03-06  Bruno Haible  <bruno@clisp.org>
29137
29138         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
29139         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
29140         (Makefile.am): Augment lib_SOURCES instead.
29141
29142 2010-03-04  Jim Meyering  <meyering@redhat.com>
29143
29144         utime: remove obsolete module
29145         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
29146         unnecessary for years, and has been marked as obsolete for 10 months.
29147         * modules/utime: Remove file.
29148         * lib/utime.c: Remove file.
29149         * m4/utime.m4: Remove file.
29150         * m4/utimes-null.m4: Remove file.
29151         * doc/posix-functions/utime.texi (utime): Remove reference to
29152         the module.  Move the sole "fixed by gnulib" item into the
29153         "problems not fixed by Gnulib" list.
29154         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
29155
29156 2010-03-05  Simon Josefsson  <simon@josefsson.org>
29157
29158         * modules/exit (License): Relax license to LGPLv2+.
29159         (Status): Mark as obsolete.
29160         * NEWS: Mention deprecated 'exit' module.
29161         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
29162         of now obsolete 'exit'.
29163
29164 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29165
29166         fts-lgpl: remove unused module
29167         * modules/fts-lgpl: Remove.
29168         * MODULES.html.sh (func_all_modules): Adjust.
29169         * check-module (find_included_lib_files): Adjust.
29170         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
29171
29172 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
29173
29174         copy-acl: enhance Solaris ACL error handling
29175         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
29176         * lib/set-mode-acl.c (qset_acl): Likewise.
29177
29178 2010-03-02  Bruno Haible  <bruno@clisp.org>
29179
29180         spawn: Don't override the system defined values on FreeBSD 8.
29181         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
29182         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
29183         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
29184         if HAVE_POSIX_SPAWN is 1.
29185         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
29186
29187 2010-03-01  Bruno Haible  <bruno@clisp.org>
29188
29189         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
29190         regarding Automake.
29191
29192 2010-02-25  Bruno Haible  <bruno@clisp.org>
29193
29194         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
29195         * gnulib-tool: Define 'echo' as a function only before the ksh alias
29196         setting, not afterwards.
29197         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
29198
29199 2010-02-24  Eric Blake  <eblake@redhat.com>
29200
29201         bootstrap, git-version-gen: use timestamp
29202         * build-aux/git-version-gen (scriptversion): Force UTC.
29203         * build-aux/bootstrap (scriptversion): New variable.
29204
29205         bootstrap: allow older git
29206         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
29207         older than 1.6.4.  Requested by the libvirt project.
29208
29209 2010-02-23  Eric Blake  <eblake@redhat.com>
29210
29211         warn-on-use: work with old autoconf
29212         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
29213         AS_VAR semantics of autoconf 2.60.
29214         Reported by Bruno Haible.
29215
29216         bootstrap: improve some comments
29217         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
29218         clarification comments.
29219
29220         gettimeofday: provide correct function
29221         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
29222         when replacement is declared, otherwise provide gettimeofday.
29223         Reported by Michael Goffioul.
29224
29225 2010-02-23  Jim Meyering  <meyering@redhat.com>
29226
29227         lib-ignore: relax license to "unlimited", not LGPLv2+
29228         * modules/lib-ignore (License): Relax to "unlimited".
29229
29230 2010-02-23  Jim Meyering  <meyering@redhat.com>
29231
29232         lib-ignore: relax license to LGPLv2+
29233         * modules/lib-ignore (License): Relax to LGPLv2+.
29234
29235 2010-02-22  Eric Blake  <eblake@redhat.com>
29236
29237         lseek: avoid bash 3.2 broken pipe bug
29238         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
29239         warning from bash 3.2.
29240         Reported by Ben Pfaff, with analysis from Bruno Haible.
29241
29242         bootstrap: support non-FSF copyright holder
29243         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
29244         bootstrap.conf override of COPYRIGHT_HOLDER.
29245         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
29246
29247         bootstrap: interoperate with gettext 0.14.1
29248         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
29249
29250         bootstrap: allow for alternate submodule location
29251         * build-aux/bootstrap (gnulib_path): New variable; use instead of
29252         hardcoding submodule location.
29253         (gnulib_mk): Allow direct use of Makefile.am.
29254
29255         bootstrap: use GNULIB_SRCDIR to reduce disk usage
29256         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
29257         rather than reconfiguring where the submodule points.
29258
29259         gettimeofday: restore support for platforms that lack function
29260         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
29261         replacement if function is missing.
29262         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
29263         * modules/sys_time (Makefile.am): Substitute it.
29264         * lib/sys_time.in.h (gettimeofday): Check it.
29265         Reported by Michael Goffioul.
29266
29267 2010-02-21  Bruno Haible  <bruno@clisp.org>
29268
29269         * lib/stdio.in.h (obstack_printf): Fix typo.
29270
29271 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
29272
29273         vc-list-files: use bzr ls's -R option
29274         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
29275         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
29276
29277 2010-02-21  Jim Meyering  <meyering@redhat.com>
29278
29279         init.sh: fix EXEEXT shims to work also for names like test-prog
29280         * tests/init.sh: Re-exec a better shell, when needed.
29281         If the current shell lacks support for posix $(...), an init.sh-using
29282         test will now try to find a shell that supports that.  If EXEEXT is
29283         nonempty, we also require support for hyphen-in-alias-name and shell
29284         substitutions like ${var#glob}.  Failure to find such a shell results
29285         in a skipped test.
29286
29287 2010-02-21  Bruno Haible  <bruno@clisp.org>
29288
29289         Really work around around "broken pipe" error message from bash 3.2.
29290         * gnulib-tool (func_reset_sigpipe): Remove function.
29291         (echo): In bash 3.2, define to a function that uses printf.
29292         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
29293
29294 2010-02-20  Bruno Haible  <bruno@clisp.org>
29295
29296         Restore support for automake 1.9.6 with autoconf 2.61.
29297         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
29298         Reported by James Youngman <jay@gnu.org>.
29299
29300 2010-02-20  Bruno Haible  <bruno@clisp.org>
29301
29302         Improve *printf warning condition.
29303         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
29304         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
29305         and the function is overridden due to SIGPIPE emulation.
29306
29307 2010-02-20  Bruno Haible  <bruno@clisp.org>
29308
29309         * lib/stdio.in.h: Tweak comments.
29310
29311 2010-02-19  Bruno Haible  <bruno@clisp.org>
29312
29313         Make it easier to find modules. New gnulib-tool option '--find'.
29314         * gnulib-tool: New option --find.
29315         (func_usage): Document it.
29316         (func_sanitize_modulelist): New function, extracted from
29317         func_all_modules.
29318         (func_all_modules): Invoke it.
29319         * doc/gnulib-tool.texi (Which modules?): New node.
29320
29321 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
29322
29323         * lib/sys_select.in.h: Provide select replacement even if
29324         sys/select.h exists on a system, for Interix.
29325
29326 2010-02-18  Jim Meyering  <meyering@redhat.com>
29327
29328         init.sh: don't use $(...) just yet
29329         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
29330         to accommodate e.g., Solaris' /bin/sh.
29331
29332 2010-02-17  Bruno Haible  <bruno@clisp.org>
29333
29334         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
29335         Reported by Ludovic Courtès <ludo@gnu.org>.
29336
29337 2010-02-16  Simon Josefsson  <simon@josefsson.org>
29338
29339         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
29340         linking with -lintl.
29341
29342 2010-02-17  Simon Josefsson  <simon@josefsson.org>
29343
29344         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
29345         if not provided by the system's netdb.h.  Reported by
29346         ludo@gnu.org (Ludovic Courtès).
29347
29348 2010-02-15  Jim Meyering  <meyering@redhat.com>
29349
29350         init.sh: improve portability and efficiency
29351         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
29352         "dummy" in a for loop.
29353         Use '!', not '^' to select the complement of a character set used
29354         in a "case" statement.
29355         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
29356         Suggestions from Eric Blake.
29357
29358         init.sh: automatically accommodate programs with the .exe suffix
29359         Automatically arrange for an invocation of "prog" to execute the
29360         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
29361         may use the simpler "prog", yet still work when built on a system
29362         that requires specifying the added suffix.
29363         Do this by constructing a function named "prog" that invokes
29364         "prog.exe" for each .exe file in selected directories.
29365         * tests/init.sh (find_exe_basenames_): New function.
29366         (create_exe_shim_functions_): New function.
29367         (path_prepend_): Use it.
29368
29369         maint.mk: mark syntax-check sc_*.m rules as .PHONY
29370         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
29371         "make -t syntax-check" doesn't create a ton of sc_*.m files.
29372
29373 2010-02-14  Jim Meyering  <meyering@redhat.com>
29374
29375         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
29376         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
29377         (sc_prohibit_hash_pjw_without_use): New rule.
29378
29379         maint.mk: allow the default upload destination dir to be overridden
29380         * top/maint.mk (upload_dest_dir_): Define with a default that
29381         preserves the status quo.
29382         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
29383         Reported by Peter Simons.
29384
29385         maint.mk: prohibit inclusion of "hash.h" without_use
29386         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
29387
29388 2010-02-10  Jim Meyering  <meyering@redhat.com>
29389
29390         maint.mk: prohibit inclusion of "ignore-value.h" without_use
29391         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
29392
29393 2010-02-09  Eric Blake  <ebb9@byu.net>
29394         and Bruno Haible  <bruno@clisp.org>
29395
29396         obstack-printf-posix: ensure declaration
29397         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
29398         extracted from gl_FUNC_OBSTACK_PRINTF.
29399         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
29400         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
29401         Likewise.
29402         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
29403         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
29404         0.
29405
29406 2010-02-08  Bruno Haible  <bruno@clisp.org>
29407
29408         gnulib-tool: Fix typo in 2010-02-07 commit.
29409         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
29410         Reported by Eric Blake.
29411
29412 2010-02-07  Bruno Haible  <bruno@clisp.org>
29413
29414         gnulib-tool: Fix up caching patches.
29415         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
29416         option --no-cache. Use associative arrays when supported by the shell.
29417         (sed_comments): New variable.
29418         (modcache): Renamed from do_cache.
29419         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
29420         abbreviate unnecessarily.
29421         (have_associative): New variable.
29422         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
29423         way also for ksh and zsh.
29424         (func_init_sed_convert_to_cache_statements): New function, extracted
29425         from func_cache_lookup_module. Add support for associative arrays.
29426         Don't set the c_MODULE_cached variable here. Ignore all lines before
29427         the first field header. Remove only the final newline, not all trailing
29428         newlines. Support empty fields correctly. Limit the use of 'eval' to
29429         assignments.
29430         (func_get_description, func_get_status, func_get_notice,
29431         func_get_applicability, func_get_filelist, func_get_dependencies,
29432         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
29433         func_get_automake_snippet, func_get_include_directive,
29434         func_get_link_directive, func_get_license, func_get_maintainer):
29435         Update documentation. List the unoptimized code first. Add support for
29436         associative arrays. Limit the use of 'eval' to assignments.
29437         (func_get_applicability): Undo stylistic pessimisations.
29438         (func_get_automake_snippet, func_get_include_directive): Reduce code
29439         duplication.
29440         (func_modules_transitive_closure, func_modules_add_dummy,
29441         func_modules_notice, func_modules_to_filelist, func_add_file,
29442         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
29443         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
29444         func_create_testdir, func_create_megatestdir): Update documentation.
29445
29446 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29447
29448         * gnulib-tool (func_cache_lookup_module): Store the module name
29449         belonging to the cache variable; error out if two different
29450         module names map to the same cache variable name.
29451
29452 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29453
29454         gnulib-tool: Make caching optional.
29455         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
29456         Update matching short versions of --no-changelog.
29457         (func_usage): Update.
29458         (sed_extract_cache_prog): Renamed from ...
29459         (sed_extract_prog): ... this; revert to old extraction script.
29460         (func_get_description, func_get_status)
29461         (func_get_notice, func_get_applicability, func_get_filelist)
29462         (func_get_dependencies, func_get_autoconf_early_snippet)
29463         (func_get_autoconf_snippet, func_get_automake_snippet)
29464         (func_get_include_directive, func_get_link_directive)
29465         (func_get_license, func_get_maintainer): If $do_cache is false,
29466         use old, non-caching extraction scripts.
29467         Suggestion by Bruno Haible.
29468
29469 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29470
29471         gnulib-tool: cache module metainformation.
29472         * gnulib-tool (sed_extract_prog): Match newline before each
29473         header, and rewrite header to a shell variable suffix.
29474         (func_cache_var, func_cache_lookup_module): New functions,
29475         to turn a module name into a cache variable prefix, and to
29476         look up and cache module metainformation.
29477         (func_get_description, func_get_status)
29478         (func_get_notice, func_get_applicability, func_get_filelist)
29479         (func_get_dependencies, func_get_autoconf_early_snippet)
29480         (func_get_autoconf_snippet, func_get_automake_snippet)
29481         (func_get_include_directive, func_get_link_directive)
29482         (func_get_license, func_get_maintainer): Use
29483         func_cache_lookup_module.
29484
29485 2010-02-07  Bruno Haible  <bruno@clisp.org>
29486
29487         fnctl: Fix missing dependency.
29488         * modules/fcntl (Depends-on): Add getdtablesize.
29489         Reported by John W. Eaton <jwe@gnu.org>.
29490
29491 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29492
29493         Argp: fix recognition of short alias options.
29494
29495         * lib/argp-parse.c (convert_options): Fix improper use of
29496         `|' between character values.
29497         * tests/test-argp.c (group1_option): New alias option
29498         --read (-r).
29499         (group1_parser): Special handling for 'r'.
29500         (test15): New test case.
29501         (test_fun): Add test15.
29502         * tests/test-argp-2.sh: Update expected --help and --usage
29503         outputs.
29504
29505 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
29506
29507         * tests/test-argp.c: Fix indentation.
29508
29509 2010-02-04  Eric Blake  <ebb9@byu.net>
29510
29511         gettimeofday: expose type of second argument
29512         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
29513         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
29514         * tests/test-gettimeofday.c: Use it to silence warning.
29515         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
29516         the issue.
29517
29518 2010-02-03  Jim Meyering  <meyering@redhat.com>
29519
29520         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
29521         * lib/regcomp.c (TYPE_SIGNED): Define.
29522         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
29523
29524         regcomp.c: avoid a new -Wshadow warning
29525         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
29526
29527 2010-02-01  Jim Meyering  <meyering@redhat.com>
29528
29529         removing useless parentheses in cpp #define directives
29530         For motivation, see commit c0221df4, "define STREQ(a,b)
29531         consistently, removing useless parentheses"
29532         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
29533         * lib/mountlist.c (MNT_IGNORE): Likewise.
29534         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
29535
29536 2010-02-01  Eric Blake  <ebb9@byu.net>
29537
29538         sys_time: use link-warning
29539         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
29540         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
29541         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
29542         * modules/sys_time (Depends-on): Add warn-on-use.
29543         (Makefile.am): Always build replacement.
29544         (configure.ac): Update substitutions.
29545         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
29546         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
29547         bother with SYS_TIME_H.
29548         * modules/gettimeofday (configure.ac): Declare indicator.
29549         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
29550         in use.
29551
29552         closein-tests: silence compiler warning
29553         * tests/test-closein.c (main): Ignore fread result.
29554         * modules/closein-tests (Depends-on): Add ignore-value.
29555
29556         tests: silence warning about system return
29557         * tests/test-areadlink-with-size.c (main): Ignore system result.
29558         * tests/test-areadlink.c (main): Likewise.
29559         * tests/test-areadlinkat-with-size.c (main): Likewise.
29560         * tests/test-areadlinkat.c (main): Likewise.
29561         * tests/test-canonicalize-lgpl.c (main): Likewise.
29562         * tests/test-canonicalize.c (main): Likewise.
29563         * tests/test-chown.c (main): Likewise.
29564         * tests/test-fchownat.c (main): Likewise.
29565         * tests/test-fdutimensat.c (main): Likewise.
29566         * tests/test-fstatat.c (main): Likewise.
29567         * tests/test-futimens.c (main): Likewise.
29568         * tests/test-lchown.c (main): Likewise.
29569         * tests/test-link.c (main): Likewise.
29570         * tests/test-linkat.c (main): Likewise.
29571         * tests/test-lstat.c (main): Likewise.
29572         * tests/test-mkdir.c (main): Likewise.
29573         * tests/test-mkdirat.c (main): Likewise.
29574         * tests/test-mkfifo.c (main): Likewise.
29575         * tests/test-mkfifoat.c (main): Likewise.
29576         * tests/test-mknod.c (main): Likewise.
29577         * tests/test-readlink.c (main): Likewise.
29578         * tests/test-remove.c (main): Likewise.
29579         * tests/test-rename.c (main): Likewise.
29580         * tests/test-renameat.c (main): Likewise.
29581         * tests/test-rmdir.c (main): Likewise.
29582         * tests/test-symlink.c (main): Likewise.
29583         * tests/test-symlinkat.c (main): Likewise.
29584         * tests/test-unlink.c (main): Likewise.
29585         * tests/test-unlinkat.c (main): Likewise.
29586         * tests/test-utimens.c (main): Likewise.
29587         * tests/test-utimensat.c (main): Likewise.
29588         * modules/areadlink-tests (Depends-on): Add ignore-value.
29589         * modules/areadlink-with-size-tests (Depends-on): Likewise.
29590         * modules/areadlinkat-tests (Depends-on): Likewise.
29591         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
29592         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
29593         * modules/canonicalize-tests (Depends-on): Likewise.
29594         * modules/chown-tests (Depends-on): Likewise.
29595         * modules/fdutimensat-tests (Depends-on): Likewise.
29596         * modules/futimens-tests (Depends-on): Likewise.
29597         * modules/lchown-tests (Depends-on): Likewise.
29598         * modules/link-tests (Depends-on): Likewise.
29599         * modules/linkat-tests (Depends-on): Likewise.
29600         * modules/lstat-tests (Depends-on): Likewise.
29601         * modules/mkdir-tests (Depends-on): Likewise.
29602         * modules/mkfifo-tests (Depends-on): Likewise.
29603         * modules/mkfifoat-tests (Depends-on): Likewise.
29604         * modules/mknod-tests (Depends-on): Likewise.
29605         * modules/openat-tests (Depends-on): Likewise.
29606         * modules/readlink-tests (Depends-on): Likewise.
29607         * modules/remove-tests (Depends-on): Likewise.
29608         * modules/rename-tests (Depends-on): Likewise.
29609         * modules/renameat-tests (Depends-on): Likewise.
29610         * modules/rmdir-tests (Depends-on): Likewise.
29611         * modules/symlink-tests (Depends-on): Likewise.
29612         * modules/symlinkat-tests (Depends-on): Likewise.
29613         * modules/unlink-tests (Depends-on): Likewise.
29614         * modules/utimens-tests (Depends-on): Likewise.
29615         * modules/utimensat-tests (Depends-on): Likewise.
29616
29617 2010-01-31  Bruno Haible  <bruno@clisp.org>
29618
29619         Perform the same test for many <math.h> functions.
29620         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
29621         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
29622         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
29623         of gl_MATHFUNC.
29624         * modules/acos (configure.ac): Likewise.
29625         * modules/asin (configure.ac): Likewise.
29626         * modules/atan (configure.ac): Likewise.
29627         * modules/atan2 (configure.ac): Likewise.
29628         * modules/cbrt (configure.ac): Likewise.
29629         * modules/copysign (configure.ac): Likewise.
29630         * modules/cos (configure.ac): Likewise.
29631         * modules/cosh (configure.ac): Likewise.
29632         * modules/erf (configure.ac): Likewise.
29633         * modules/erfc (configure.ac): Likewise.
29634         * modules/exp (configure.ac): Likewise.
29635         * modules/fmod (configure.ac): Likewise.
29636         * modules/hypot (configure.ac): Likewise.
29637         * modules/j0 (configure.ac): Likewise.
29638         * modules/j1 (configure.ac): Likewise.
29639         * modules/jn (configure.ac): Likewise.
29640         * modules/lgamma (configure.ac): Likewise.
29641         * modules/log (configure.ac): Likewise.
29642         * modules/log10 (configure.ac): Likewise.
29643         * modules/log1p (configure.ac): Likewise.
29644         * modules/pow (configure.ac): Likewise.
29645         * modules/remainder (configure.ac): Likewise.
29646         * modules/sin (configure.ac): Likewise.
29647         * modules/sinh (configure.ac): Likewise.
29648         * modules/tan (configure.ac): Likewise.
29649         * modules/tanh (configure.ac): Likewise.
29650         * modules/y0 (configure.ac): Likewise.
29651         * modules/y1 (configure.ac): Likewise.
29652         * modules/yn (configure.ac): Likewise.
29653         Suggested by Paolo Bonzini.
29654
29655 2010-01-31  Bruno Haible  <bruno@clisp.org>
29656
29657         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
29658
29659 2010-01-31  Bruno Haible  <bruno@clisp.org>
29660
29661         Work around getdelim() bug on FreeBSD 8.0.
29662         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
29663         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
29664         not work.
29665         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
29666         is 1.
29667         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
29668         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
29669         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
29670         a non-zero size.
29671         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
29672
29673 2010-01-31  Bruno Haible  <bruno@clisp.org>
29674
29675         Work around getline() bug on FreeBSD 8.0.
29676         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
29677         and a non-zero size.
29678         * tests/test-getline.c (main): Likewise.
29679         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
29680         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
29681
29682 2010-01-28  Eric Blake  <ebb9@byu.net>
29683
29684         regex: fix build failure
29685         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
29686         platforms.
29687
29688 2010-01-28  Jim Meyering  <meyering@redhat.com>
29689
29690         regex: do not ignore memory allocation failure
29691         * lib/regex_internal.c (create_cd_newstate): Detect
29692         re_node_set_init_copy failure.   Extracted from glibc commit
29693         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29694
29695         regex: sync more white-space changes from libc
29696         * lib/regex_internal.c: White-space only changes.
29697         * lib/regexec.c: Likewise.
29698
29699         regex: add many uses of __attribute_warn_unused_result__
29700         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
29701         * lib/regexec.c: Likewise.
29702         Extracted from a messy glibc commit.
29703
29704         regcomp.c: spelling and merge-artifact from glibc
29705         * lib/regcomp.c: Merge remainder of glibc's
29706         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29707
29708         regcomp.c: sync white-space changes from glibc
29709         * lib/regcomp.c: Merge to accommodate white space
29710         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
29711
29712         regcomp.c: do not ignore internal return values
29713         * lib/regcomp.c: Do not ignore internal return values.
29714         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
29715         but without its white-space changes and spelling fixes.
29716
29717         regex_internal.h: define __attribute_warn_unused_result__
29718         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
29719
29720         maint: add a syntax-check rule to check for vulnerable Makefile.in
29721         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
29722
29723 2010-01-27  Jim Meyering  <meyering@redhat.com>
29724
29725         ncftpput-ftp: clean up spaces
29726         * build-aux/ncftpput-ftp: Make Copyright line consistent.
29727         Remove trailing blanks.
29728
29729 2010-01-27  Simon Josefsson  <simon@josefsson.org>
29730
29731         * build-aux/git-version-gen: Fix copyright statement.
29732         * build-aux/gnupload: Likewise.
29733         * tests/test-arcfour.c: Likewise.
29734         * tests/test-arctwo.c: Likewise.
29735         * tests/test-count-one-bits.c: Likewise.
29736         * tests/test-crc.c: Likewise.
29737         * tests/test-des.c: Likewise.
29738         * tests/test-gc-arcfour.c: Likewise.
29739         * tests/test-gc-arctwo.c: Likewise.
29740         * tests/test-gc-des.c: Likewise.
29741         * tests/test-gc-hmac-md5.c: Likewise.
29742         * tests/test-gc-hmac-sha1.c: Likewise.
29743         * tests/test-gc-md2.c: Likewise.
29744         * tests/test-gc-md4.c: Likewise.
29745         * tests/test-gc-md5.c: Likewise.
29746         * tests/test-gc-pbkdf2-sha1.c: Likewise.
29747         * tests/test-gc-rijndael.c: Likewise.
29748         * tests/test-gc-sha1.c: Likewise.
29749         * tests/test-gc.c: Likewise.
29750         * tests/test-gethostname.c: Likewise.
29751         * tests/test-gettimeofday.c: Likewise.
29752         * tests/test-hash.c: Likewise.
29753         * tests/test-hmac-md5.c: Likewise.
29754         * tests/test-hmac-sha1.c: Likewise.
29755         * tests/test-md2.c: Likewise.
29756         * tests/test-md4.c: Likewise.
29757         * tests/test-md5.c: Likewise.
29758         * tests/test-memchr.c: Likewise.
29759         * tests/test-memchr2.c: Likewise.
29760         * tests/test-memcmp.c: Likewise.
29761         * tests/test-memmem.c: Likewise.
29762         * tests/test-memrchr.c: Likewise.
29763         * tests/test-rawmemchr.c: Likewise.
29764         * tests/test-read-file.c: Likewise.
29765         * tests/test-rijndael.c: Likewise.
29766         * tests/test-sockets.c: Likewise.
29767         * tests/test-strchrnul.c: Likewise.
29768         * tests/test-strstr.c: Likewise.
29769         * tests/test-strtod.c: Likewise.
29770         * build-aux/ncftpput-ftp: Likewise.
29771
29772 2010-01-26  Eric Blake  <ebb9@byu.net>
29773
29774         ignore-value: update recommended header name
29775         * modules/ignore-value (Include): Only use <> for headers that
29776         exist in glibc.
29777
29778 2010-01-26  Jim Meyering  <meyering@redhat.com>
29779
29780         test-userspec.c: avoid compiler warnings
29781         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
29782         and "initialization discards qualifiers..." warnings.
29783         Put the first "uid" in its own scope, and make char* members "const".
29784
29785 2010-01-25  Bruno Haible  <bruno@clisp.org>
29786
29787         gnulib-tool: Make warning diagnostics consistent.
29788         * gnulib-tool (func_warning): New function.
29789         Use it everywhere where gnulib-tool produces output to stderr and it is
29790         not a fatal error.
29791
29792 2010-01-25  Bruno Haible  <bruno@clisp.org>
29793
29794         Fix test dependencies.
29795         * modules/xstrtol-tests (Depends-on): Add inttypes.
29796         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
29797
29798 2010-01-25 Pádraig Brady <P@draigBrady.com>
29799
29800         syntax-check: detect incorrect boolean macro values in config.h
29801         * modules/maintainer-makefile (configure.ac): Parameterize the location
29802         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
29803         The logic is from Eric Blake and the location indicated by Jim Meyering.
29804         Note the more natural CONFIG_HEADER name is prohibited by automake
29805         for backwards compatibility reasons.
29806         * top/maint.mk (sc_Wundef_boolean): New rule.
29807
29808 2010-01-25  Jim Meyering  <meyering@redhat.com>
29809
29810         bootstrap: detect MacOS 10.6's shasum, too
29811         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
29812         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
29813
29814 2010-01-23  Jim Meyering  <meyering@redhat.com>
29815
29816         xstrtoll: new module
29817         * modules/xstrtoll: New file.
29818         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
29819         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
29820         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
29821         ./configure fails if you use this module and lack "long long".
29822         * modules/xstrtoll-tests: New module.
29823         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
29824         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
29825         new init.sh-based test framework.
29826
29827 2010-01-24  Bruno Haible  <bruno@clisp.org>
29828
29829         Tests for module 'yn'.
29830         * modules/yn-tests: New file.
29831         * tests/test-yn.c: New file.
29832
29833         Tests for module 'y1'.
29834         * modules/y1-tests: New file.
29835         * tests/test-y1.c: New file.
29836
29837         Tests for module 'y0'.
29838         * modules/y0-tests: New file.
29839         * tests/test-y0.c: New file.
29840
29841         Tests for module 'tanh'.
29842         * modules/tanh-tests: New file.
29843         * tests/test-tanh.c: New file.
29844
29845         Tests for module 'tan'.
29846         * modules/tan-tests: New file.
29847         * tests/test-tan.c: New file.
29848
29849         Tests for module 'sqrt'.
29850         * modules/sqrt-tests: New file.
29851         * tests/test-sqrt.c: New file.
29852
29853         Tests for module 'sinh'.
29854         * modules/sinh-tests: New file.
29855         * tests/test-sinh.c: New file.
29856
29857         Tests for module 'sin'.
29858         * modules/sin-tests: New file.
29859         * tests/test-sin.c: New file.
29860
29861         Tests for module 'rint'.
29862         * modules/rint-tests: New file.
29863         * tests/test-rint.c: New file.
29864
29865         Tests for module 'remainder'.
29866         * modules/remainder-tests: New file.
29867         * tests/test-remainder.c: New file.
29868
29869         Tests for module 'pow'.
29870         * modules/pow-tests: New file.
29871         * tests/test-pow.c: New file.
29872
29873         Tests for module 'nextafter'.
29874         * modules/nextafter-tests: New file.
29875         * tests/test-nextafter.c: New file.
29876
29877         Tests for module 'modf'.
29878         * modules/modf-tests: New file.
29879         * tests/test-modf.c: New file.
29880
29881         Tests for module 'logb'.
29882         * modules/logb-tests: New file.
29883         * tests/test-logb.c: New file.
29884
29885         Tests for module 'log1p'.
29886         * modules/log1p-tests: New file.
29887         * tests/test-log1p.c: New file.
29888
29889         Tests for module 'log10'.
29890         * modules/log10-tests: New file.
29891         * tests/test-log10.c: New file.
29892
29893         Tests for module 'log'.
29894         * modules/log-tests: New file.
29895         * tests/test-log.c: New file.
29896
29897         Tests for module 'lgamma'.
29898         * modules/lgamma-tests: New file.
29899         * tests/test-lgamma.c: New file.
29900
29901         Tests for module 'ldexp'.
29902         * modules/ldexp-tests: New file.
29903         * tests/test-ldexp.c: New file.
29904
29905         Tests for module 'jn'.
29906         * modules/jn-tests: New file.
29907         * tests/test-jn.c: New file.
29908
29909         Tests for module 'j1'.
29910         * modules/j1-tests: New file.
29911         * tests/test-j1.c: New file.
29912
29913         Tests for module 'j0'.
29914         * modules/j0-tests: New file.
29915         * tests/test-j0.c: New file.
29916
29917         Tests for module 'hypot'.
29918         * modules/hypot-tests: New file.
29919         * tests/test-hypot.c: New file.
29920
29921         Tests for module 'fmod'.
29922         * modules/fmod-tests: New file.
29923         * tests/test-fmod.c: New file.
29924
29925         Tests for module 'fabs'.
29926         * modules/fabs-tests: New file.
29927         * tests/test-fabs.c: New file.
29928
29929         Tests for module 'exp'.
29930         * modules/exp-tests: New file.
29931         * tests/test-exp.c: New file.
29932
29933         Tests for module 'erfc'.
29934         * modules/erfc-tests: New file.
29935         * tests/test-erfc.c: New file.
29936
29937         Tests for module 'erf'.
29938         * modules/erf-tests: New file.
29939         * tests/test-erf.c: New file.
29940
29941         Tests for module 'cosh'.
29942         * modules/cosh-tests: New file.
29943         * tests/test-cosh.c: New file.
29944
29945         Tests for module 'cos'.
29946         * modules/cos-tests: New file.
29947         * tests/test-cos.c: New file.
29948
29949         Tests for module 'copysign'.
29950         * modules/copysign-tests: New file.
29951         * tests/test-copysign.c: New file.
29952
29953         Tests for module 'cbrt'.
29954         * modules/cbrt-tests: New file.
29955         * tests/test-cbrt.c: New file.
29956
29957         Tests for module 'atan2'.
29958         * modules/atan2-tests: New file.
29959         * tests/test-atan2.c: New file.
29960
29961         Tests for module 'atan'.
29962         * modules/atan-tests: New file.
29963         * tests/test-atan.c: New file.
29964
29965         Tests for module 'asin'.
29966         * modules/asin-tests: New file.
29967         * tests/test-asin.c: New file.
29968
29969         Tests for module 'acos'.
29970         * modules/acos-tests: New file.
29971         * tests/test-acos.c: New file.
29972
29973 2010-01-24  Bruno Haible  <bruno@clisp.org>
29974
29975         Fix tests for common <math.h> functions.
29976         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
29977         code snippet that references the function pointer, rather than merely
29978         calling the function. Substitute the FUNC_LIBM variable.
29979         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
29980         * modules/acos (configure.ac): Likewise.
29981         * modules/asin (configure.ac): Likewise.
29982         * modules/atan (configure.ac): Likewise.
29983         * modules/atan2 (configure.ac): Likewise.
29984         * modules/cbrt (configure.ac): Likewise.
29985         * modules/copysign (configure.ac): Likewise.
29986         * modules/cos (configure.ac): Likewise.
29987         * modules/cosh (configure.ac): Likewise.
29988         * modules/erf (configure.ac): Likewise.
29989         * modules/erfc (configure.ac): Likewise.
29990         * modules/exp (configure.ac): Likewise.
29991         * modules/fabs (configure.ac): Likewise.
29992         * modules/fmod (configure.ac): Likewise.
29993         * modules/hypot (configure.ac): Likewise.
29994         * modules/j0 (configure.ac): Likewise.
29995         * modules/j1 (configure.ac): Likewise.
29996         * modules/jn (configure.ac): Likewise.
29997         * modules/ldexp (configure.ac): Likewise.
29998         * modules/lgamma (configure.ac): Likewise.
29999         * modules/log (configure.ac): Likewise.
30000         * modules/log10 (configure.ac): Likewise.
30001         * modules/log1p (configure.ac): Likewise.
30002         * modules/logb (configure.ac): Likewise.
30003         * modules/modf (configure.ac): Likewise.
30004         * modules/nextafter (configure.ac): Likewise.
30005         * modules/pow (configure.ac): Likewise.
30006         * modules/remainder (configure.ac): Likewise.
30007         * modules/rint (configure.ac): Likewise.
30008         * modules/sin (configure.ac): Likewise.
30009         * modules/sinh (configure.ac): Likewise.
30010         * modules/tan (configure.ac): Likewise.
30011         * modules/tanh (configure.ac): Likewise.
30012         * modules/y0 (configure.ac): Likewise.
30013         * modules/y1 (configure.ac): Likewise.
30014         * modules/yn (configure.ac): Likewise.
30015
30016 2010-01-24  Bruno Haible  <bruno@clisp.org>
30017
30018         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
30019         * tests/test-acosl.c (x): New variable.
30020         (main): Store argument in x and fetch it from x.
30021         * tests/test-asinl.c (x): New variable.
30022         (main): Store argument in x and fetch it from x.
30023         * tests/test-atanl.c (x): New variable.
30024         (main): Store argument in x and fetch it from x.
30025         * tests/test-cosl.c (x): New variable.
30026         (main): Store argument in x and fetch it from x.
30027         * tests/test-expl.c (x): New variable.
30028         (main): Store argument in x and fetch it from x.
30029         * tests/test-logl.c (x): New variable.
30030         (main): Store argument in x and fetch it from x.
30031         * tests/test-sinl.c (x): New variable.
30032         (main): Store argument in x and fetch it from x.
30033         * tests/test-sqrtl.c (x): New variable.
30034         (main): Store argument in x and fetch it from x.
30035         * tests/test-tanl.c (x): New variable.
30036         (main): Store argument in x and fetch it from x.
30037
30038 2010-01-24  Bruno Haible  <bruno@clisp.org>
30039
30040         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
30041         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
30042         assignments to the initial TESTS_ENVIRONMENT.
30043         * doc/gnulib.texi (Unit test modules): Document it.
30044         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
30045         TESTS_ENVIRONMENT.
30046         * modules/btowc-tests (Makefile.am): Likewise.
30047         * modules/c-stack-tests (Makefile.am): Likewise.
30048         * modules/c-strcase-tests (Makefile.am): Likewise.
30049         * modules/copy-file-tests (Makefile.am): Likewise.
30050         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
30051         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
30052         * modules/mbrtowc-tests (Makefile.am): Likewise.
30053         * modules/mbscasecmp-tests (Makefile.am): Likewise.
30054         * modules/mbscasestr-tests (Makefile.am): Likewise.
30055         * modules/mbschr-tests (Makefile.am): Likewise.
30056         * modules/mbscspn-tests (Makefile.am): Likewise.
30057         * modules/mbsinit-tests (Makefile.am): Likewise.
30058         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
30059         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
30060         * modules/mbspbrk-tests (Makefile.am): Likewise.
30061         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
30062         * modules/mbsrchr-tests (Makefile.am): Likewise.
30063         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
30064         * modules/mbsspn-tests (Makefile.am): Likewise.
30065         * modules/mbsstr-tests (Makefile.am): Likewise.
30066         * modules/nl_langinfo-tests (Makefile.am): Likewise.
30067         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
30068         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
30069         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
30070         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
30071         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
30072         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
30073         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
30074         * modules/wcrtomb-tests (Makefile.am): Likewise.
30075         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
30076         * modules/wcsrtombs-tests (Makefile.am): Likewise.
30077         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
30078         assignments from TESTS_ENVIRONMENT.
30079         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
30080         augmentation.
30081         * modules/argp-version-etc-tests (Makefile.am): Likewise.
30082         * modules/atexit-tests (Makefile.am): Likewise.
30083         * modules/binary-io-tests (Makefile.am): Likewise.
30084         * modules/closein-tests (Makefile.am): Likewise.
30085         * modules/dprintf-posix-tests (Makefile.am): Likewise.
30086         * modules/exclude-tests (Makefile.am): Likewise.
30087         * modules/fflush-tests (Makefile.am): Likewise.
30088         * modules/fpending-tests (Makefile.am): Likewise.
30089         * modules/fprintf-posix-tests (Makefile.am): Likewise.
30090         * modules/freadahead-tests (Makefile.am): Likewise.
30091         * modules/freadptr-tests (Makefile.am): Likewise.
30092         * modules/freadseek-tests (Makefile.am): Likewise.
30093         * modules/fseek-tests (Makefile.am): Likewise.
30094         * modules/fseeko-tests (Makefile.am): Likewise.
30095         * modules/ftell-tests (Makefile.am): Likewise.
30096         * modules/ftello-tests (Makefile.am): Likewise.
30097         * modules/idpriv-drop-tests (Makefile.am): Likewise.
30098         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
30099         * modules/lseek-tests (Makefile.am): Likewise.
30100         * modules/parse-duration-tests (Makefile.am): Likewise.
30101         * modules/perror-tests (Makefile.am): Likewise.
30102         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
30103         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
30104         * modules/pipe-tests (Makefile.am): Likewise.
30105         * modules/pread-tests (Makefile.am): Likewise.
30106         * modules/printf-posix-tests (Makefile.am): Likewise.
30107         * modules/select-tests (Makefile.am): Likewise.
30108         * modules/sigpipe-tests (Makefile.am): Likewise.
30109         * modules/tsearch-tests (Makefile.am): Likewise.
30110         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
30111         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
30112         * modules/uniname/uniname-tests (Makefile.am): Likewise.
30113         * modules/uniwidth/width-tests (Makefile.am): Likewise.
30114         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
30115         * modules/version-etc-tests (Makefile.am): Likewise.
30116         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
30117         * modules/vprintf-posix-tests (Makefile.am): Likewise.
30118         * modules/xalloc-die-tests (Makefile.am): Likewise.
30119         * modules/xprintf-posix-tests (Makefile.am): Likewise.
30120         * modules/xstrtoimax-tests (Makefile.am): Likewise.
30121         * modules/xstrtol-tests (Makefile.am): Likewise.
30122         * modules/xstrtoumax-tests (Makefile.am): Likewise.
30123         * modules/yesno-tests (Makefile.am): Likewise.
30124         Suggested by Jim Meyering.
30125
30126 2010-01-24  Bruno Haible  <bruno@clisp.org>
30127
30128         More documentation.
30129         * doc/gnulib.texi (Writing modules): New chapter.
30130         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
30131         the new chapter.
30132
30133 2010-01-24  Jim Meyering  <meyering@redhat.com>
30134
30135         maint.mk: do not prepend "./" after filtering
30136         * top/maint.mk (_prepend_srcdir_prefix): New variable
30137         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
30138         "./" when $(srcdir) is ".".
30139
30140         define STREQ(a,b) consistently, removing useless parentheses
30141         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
30142         since the only risk is that "a" or "b" contains an unparenthesized
30143         comma, but if either did that, STREQ would have 3 or more arguments.
30144         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
30145         * lib/fts.c (STREQ): Remove unnecessary parentheses.
30146         * lib/hash-triple.c (STREQ): Likewise.
30147         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
30148         * lib/getugroups.c (STREQ): Likewise.
30149
30150 2010-01-23  Jim Meyering  <meyering@redhat.com>
30151
30152         maint.mk: fix syntax-check in a non-srcdir build directory
30153         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
30154         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
30155
30156 2010-01-22  Jim Meyering  <meyering@redhat.com>
30157
30158         userspec: add unit tests
30159         * tests/test-userspec.c: New file.
30160         * modules/userspec-tests: Likewise.
30161
30162 2010-01-21  Jim Meyering  <meyering@redhat.com>
30163
30164         maint.mk: handle source file names containing "." robustly
30165         * top/maint.mk (_dot_escaped_srcdir): Define.
30166         (VC_LIST): Use it in LHS of sed substitution.
30167
30168 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
30169
30170         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
30171         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
30172         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
30173         from a non-srcdir build.
30174
30175 2010-01-20  Eric Blake  <ebb9@byu.net>
30176
30177         warn-on-use: use instead of link-warning
30178         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
30179         * modules/unistd (Depends-on, Makefile.am): Likewise.
30180         * modules/arpa_inet (Depends-on): Replace link-warning with
30181         warn-on-use.
30182         (Makefile.am): Update rules accordingly.
30183         * modules/ctype (Depends-on, Makefile.am): Likewise.
30184         * modules/dirent (Depends-on, Makefile.am): Likewise.
30185         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
30186         * modules/inttypes (Depends-on, Makefile.am): Likewise.
30187         * modules/langinfo (Depends-on, Makefile.am): Likewise.
30188         * modules/locale (Depends-on, Makefile.am): Likewise.
30189         * modules/math (Depends-on, Makefile.am): Likewise.
30190         * modules/search (Depends-on, Makefile.am): Likewise.
30191         * modules/signal (Depends-on, Makefile.am): Likewise.
30192         * modules/spawn (Depends-on, Makefile.am): Likewise.
30193         * modules/stdlib (Depends-on, Makefile.am): Likewise.
30194         * modules/string (Depends-on, Makefile.am): Likewise.
30195         * modules/strings (Depends-on, Makefile.am): Likewise.
30196         * modules/sys_file (Depends-on, Makefile.am): Likewise.
30197         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
30198         * modules/sys_select (Depends-on, Makefile.am): Likewise.
30199         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
30200         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
30201         * modules/sys_times (Depends-on, Makefile.am): Likewise.
30202         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
30203         * modules/wchar (Depends-on, Makefile.am): Likewise.
30204         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
30205         should be poisoned.
30206         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
30207         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
30208         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
30209         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
30210         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30211         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30212         * m4/math_h.m4 (gl_MATH_H): Likewise.
30213         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30214         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
30215         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30216         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
30217         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
30218         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
30219         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
30220         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
30221         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
30222         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30223         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
30224         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
30225         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30226         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30227         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
30228         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30229         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
30230         GL_LINK_WARNING.
30231         * lib/ctype.in.h: Likewise.
30232         * lib/dirent.in.h: Likewise.
30233         * lib/fcntl.in.h: Likewise.
30234         * lib/inttypes.in.h: Likewise.
30235         * lib/langinfo.in.h: Likewise.
30236         * lib/locale.in.h: Likewise.
30237         * lib/math.in.h: Likewise.
30238         * lib/search.in.h: Likewise.
30239         * lib/signal.in.h: Likewise.
30240         * lib/spawn.in.h: Likewise.
30241         * lib/stdio.in.h: Likewise.
30242         * lib/stdlib.in.h: Likewise.
30243         * lib/string.in.h: Likewise.
30244         * lib/strings.in.h: Likewise.
30245         * lib/sys_file.in.h: Likewise.
30246         * lib/sys_ioctl.in.h: Likewise.
30247         * lib/sys_select.in.h: Likewise.
30248         * lib/sys_socket.in.h: Likewise.
30249         * lib/sys_stat.in.h: Likewise.
30250         * lib/sys_times.in.h: Likewise.
30251         * lib/sys_utsname.in.h: Likewise.
30252         * lib/unistd.in.h: Likewise.
30253         * lib/wchar.in.h: Likewise.
30254
30255 2010-01-20  Bruno Haible  <bruno@clisp.org>
30256
30257         Avoid duplicate -lm.
30258         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
30259         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
30260         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
30261         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
30262         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
30263         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
30264         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
30265         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
30266         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
30267         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
30268         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
30269         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30270         Reported by Paolo Bonzini.
30271
30272 2010-01-19  Bruno Haible  <bruno@clisp.org>
30273
30274         langinfo, nl_langinfo: Relicense under LGPLv2+.
30275         * modules/langinfo (License): Change to LGPLv2+.
30276         * modules/nl_langinfo (License): Likewise.
30277         Patch by David Lutterkort <lutter@redhat.com>.
30278
30279 2010-01-19  Bruno Haible  <bruno@clisp.org>
30280
30281         Avoid compilation error with cc on OSF/1 5.1.
30282         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
30283         statement, not before.
30284         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30285
30286 2010-01-18  Bruno Haible  <bruno@clisp.org>
30287
30288         Avoid a link error due to the __printf__ symbol.
30289         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
30290         and 2.6.x.
30291         (__format__, __printf__): Remove definitions.
30292         * lib/argp-fmtstream.h: Likewise.
30293         * lib/argp.h: Likewise.
30294         * lib/error.h: Likewise.
30295         * lib/vasnprintf.h: Likewise.
30296         * lib/xprintf.h: Likewise.
30297         * lib/xvasprintf.h: Likewise.
30298         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30299
30300 2010-01-18  Bruno Haible  <bruno@clisp.org>
30301
30302         Tests for module 'tanl'.
30303         * modules/tanl-tests: New file.
30304         * tests/test-tanl.c: New file.
30305
30306         Tests for module 'sqrtl'.
30307         * modules/sqrtl-tests: New file.
30308         * tests/test-sqrtl.c: New file.
30309
30310         Tests for module 'sinl'.
30311         * modules/sinl-tests: New file.
30312         * tests/test-sinl.c: New file.
30313
30314         Tests for module 'logl'.
30315         * modules/logl-tests: New file.
30316         * tests/test-logl.c: New file.
30317
30318         Tests for module 'expl'.
30319         * modules/expl-tests: New file.
30320         * tests/test-expl.c: New file.
30321
30322         Tests for module 'cosl'.
30323         * modules/cosl-tests: New file.
30324         * tests/test-cosl.c: New file.
30325
30326         Tests for module 'atanl'.
30327         * modules/atanl-tests: New file.
30328         * tests/test-atanl.c: New file.
30329
30330         Tests for module 'asinl'.
30331         * modules/asinl-tests: New file.
30332         * tests/test-asinl.c: New file.
30333
30334         Tests for module 'acosl'.
30335         * modules/acosl-tests: New file.
30336         * tests/test-acosl.c: New file.
30337
30338         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30339         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
30340         tanl): Use the standard gnulib idiom.
30341         * lib/cosl.c: Don't include trigl.c and sincosl.c.
30342         * lib/sinl.c: Likewise.
30343         * lib/tanl.c: Don't include trigl.c.
30344         (kernel_tanl): Make static.
30345         * lib/sincosl.c: Include trigl.h first.
30346         * lib/trigl.c: Likewise.
30347         * m4/acosl.m4: New file.
30348         * m4/asinl.m4: New file.
30349         * m4/atanl.m4: New file.
30350         * m4/cosl.m4: New file.
30351         * m4/expl.m4: New file.
30352         * m4/logl.m4: New file.
30353         * m4/sinl.m4: New file.
30354         * m4/sqrtl.m4: New file.
30355         * m4/tanl.m4: New file.
30356         * m4/mathl.m4: Remove file.
30357         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
30358         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
30359         Don't initialize GNULIB_MATHL.
30360         * modules/acosl: New file.
30361         * modules/asinl: New file.
30362         * modules/atanl: New file.
30363         * modules/cosl: New file.
30364         * modules/expl: New file.
30365         * modules/logl: New file.
30366         * modules/sinl: New file.
30367         * modules/sqrtl: New file.
30368         * modules/tanl: New file.
30369         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
30370         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
30371         substitute GNULIB_MATHL.
30372         * modules/mathl: Rewritten.
30373         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
30374         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
30375         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
30376         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
30377         * doc/posix-functions/expl.texi: Mention the 'expl' module.
30378         * doc/posix-functions/logl.texi: Mention the 'logl' module.
30379         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
30380         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
30381         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
30382
30383 2010-01-18  Bruno Haible  <bruno@clisp.org>
30384
30385         sqrt: Make gl_FUNC_SQRT requirable.
30386         * m4/sqrt.m4: New file.
30387         * modules/sqrt (Files): Add it.
30388         (configure.ac): Invoke gl_FUNC_SQRT.
30389
30390 2010-01-18  Bruno Haible  <bruno@clisp.org>
30391
30392         New modules for common <math.h> functions.
30393         * m4/mathfunc.m4: New file.
30394         * modules/acos: New file.
30395         * modules/asin: New file.
30396         * modules/atan: New file.
30397         * modules/atan2: New file.
30398         * modules/cbrt: New file.
30399         * modules/copysign: New file.
30400         * modules/cos: New file.
30401         * modules/cosh: New file.
30402         * modules/erf: New file.
30403         * modules/erfc: New file.
30404         * modules/exp: New file.
30405         * modules/fabs: New file.
30406         * modules/fmod: New file.
30407         * modules/hypot: New file.
30408         * modules/j0: New file.
30409         * modules/j1: New file.
30410         * modules/jn: New file.
30411         * modules/ldexp: New file.
30412         * modules/lgamma: New file.
30413         * modules/log: New file.
30414         * modules/log10: New file.
30415         * modules/log1p: New file.
30416         * modules/logb: New file.
30417         * modules/modf: New file.
30418         * modules/nextafter: New file.
30419         * modules/pow: New file.
30420         * modules/remainder: New file.
30421         * modules/rint: New file.
30422         * modules/sin: New file.
30423         * modules/sinh: New file.
30424         * modules/sqrt: New file.
30425         * modules/tan: New file.
30426         * modules/tanh: New file.
30427         * modules/y0: New file.
30428         * modules/y1: New file.
30429         * modules/yn: New file.
30430         * doc/posix-functions/acos.texi: Mention the 'acos' module.
30431         * doc/posix-functions/asin.texi: Mention the 'asin' module.
30432         * doc/posix-functions/atan.texi: Mention the 'atan' module.
30433         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
30434         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
30435         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
30436         * doc/posix-functions/cos.texi: Mention the 'cos' module.
30437         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
30438         * doc/posix-functions/erf.texi: Mention the 'erf' module.
30439         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
30440         * doc/posix-functions/exp.texi: Mention the 'exp' module.
30441         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
30442         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
30443         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
30444         * doc/posix-functions/j0.texi: Mention the 'j0' module.
30445         * doc/posix-functions/j1.texi: Mention the 'j1' module.
30446         * doc/posix-functions/jn.texi: Mention the 'jn' module.
30447         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
30448         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
30449         * doc/posix-functions/log.texi: Mention the 'log' module.
30450         * doc/posix-functions/log10.texi: Mention the 'log10' module.
30451         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
30452         * doc/posix-functions/logb.texi: Mention the 'logb' module.
30453         * doc/posix-functions/modf.texi: Mention the 'modf' module.
30454         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
30455         * doc/posix-functions/pow.texi: Mention the 'pow' module.
30456         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
30457         * doc/posix-functions/rint.texi: Mention the 'rint' module.
30458         * doc/posix-functions/sin.texi: Mention the 'sin' module.
30459         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
30460         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
30461         * doc/posix-functions/tan.texi: Mention the 'tan' module.
30462         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
30463         * doc/posix-functions/y0.texi: Mention the 'y0' module.
30464         * doc/posix-functions/y1.texi: Mention the 'y1' module.
30465         * doc/posix-functions/yn.texi: Mention the 'yn' module.
30466
30467 2010-01-18  Jim Meyering  <meyering@redhat.com>
30468
30469         ignore-value: relax license to LGPLv2+
30470         * modules/ignore-value (License): Relax to LGPLv2+.
30471
30472         getdate: don't leak when TZ contains two or more '"'s
30473         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
30474         double quote in TZ after the first one.
30475
30476         readtokens: do not leak internal token_lengths buffer
30477         * lib/readtokens.c (readtokens): Free the local, lengths,
30478         when the supplied "token_lengths" parameter is NULL.
30479
30480 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30481
30482         Fix a couple of missing LIBTHREAD link failures on AIX.
30483         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
30484         $(LIBTHREAD).
30485         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
30486
30487         Link test-poll against INET_PTON_LIB.
30488         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
30489         for inet_pton on Solaris 10.
30490
30491 2010-01-17  Bruno Haible  <bruno@clisp.org>
30492
30493         unistdio/*-sprintf: Fix typo in module description.
30494         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
30495         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
30496         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
30497         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
30498         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
30499         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
30500         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
30501         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30502
30503 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30504
30505         gnulib-tool: fix filelist for AIX, HP-UX ksh.
30506         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
30507         variables in shell case patterns, for AIX and HP-UX ksh.
30508
30509         Split large sed scripts, for HP-UX sed.
30510         * modules/stdio: Split sed scripts around 50 sed commands,
30511         to avoid HP-UX limit of 99 commands, in the near future.
30512         * modules/string: Likewise.
30513         * modules/unistd: Likewise.
30514
30515         gnulib-tool: avoid writing in the current directory.
30516         * gnulib-tool (func_emit_lib_Makefile_am)
30517         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
30518         not in the current directory, so concurrent gnulib-tool
30519         instances do not interfere.
30520
30521 2010-01-16  Jim Meyering  <meyering@redhat.com>
30522
30523         doc: update users.txt
30524         * users.txt: Add grep.
30525         (diffutils, gzip): Update URLs.
30526
30527 2010-01-12  Bruno Haible  <bruno@clisp.org>
30528
30529         posix_spawn: Avoid test failure on Cygwin.
30530         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
30531         characters.
30532         Reported by Simon Josefsson.
30533
30534 2010-01-12  Bruno Haible  <bruno@clisp.org>
30535
30536         * tests/test-cond.c (main): When skipping the test, show the reason.
30537
30538 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30539
30540         * lib/striconv.c (str_cd_iconv): Avoid if before free.
30541
30542 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30543
30544         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
30545         VC_LIST_ALWAYS_EXCLUDE_REGEX.
30546
30547 2010-01-12  Eric Blake  <ebb9@byu.net>
30548
30549         build: guarantee AS_VAR_IF
30550         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
30551         (gl_AS_VAR_IF): Move...
30552         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
30553         Reported by Simon Josefsson.
30554
30555 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30556
30557         * lib/stdio.in.h: Fix typo.
30558
30559 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30560
30561         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
30562         libgpg-error.
30563
30564 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30565
30566         * tests/test-xalloc-die.sh: Use $EXEEXT.
30567
30568 2010-01-12  Simon Josefsson  <simon@josefsson.org>
30569             Bruno Haible  <bruno@clisp.org>
30570
30571         getlogin, getlogin_r: Avoid test failure.
30572         * tests/test-getlogin.c: Include <stdio.h>.
30573         (main): Skip the test when the function fails because stdin is not a
30574         tty.
30575         * tests/test-getlogin_r.c: Include <stdio.h>.
30576         (main): Skip the test when the function fails because stdin is not a
30577         tty.
30578
30579 2010-01-11  Eric Blake  <ebb9@byu.net>
30580
30581         tests: avoid more large file warnings
30582         * tests/test-fflush.c: Avoid warning about ftell use.
30583         * tests/test-fseek.c: Avoid warning about fseek use.
30584
30585 2010-01-10  Bruno Haible  <bruno@clisp.org>
30586
30587         nproc: Work better on Linux when /proc and /sys are not mounted.
30588         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
30589         as lower bound when, on glibc/Linux systems,
30590         sysconf (_SC_NPROCESSORS_CONF) returns 1.
30591         Suggested by Pádraig Brady <P@draigbrady.com>.
30592         Reported by Dmitry V. Levin <ldv@altlinux.org>.
30593
30594         nproc: Refactor.
30595         * lib/nproc.c (num_processors_via_affinity_mask): New function,
30596         extracted from num_processors.
30597         (num_processors): Call it.
30598
30599 2010-01-11  Jim Meyering  <meyering@redhat.com>
30600
30601         utimecmp: avoid new warning from upcoming gcc-4.5.0
30602         * lib/utimecmp.c (BILLION): Define using #define rather than an
30603         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
30604
30605 2010-01-11  Eric Blake  <ebb9@byu.net>
30606
30607         math: add portability warnings for classification macros
30608         * modules/math (Depends-on): Add warn-on-use.
30609         (Makefile.am): Provide new substitutions.
30610         * m4/math_h.m4 (gl_MATH_H): Require inline.
30611         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
30612         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
30613         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
30614         implement warnings.
30615
30616         unistd: warn on use of environ without module
30617         * modules/unistd (Depends-on): Add warn-on-use.
30618         (Makefile.am): Provide new substitutions.
30619         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
30620         * lib/unistd.in.h (environ): Wrap with a warning helper function.
30621
30622         stdio: warn on suspicious uses
30623         * modules/stdio (Depends-on): Add warn-on-use.
30624         (Makefile.am): Provide new substitutions.
30625         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
30626         fseeko.
30627         * lib/stdio.in.h (gets): Always warn on use.
30628         (fseek, ftell): Adjust when warnings are issued, and honor
30629         _GL_NO_LARGE_FILES as a way to silence the warning.
30630         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
30631         any warning about large file offsets.
30632         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
30633         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
30634         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
30635         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
30636         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
30637         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
30638         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
30639         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
30640
30641         warn-on-use: new module
30642         * modules/warn-on-use: New file.
30643         * build-aux/warn-on-use.h: Likewise.
30644         * m4/warn-on-use.m4: Likewise.
30645         * MODULES.html.sh (Support for building): Mention it.
30646
30647 2010-01-10  Bruno Haible  <bruno@clisp.org>
30648
30649         Tests for module 'unistr/u32-strdup'.
30650         * modules/unistr/u32-strdup-tests: New file.
30651         * tests/unistr/test-u32-strdup.c: New file.
30652
30653         Tests for module 'unistr/u16-strdup'.
30654         * modules/unistr/u16-strdup-tests: New file.
30655         * tests/unistr/test-u16-strdup.c: New file.
30656
30657         Tests for module 'unistr/u8-strdup'.
30658         * modules/unistr/u8-strdup-tests: New file.
30659         * tests/unistr/test-u8-strdup.c: New file.
30660         * tests/unistr/test-strdup.h: New file.
30661
30662         Tests for module 'unistr/u32-strncmp'.
30663         * modules/unistr/u32-strncmp-tests: New file.
30664         * tests/unistr/test-u32-strncmp.c: New file.
30665
30666         Tests for module 'unistr/u16-strncmp'.
30667         * modules/unistr/u16-strncmp-tests: New file.
30668         * tests/unistr/test-u16-strncmp.c: New file.
30669
30670         Tests for module 'unistr/u8-strncmp'.
30671         * modules/unistr/u8-strncmp-tests: New file.
30672         * tests/unistr/test-u8-strncmp.c: New file.
30673         * tests/unistr/test-strncmp.h: New file.
30674
30675         Tests for module 'unistr/u32-strcoll'.
30676         * modules/unistr/u32-strcoll-tests: New file.
30677         * tests/unistr/test-u32-strcoll.c: New file.
30678
30679         Tests for module 'unistr/u16-strcoll'.
30680         * modules/unistr/u16-strcoll-tests: New file.
30681         * tests/unistr/test-u16-strcoll.c: New file.
30682
30683         Tests for module 'unistr/u8-strcoll'.
30684         * modules/unistr/u8-strcoll-tests: New file.
30685         * tests/unistr/test-u8-strcoll.c: New file.
30686
30687         Tests for module 'unistr/u32-strcmp'.
30688         * modules/unistr/u32-strcmp-tests: New file.
30689         * tests/unistr/test-u32-strcmp.c: New file.
30690         * tests/unistr/test-u32-strcmp.h: New file.
30691
30692         Tests for module 'unistr/u16-strcmp'.
30693         * modules/unistr/u16-strcmp-tests: New file.
30694         * tests/unistr/test-u16-strcmp.c: New file.
30695         * tests/unistr/test-u16-strcmp.h: New file.
30696
30697         Tests for module 'unistr/u8-strcmp'.
30698         * modules/unistr/u8-strcmp-tests: New file.
30699         * tests/unistr/test-u8-strcmp.c: New file.
30700         * tests/unistr/test-u8-strcmp.h: New file.
30701         * tests/unistr/test-strcmp.h: New file.
30702
30703         Tests for module 'unistr/u32-strncat'.
30704         * modules/unistr/u32-strncat-tests: New file.
30705         * tests/unistr/test-u32-strncat.c: New file.
30706
30707         Tests for module 'unistr/u16-strncat'.
30708         * modules/unistr/u16-strncat-tests: New file.
30709         * tests/unistr/test-u16-strncat.c: New file.
30710
30711         Tests for module 'unistr/u8-strncat'.
30712         * modules/unistr/u8-strncat-tests: New file.
30713         * tests/unistr/test-u8-strncat.c: New file.
30714         * tests/unistr/test-strncat.h: New file.
30715
30716         Tests for module 'unistr/u32-strcat'.
30717         * modules/unistr/u32-strcat-tests: New file.
30718         * tests/unistr/test-u32-strcat.c: New file.
30719
30720         Tests for module 'unistr/u16-strcat'.
30721         * modules/unistr/u16-strcat-tests: New file.
30722         * tests/unistr/test-u16-strcat.c: New file.
30723
30724         Tests for module 'unistr/u8-strcat'.
30725         * modules/unistr/u8-strcat-tests: New file.
30726         * tests/unistr/test-u8-strcat.c: New file.
30727         * tests/unistr/test-strcat.h: New file.
30728
30729         Tests for module 'unistr/u32-stpncpy'.
30730         * modules/unistr/u32-stpncpy-tests: New file.
30731         * tests/unistr/test-u32-stpncpy.c: New file.
30732
30733         Tests for module 'unistr/u16-stpncpy'.
30734         * modules/unistr/u16-stpncpy-tests: New file.
30735         * tests/unistr/test-u16-stpncpy.c: New file.
30736
30737         Tests for module 'unistr/u8-stpncpy'.
30738         * modules/unistr/u8-stpncpy-tests: New file.
30739         * tests/unistr/test-u8-stpncpy.c: New file.
30740         * tests/unistr/test-stpncpy.h: New file.
30741
30742         Tests for module 'unistr/u32-strncpy'.
30743         * modules/unistr/u32-strncpy-tests: New file.
30744         * tests/unistr/test-u32-strncpy.c: New file.
30745
30746         Tests for module 'unistr/u16-strncpy'.
30747         * modules/unistr/u16-strncpy-tests: New file.
30748         * tests/unistr/test-u16-strncpy.c: New file.
30749
30750         Tests for module 'unistr/u8-strncpy'.
30751         * modules/unistr/u8-strncpy-tests: New file.
30752         * tests/unistr/test-u8-strncpy.c: New file.
30753         * tests/unistr/test-strncpy.h: New file.
30754
30755         Tests for module 'unistr/u32-stpcpy'.
30756         * modules/unistr/u32-stpcpy-tests: New file.
30757         * tests/unistr/test-u32-stpcpy.c: New file.
30758
30759         Tests for module 'unistr/u16-stpcpy'.
30760         * modules/unistr/u16-stpcpy-tests: New file.
30761         * tests/unistr/test-u16-stpcpy.c: New file.
30762
30763         Tests for module 'unistr/u8-stpcpy'.
30764         * modules/unistr/u8-stpcpy-tests: New file.
30765         * tests/unistr/test-u8-stpcpy.c: New file.
30766         * tests/unistr/test-stpcpy.h: New file.
30767
30768         Tests for module 'unistr/u32-strcpy'.
30769         * modules/unistr/u32-strcpy-tests: New file.
30770         * tests/unistr/test-u32-strcpy.c: New file.
30771
30772         Tests for module 'unistr/u16-strcpy'.
30773         * modules/unistr/u16-strcpy-tests: New file.
30774         * tests/unistr/test-u16-strcpy.c: New file.
30775
30776         Tests for module 'unistr/u8-strcpy'.
30777         * modules/unistr/u8-strcpy-tests: New file.
30778         * tests/unistr/test-u8-strcpy.c: New file.
30779         * tests/unistr/test-strcpy.h: New file.
30780
30781         Tests for module 'unistr/u32-strnlen'.
30782         * modules/unistr/u32-strnlen-tests: New file.
30783         * tests/unistr/test-u32-strnlen.c: New file.
30784
30785         Tests for module 'unistr/u16-strnlen'.
30786         * modules/unistr/u16-strnlen-tests: New file.
30787         * tests/unistr/test-u16-strnlen.c: New file.
30788
30789         Tests for module 'unistr/u8-strnlen'.
30790         * modules/unistr/u8-strnlen-tests: New file.
30791         * tests/unistr/test-u8-strnlen.c: New file.
30792         * tests/unistr/test-strnlen.h: New file.
30793
30794         Tests for module 'unistr/u32-strlen'.
30795         * modules/unistr/u32-strlen-tests: New file.
30796         * tests/unistr/test-u32-strlen.c: New file.
30797
30798         Tests for module 'unistr/u16-strlen'.
30799         * modules/unistr/u16-strlen-tests: New file.
30800         * tests/unistr/test-u16-strlen.c: New file.
30801
30802         Tests for module 'unistr/u8-strlen'.
30803         * modules/unistr/u8-strlen-tests: New file.
30804         * tests/unistr/test-u8-strlen.c: New file.
30805
30806         Tests for module 'unistr/u32-prev'.
30807         * modules/unistr/u32-prev-tests: New file.
30808         * tests/unistr/test-u32-prev.c: New file.
30809
30810         Tests for module 'unistr/u16-prev'.
30811         * modules/unistr/u16-prev-tests: New file.
30812         * tests/unistr/test-u16-prev.c: New file.
30813
30814         Tests for module 'unistr/u8-prev'.
30815         * modules/unistr/u8-prev-tests: New file.
30816         * tests/unistr/test-u8-prev.c: New file.
30817
30818         Tests for module 'unistr/u32-next'.
30819         * modules/unistr/u32-next-tests: New file.
30820         * tests/unistr/test-u32-next.c: New file.
30821
30822         Tests for module 'unistr/u16-next'.
30823         * modules/unistr/u16-next-tests: New file.
30824         * tests/unistr/test-u16-next.c: New file.
30825
30826         Tests for module 'unistr/u8-next'.
30827         * modules/unistr/u8-next-tests: New file.
30828         * tests/unistr/test-u8-next.c: New file.
30829
30830         Tests for module 'unistr/u32-strmbtouc'.
30831         * modules/unistr/u32-strmbtouc-tests: New file.
30832         * tests/unistr/test-u32-strmbtouc.c: New file.
30833
30834         Tests for module 'unistr/u16-strmbtouc'.
30835         * modules/unistr/u16-strmbtouc-tests: New file.
30836         * tests/unistr/test-u16-strmbtouc.c: New file.
30837
30838         Tests for module 'unistr/u8-strmbtouc'.
30839         * modules/unistr/u8-strmbtouc-tests: New file.
30840         * tests/unistr/test-u8-strmbtouc.c: New file.
30841
30842         Tests for module 'unistr/u32-strmblen'.
30843         * modules/unistr/u32-strmblen-tests: New file.
30844         * tests/unistr/test-u32-strmblen.c: New file.
30845
30846         Tests for module 'unistr/u16-strmblen'.
30847         * modules/unistr/u16-strmblen-tests: New file.
30848         * tests/unistr/test-u16-strmblen.c: New file.
30849
30850         Tests for module 'unistr/u8-strmblen'.
30851         * modules/unistr/u8-strmblen-tests: New file.
30852         * tests/unistr/test-u8-strmblen.c: New file.
30853
30854         Tests for module 'unistr/u32-cpy-alloc'.
30855         * modules/unistr/u32-cpy-alloc-tests: New file.
30856         * tests/unistr/test-u32-cpy-alloc.c: New file.
30857
30858         Tests for module 'unistr/u16-cpy-alloc'.
30859         * modules/unistr/u16-cpy-alloc-tests: New file.
30860         * tests/unistr/test-u16-cpy-alloc.c: New file.
30861
30862         Tests for module 'unistr/u8-cpy-alloc'.
30863         * modules/unistr/u8-cpy-alloc-tests: New file.
30864         * tests/unistr/test-u8-cpy-alloc.c: New file.
30865         * tests/unistr/test-cpy-alloc.h: New file.
30866
30867         Tests for module 'unistr/u32-mbsnlen'.
30868         * modules/unistr/u32-mbsnlen-tests: New file.
30869         * tests/unistr/test-u32-mbsnlen.c: New file.
30870
30871         Tests for module 'unistr/u16-mbsnlen'.
30872         * modules/unistr/u16-mbsnlen-tests: New file.
30873         * tests/unistr/test-u16-mbsnlen.c: New file.
30874
30875         Tests for module 'unistr/u8-mbsnlen'.
30876         * modules/unistr/u8-mbsnlen-tests: New file.
30877         * tests/unistr/test-u8-mbsnlen.c: New file.
30878
30879         Tests for module 'unistr/u32-chr'.
30880         * modules/unistr/u32-chr-tests: New file.
30881         * tests/unistr/test-u32-chr.c: New file.
30882
30883         Tests for module 'unistr/u16-chr'.
30884         * modules/unistr/u16-chr-tests: New file.
30885         * tests/unistr/test-u16-chr.c: New file.
30886
30887         Tests for module 'unistr/u8-chr'.
30888         * modules/unistr/u8-chr-tests: New file.
30889         * tests/unistr/test-u8-chr.c: New file.
30890         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
30891
30892         Tests for module 'unistr/u32-cmp2'.
30893         * modules/unistr/u32-cmp2-tests: New file.
30894         * tests/unistr/test-u32-cmp2.c: New file.
30895
30896         Tests for module 'unistr/u16-cmp2'.
30897         * modules/unistr/u16-cmp2-tests: New file.
30898         * tests/unistr/test-u16-cmp2.c: New file.
30899
30900         Tests for module 'unistr/u8-cmp2'.
30901         * modules/unistr/u8-cmp2-tests: New file.
30902         * tests/unistr/test-u8-cmp2.c: New file.
30903         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
30904
30905         Tests for module 'unistr/u32-cmp'.
30906         * modules/unistr/u32-cmp-tests: New file.
30907         * tests/unistr/test-u32-cmp.c: New file.
30908
30909         Tests for module 'unistr/u16-cmp'.
30910         * modules/unistr/u16-cmp-tests: New file.
30911         * tests/unistr/test-u16-cmp.c: New file.
30912
30913         Tests for module 'unistr/u8-cmp'.
30914         * modules/unistr/u8-cmp-tests: New file.
30915         * tests/unistr/test-u8-cmp.c: New file.
30916         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
30917
30918         Tests for module 'unistr/u32-set'.
30919         * modules/unistr/u32-set-tests: New file.
30920         * tests/unistr/test-u32-set.c: New file.
30921
30922         Tests for module 'unistr/u16-set'.
30923         * modules/unistr/u16-set-tests: New file.
30924         * tests/unistr/test-u16-set.c: New file.
30925
30926         Tests for module 'unistr/u8-set'.
30927         * modules/unistr/u8-set-tests: New file.
30928         * tests/unistr/test-u8-set.c: New file.
30929         * tests/unistr/test-set.h: New file.
30930
30931         Tests for module 'unistr/u32-move'.
30932         * modules/unistr/u32-move-tests: New file.
30933         * tests/unistr/test-u32-move.c: New file.
30934
30935         Tests for module 'unistr/u16-move'.
30936         * modules/unistr/u16-move-tests: New file.
30937         * tests/unistr/test-u16-move.c: New file.
30938
30939         Tests for module 'unistr/u8-move'.
30940         * modules/unistr/u8-move-tests: New file.
30941         * tests/unistr/test-u8-move.c: New file.
30942         * tests/unistr/test-move.h: New file.
30943
30944         Tests for module 'unistr/u32-cpy'.
30945         * modules/unistr/u32-cpy-tests: New file.
30946         * tests/unistr/test-u32-cpy.c: New file.
30947
30948         Tests for module 'unistr/u16-cpy'.
30949         * modules/unistr/u16-cpy-tests: New file.
30950         * tests/unistr/test-u16-cpy.c: New file.
30951
30952         Tests for module 'unistr/u8-cpy'.
30953         * modules/unistr/u8-cpy-tests: New file.
30954         * tests/unistr/test-u8-cpy.c: New file.
30955         * tests/unistr/test-cpy.h: New file.
30956
30957 2010-01-09  Bruno Haible  <bruno@clisp.org>
30958
30959         Tests for module 'unistr/u32-uctomb'.
30960         * modules/unistr/u32-uctomb-tests: New file.
30961         * tests/unistr/test-u32-uctomb.c: New file.
30962
30963         Tests for module 'unistr/u16-uctomb'.
30964         * modules/unistr/u16-uctomb-tests: New file.
30965         * tests/unistr/test-u16-uctomb.c: New file.
30966
30967         Tests for module 'unistr/u8-uctomb'.
30968         * modules/unistr/u8-uctomb-tests: New file.
30969         * tests/unistr/test-u8-uctomb.c: New file.
30970
30971         Tests for module 'unistr/u32-mbtoucr'.
30972         * modules/unistr/u32-mbtoucr-tests: New file.
30973         * tests/unistr/test-u32-mbtoucr.c: New file.
30974
30975         Tests for module 'unistr/u16-mbtoucr'.
30976         * modules/unistr/u16-mbtoucr-tests: New file.
30977         * tests/unistr/test-u16-mbtoucr.c: New file.
30978
30979         Tests for module 'unistr/u8-mbtoucr'.
30980         * modules/unistr/u8-mbtoucr-tests: New file.
30981         * tests/unistr/test-u8-mbtoucr.c: New file.
30982
30983         Tests for module 'unistr/u32-mbtouc'.
30984         * modules/unistr/u32-mbtouc-tests: New file.
30985         * tests/unistr/test-u32-mbtouc.c: New file.
30986
30987         Tests for module 'unistr/u16-mbtouc'.
30988         * modules/unistr/u16-mbtouc-tests: New file.
30989         * tests/unistr/test-u16-mbtouc.c: New file.
30990
30991         Tests for module 'unistr/u8-mbtouc'.
30992         * modules/unistr/u8-mbtouc-tests: New file.
30993         * tests/unistr/test-u8-mbtouc.c: New file.
30994
30995         Tests for module 'unistr/u32-mbtouc-unsafe'.
30996         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
30997         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
30998         * tests/unistr/test-u32-mbtouc.h: New file.
30999
31000         Tests for module 'unistr/u16-mbtouc-unsafe'.
31001         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
31002         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
31003         * tests/unistr/test-u16-mbtouc.h: New file.
31004
31005         Tests for module 'unistr/u8-mbtouc-unsafe'.
31006         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
31007         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
31008         * tests/unistr/test-u8-mbtouc.h: New file.
31009
31010         Tests for module 'unistr/u32-mblen'.
31011         * modules/unistr/u32-mblen-tests: New file.
31012         * tests/unistr/test-u32-mblen.c: New file.
31013
31014         Tests for module 'unistr/u16-mblen'.
31015         * modules/unistr/u16-mblen-tests: New file.
31016         * tests/unistr/test-u16-mblen.c: New file.
31017
31018         Tests for module 'unistr/u8-mblen'.
31019         * modules/unistr/u8-mblen-tests: New file.
31020         * tests/unistr/test-u8-mblen.c: New file.
31021
31022         Tests for module 'unistr/u32-to-u16'.
31023         * modules/unistr/u32-to-u16-tests: New file.
31024         * tests/unistr/test-u32-to-u16.c: New file.
31025
31026         Tests for module 'unistr/u32-to-u8'.
31027         * modules/unistr/u32-to-u8-tests: New file.
31028         * tests/unistr/test-u32-to-u8.c: New file.
31029
31030         Tests for module 'unistr/u16-to-u32'.
31031         * modules/unistr/u16-to-u32-tests: New file.
31032         * tests/unistr/test-u16-to-u32.c: New file.
31033
31034         Tests for module 'unistr/u16-to-u8'.
31035         * modules/unistr/u16-to-u8-tests: New file.
31036         * tests/unistr/test-u16-to-u8.c: New file.
31037
31038         Tests for module 'unistr/u8-to-u32'.
31039         * modules/unistr/u8-to-u32-tests: New file.
31040         * tests/unistr/test-u8-to-u32.c: New file.
31041
31042         Tests for module 'unistr/u8-to-u16'.
31043         * modules/unistr/u8-to-u16-tests: New file.
31044         * tests/unistr/test-u8-to-u16.c: New file.
31045
31046         Tests for module 'unistr/u32-check'.
31047         * modules/unistr/u32-check-tests: New file.
31048         * tests/unistr/test-u32-check.c: New file.
31049
31050         Tests for module 'unistr/u16-check'.
31051         * modules/unistr/u16-check-tests: New file.
31052         * tests/unistr/test-u16-check.c: New file.
31053
31054         Tests for module 'unistr/u8-check'.
31055         * modules/unistr/u8-check-tests: New file.
31056         * tests/unistr/test-u8-check.c: New file.
31057
31058         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
31059         (category_equals): New function.
31060         (main): Add more tests.
31061         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
31062
31063         * tests/unictype/test-bidi_byname.c (main): Add more tests.
31064
31065 2010-01-10  Bruno Haible  <bruno@clisp.org>
31066
31067         unistr/u*-strcoll: Try harder to distinguish different strings.
31068         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
31069         compare s1 and s2 to see if they are different.
31070
31071 2010-01-10  Bruno Haible  <bruno@clisp.org>
31072
31073         unistr/u*-stpncpy: Fix the return value.
31074         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
31075         description of the return value consistent with stpncpy in glibc.
31076         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
31077         written non-NUL unit.
31078
31079 2010-01-10  Bruno Haible  <bruno@clisp.org>
31080
31081         unistr/u*-next: Add missing dependencies.
31082         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
31083         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
31084         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
31085
31086 2010-01-10  Bruno Haible  <bruno@clisp.org>
31087
31088         unistr/u8-mbsnlen: Fix return value for incomplete character.
31089         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
31090         u8_mblen.
31091         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
31092         Remove unistr/u8-mblen.
31093         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
31094         u16_mblen.
31095         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
31096         Remove unistr/u16-mblen.
31097
31098 2010-01-10  Bruno Haible  <bruno@clisp.org>
31099
31100         wchar: Fix compilation error when <wchar.h> is used from coreutils.
31101         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
31102         Reported by Brian Gough <bjg@gnu.org> and
31103         Chris Clayton <chris2553@googlemail.com> via
31104         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
31105
31106 2010-01-09  Bruno Haible  <bruno@clisp.org>
31107
31108         unistr/u16-to-u32: Reject invalid input.
31109         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
31110         u16_mbtouc.
31111         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
31112         Remove unistr/u16-mbtouc.
31113
31114         unistr/u16-to-u8: Reject invalid input.
31115         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
31116         u16_mbtouc.
31117         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
31118         Remove unistr/u16-mbtouc.
31119
31120         unistr/u8-to-u32: Reject invalid input.
31121         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
31122         u8_mbtouc.
31123         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
31124         Remove unistr/u8-mbtouc.
31125
31126         unistr/u8-to-u16: Reject invalid input.
31127         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
31128         u8_mbtouc.
31129         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
31130         Remove unistr/u8-mbtouc.
31131
31132 2010-01-09  Bruno Haible  <bruno@clisp.org>
31133
31134         Tests for module 'getlogin'.
31135         * modules/getlogin-tests: New file.
31136         * tests/test-getlogin.c: New file.
31137
31138         New module 'getlogin'.
31139         * lib/unistd.in.h (getlogin): New declaration.
31140         * lib/getlogin.c: New file.
31141         * m4/getlogin.m4: New file.
31142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
31143         HAVE_GETLOGIN.
31144         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
31145         HAVE_GETLOGIN.
31146         * modules/getlogin: New file.
31147         * doc/posix-functions/getlogin.texi: Mention the new module.
31148         Reported by John W. Eaton <jwe@gnu.org>.
31149
31150 2010-01-09  Bruno Haible  <bruno@clisp.org>
31151
31152         getlogin_r: Support for native Windows.
31153         * lib/getlogin_r.c: Include <windows.h>
31154         (getlogin_r): Implement for native Windows.
31155         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
31156         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
31157         via John W. Eaton <jwe@gnu.org>.
31158
31159 2010-01-09  Bruno Haible  <bruno@clisp.org>
31160
31161         getlogin_r: Small fixes.
31162         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
31163         succeeds.
31164         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
31165         before testing whether getlogin_r is declared. No need to set
31166         HAVE_DECL_GETLOGIN_R to 1.
31167         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
31168
31169 2010-01-09  Bruno Haible  <bruno@clisp.org>
31170
31171         * lib/unistd.in.h (getlogin_r): Add comment.
31172
31173 2010-01-09  Bruno Haible  <bruno@clisp.org>
31174
31175         Tests for module 'getlogin_r'.
31176         * modules/getlogin_r-tests: New file.
31177         * tests/test-getlogin_r.c: New file.
31178
31179 2010-01-09  Jim Meyering  <meyering@redhat.com>
31180
31181         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
31182         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
31183         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
31184
31185 2010-01-08  Simon Josefsson  <simon@josefsson.org>
31186
31187         * lib/dup2.c (rpl_dup2): Improve comment.
31188
31189 2010-01-08  Eric Blake  <ebb9@byu.net>
31190
31191         maint.mk: allow packages to add makefile @@ exceptions
31192         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
31193         (sc_makefile_check): Rename...
31194         (sc_makefile_at_at_check): ...to this, and use hook.
31195
31196         dup2: work around mingw bug
31197         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
31198         Reported by Simon Josefsson.
31199
31200 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
31201
31202         glob: Fix C++ compilation.
31203         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
31204         C++.
31205
31206 2010-01-07  Bruno Haible  <bruno@clisp.org>
31207
31208         Fix indentation of wctype.in.h, broken since 2007-01-06.
31209         * lib/wctype.in.h: Fix indentation of preprocessor directives.
31210
31211 2010-01-07  Bruno Haible  <bruno@clisp.org>
31212
31213         mbslen: Avoid collision with system function.
31214         * lib/string.in.h [MirBSD]: Include <wchar.h>.
31215         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
31216         * m4/mbslen.m4: New file.
31217         * modules/mbslen (Files): Add it.
31218         (configure.ac): Invoke gl_MBSLEN.
31219         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
31220         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
31221         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
31222         via Ian Beckwith <ianb@erislabs.net>.
31223
31224 2010-01-07  Bruno Haible  <bruno@clisp.org>
31225
31226         dirent: Document the last fix.
31227         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
31228
31229 2010-01-07  Bruno Haible  <bruno@clisp.org>
31230
31231         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
31232         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
31233         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
31234         va_list are defined.
31235         * doc/posix-headers/stdio.texi: Document the bug of missing types.
31236         Reported by Eric Blake.
31237
31238 2010-01-07  Bruno Haible  <bruno@clisp.org>
31239
31240         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
31241         * modules/xlist (Depends-on): Add 'list',
31242         * modules/xoset (Depends-on): Add 'oset'.
31243         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31244
31245 2010-01-07  Bruno Haible  <bruno@clisp.org>
31246
31247         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
31248         * doc/posix-functions/strncasecmp.texi: Likewise.
31249
31250 2010-01-07  Bruno Haible  <bruno@clisp.org>
31251
31252         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
31253
31254 2010-01-07  John W. Eaton  <jwe@octave.org>
31255
31256         wctype: allow C++ use
31257         * lib/wctype.in.h: Add extern "C" block for C++.
31258
31259 2010-01-06  Eric Blake  <ebb9@byu.net>
31260
31261         maint.mk: detect incorrect GFDL usage
31262         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
31263
31264 2010-01-06  Jim Meyering  <meyering@redhat.com>
31265         and Eric Blake  <ebb9@byu.net>
31266
31267         maint.mk: ignore multi-line copyright in NEWS
31268         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
31269
31270 2010-01-06  Eric Blake  <ebb9@byu.net>
31271
31272         select: add missing dependency
31273         * modules/select-tests (Depends-on): Move sockets dependency...
31274         * modules/select (Depends-on): ...here.
31275         Reported by Ian Beckwith.
31276
31277         doc: regenerate INSTALL
31278         * doc/INSTALL: Reflect recent autoconf update.
31279         * doc/INSTALL.ISO: Likewise.
31280         * doc/INSTALL.UTF-8: Likewise.
31281
31282         pread: fix compilation on glibc
31283         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
31284         Reported by Ralf Wildenhues.
31285
31286         dirent: fix test failure
31287         * lib/dirent.in.h (includes): Guarantee ino_t.
31288         Reported by Ralf Wildenhues.
31289
31290 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
31291
31292         linkat, renameat: avoid bad free
31293         * lib/at-func2.c (at_func2): Fix typo.
31294         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
31295
31296 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31297
31298         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
31299         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
31300         to avoid failure of symlink test later.
31301
31302 2010-01-06  Eric Blake  <ebb9@byu.net>
31303
31304         stdio, unistd: guarantee ssize_t
31305         * lib/unistd.in.h (includes): Ensure that types required by POSIX
31306         2008 are exposed when needed.
31307         * lib/stdio.in.h (includes): Likewise.
31308         Reported by Ralf Wildenhues.
31309
31310 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
31311
31312         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
31313         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
31314         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
31315
31316 2010-01-06  Jim Meyering  <meyering@redhat.com>
31317
31318         readtokens: this module *does* require xalloc.h
31319         It uses only functions that were omitted by the old syntax-check rule.
31320         * lib/readtokens.c: Include "xalloc.h" once again.
31321         * modules/readtokens (Depends-on): Add xalloc.
31322         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
31323
31324 2010-01-05  Eric Blake  <ebb9@byu.net>
31325
31326         maint: support 'make announcement' from a VPATH build
31327         * top/maint.mk (announcement): Look for correct NEWS file.
31328
31329 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
31330
31331         utimens (fdutimens): ignore a negative FD, per contract
31332         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
31333         when we have a valid file descriptor.  Otherwise, using a brand
31334         new glibc (with just-patched futimens that now fails with EBADF)
31335         would cause this function to fail with ENOSYS.
31336         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
31337         See also http://bugzilla.redhat.com/552320.
31338
31339 2010-01-05  Eric Blake  <ebb9@byu.net>
31340
31341         strcase: document what it provides
31342         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
31343         gnulib module.
31344         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
31345         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
31346
31347 2010-01-05  Jim Meyering  <meyering@redhat.com>
31348
31349         maint: remove useless inclusions of "xalloc.h"
31350         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
31351         * lib/readtokens.c: Likewise.
31352         * lib/same.c: Likewise.
31353         * modules/getloadavg (Depends-on): Remove xalloc.
31354         * modules/readtokens: Likewise.
31355         * modules/same: Likewise.
31356
31357         maint.mk: include 4 more function names in alloca.h-checking regexp
31358         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
31359         regexp.  Before, we would give a false-positive (saying alloca.h
31360         is included unnecessarily) when the only uses involved omitted symbols.
31361
31362         xalloc.h: use consistent formatting
31363         * lib/xalloc.h: Move declarations to start in the first column.
31364
31365 2010-01-05  Eric Blake  <ebb9@byu.net>
31366
31367         mkdir: avoid xalloc
31368         * lib/mkdir.c (includes): Drop unused header.
31369         Reported by John W. Eaton.
31370
31371 2010-01-04  Jim Meyering  <meyering@redhat.com>
31372
31373         nl_langinfo: avoid configure-time syntax error
31374         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
31375         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
31376         the empty string.  Don't let that provoke a shell syntax error.
31377
31378         regcomp, regexec, fnmatch: avoid array bounds read error
31379         * lib/regcomp.c (build_equiv_class): From glibc:
31380         Use only the low 24 bits of a findidx return value as an index
31381         into the weights array.  Patch by Ulrich Drepper:
31382         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
31383         * lib/regexec.c (check_node_accept_bytes): Likewise.
31384         * lib/fnmatch_loop.c (FCT): Likewise.
31385
31386         regcomp: skip collseq lookup when there are no rules
31387         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
31388         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
31389
31390         regcomp: recognize ill-formed { } expressions
31391         * lib/regcomp.c (parse_dup_op): From glibc:
31392         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
31393
31394         regcomp: fix typo in comment
31395         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
31396         s/satisfy/satisfies/.
31397
31398         regcomp: sync from glibc: remove dead store
31399         * lib/regcomp.c (duplicate_node_closure): Remove useless
31400         search_duplicated_node call and dead store.
31401
31402         regcomp: sync from glibc; always use nl_langinfo
31403         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
31404         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
31405         * modules/regex (Depends-on): Add nl_langinfo.
31406
31407 2010-01-04  Eric Blake  <ebb9@byu.net>
31408
31409         fdopendir: fix configure test
31410         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
31411
31412 2010-01-01  Bruno Haible  <bruno@clisp.org>
31413
31414         wchar: Remove unused configure check.
31415         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
31416
31417 2010-01-01  Eric Blake  <ebb9@byu.net>
31418
31419         headers: make check of system header explicit
31420         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
31421         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
31422         ourselves.
31423         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31424         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31425         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
31426         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
31427         internals.
31428         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
31429         missing.
31430         Suggested by Bruno Haible.
31431
31432 2010-01-01  Jim Meyering  <meyering@redhat.com>
31433
31434         ChangeLog: tweak to eliminate unnecessary copyright line
31435         * ChangeLog: Remove a copyright line that was mistakenly updated
31436         by today's update-copyright run.  Reported by Eric Blake.
31437
31438         test-update-copyright: don't let envvar setting cause test failure
31439         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31440
31441 2010-01-01  Bruno Haible  <bruno@clisp.org>
31442
31443         localename: Avoid gcc warning.
31444         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
31445         function if it is not used.
31446
31447 2010-01-01  Jim Meyering  <meyering@redhat.com>
31448
31449         update nearly all FSF copyright year lists to include 2010
31450         Use the same procedure as for 2009, outlined in
31451         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
31452
31453         version-etc: set COPYRIGHT_YEAR to 2010
31454         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
31455
31456 2009-12-31  Eric Blake  <ebb9@byu.net>
31457
31458         doc: correct availability of cygwin 1.5.x getopt
31459         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
31460         variables.
31461         * doc/posix-functions/opterr.texi (opterr): Likewise.
31462         * doc/posix-functions/optind.texi (optind): Likewise.
31463         * doc/posix-functions/optopt.texi (optopt): Likewise.
31464         * doc/posix-functions/tzname.texi (tzname): Likewise.
31465
31466         openat: update maintainer
31467         * modules/openat (Maintainer): Add myself.
31468
31469         utimens: avoid shadowing warning
31470         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
31471         buffers into one, to avoid shadowing, as well as avoiding a
31472         redundant stat.
31473         Reported by Jim Meyering.
31474
31475         test-dup2: avoid compiler warning
31476         * tests/test-dup2.c (is_inheritable): Only define if used.
31477
31478 2010-01-01  Bruno Haible  <bruno@clisp.org>
31479
31480         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
31481         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
31482         defined, use wctomb instead of wcrtomb.
31483
31484 2010-01-01  Bruno Haible  <bruno@clisp.org>
31485
31486         iconv: Reject native Solaris iconv.
31487         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
31488         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
31489
31490 2009-12-31  Bruno Haible  <bruno@clisp.org>
31491
31492         * tests/test-signal.c (main): Remove test of 'SIG'.
31493
31494 2009-12-31  Bruno Haible  <bruno@clisp.org>
31495
31496         spawn: Fix incomplete fix.
31497         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31498         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31499         warnings for GNULIB_POSIXCHECK again.
31500         Reported by Eric Blake.
31501
31502 2009-12-31  Bruno Haible  <bruno@clisp.org>
31503
31504         Avoid namespace pollution on glibc systems.
31505         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
31506         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
31507         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
31508         glibc systems.
31509
31510 2009-12-31  Bruno Haible  <bruno@clisp.org>
31511
31512         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
31513         (gl_REPLACE_WCHAR_H): Turn into a no-op.
31514         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
31515         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
31516         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
31517         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
31518         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
31519
31520 2009-12-31  Bruno Haible  <bruno@clisp.org>
31521
31522         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31523         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
31524         afterwards.
31525
31526 2009-12-31  Bruno Haible  <bruno@clisp.org>
31527
31528         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
31529         SYS_UTSNAME_H.
31530
31531 2009-12-31  Bruno Haible  <bruno@clisp.org>
31532
31533         spawn: Fix misapplied patch.
31534         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
31535         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
31536         warnings for GNULIB_POSIXCHECK.
31537
31538 2009-12-31  Bruno Haible  <bruno@clisp.org>
31539
31540         times: Update after sys_times changed.
31541         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
31542         * modules/times (Files): Add it.
31543         (configure.ac): Invoke gl_FUNC_TIMES.
31544
31545 2009-12-31  Bruno Haible  <bruno@clisp.org>
31546
31547         Use AC_C_INLINE where necessary.
31548         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
31549         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
31550         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
31551         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
31552         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31553         * m4/mbiter.m4 (gl_MBITER): Likewise.
31554         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
31555         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
31556         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
31557         * modules/u64 (configure.ac): Likewise.
31558
31559 2009-12-31  Bruno Haible  <bruno@clisp.org>
31560
31561         Use AC_C_INLINE instead of module 'inline' where possible.
31562         * modules/inline (Description): Clarify purpose.
31563         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
31564         * modules/count-one-bits (Depends-on): Remove inline.
31565         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
31566         * modules/openat (Depends-on): Remove inline.
31567         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
31568         instead of depending on module 'inline'.
31569         * modules/filevercmp (Depends-on, configure.ac): Likewise.
31570         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
31571         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
31572         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
31573         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
31574         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
31575         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
31576         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
31577         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
31578         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
31579         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
31580         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
31581         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
31582         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
31583         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
31584         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
31585         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
31586         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
31587         Likewise.
31588         * modules/unictype/property-ascii-hex-digit (Depends-on,
31589         configure.ac): Likewise.
31590         * modules/unictype/property-bidi-arabic-digit (Depends-on,
31591         configure.ac): Likewise.
31592         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
31593         configure.ac): Likewise.
31594         * modules/unictype/property-bidi-block-separator (Depends-on,
31595         configure.ac): Likewise.
31596         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
31597         configure.ac): Likewise.
31598         * modules/unictype/property-bidi-common-separator (Depends-on,
31599         configure.ac): Likewise.
31600         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
31601         Likewise.
31602         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
31603         configure.ac): Likewise.
31604         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
31605         configure.ac): Likewise.
31606         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
31607         configure.ac): Likewise.
31608         * modules/unictype/property-bidi-european-digit (Depends-on,
31609         configure.ac): Likewise.
31610         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
31611         configure.ac): Likewise.
31612         * modules/unictype/property-bidi-left-to-right (Depends-on,
31613         configure.ac): Likewise.
31614         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
31615         configure.ac): Likewise.
31616         * modules/unictype/property-bidi-other-neutral (Depends-on,
31617         configure.ac): Likewise.
31618         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
31619         Likewise.
31620         * modules/unictype/property-bidi-segment-separator (Depends-on,
31621         configure.ac): Likewise.
31622         * modules/unictype/property-bidi-whitespace (Depends-on,
31623         configure.ac): Likewise.
31624         * modules/unictype/property-combining (Depends-on, configure.ac):
31625         Likewise.
31626         * modules/unictype/property-composite (Depends-on, configure.ac):
31627         Likewise.
31628         * modules/unictype/property-currency-symbol (Depends-on,
31629         configure.ac): Likewise.
31630         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
31631         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
31632         Likewise.
31633         * modules/unictype/property-default-ignorable-code-point (Depends-on,
31634         configure.ac): Likewise.
31635         * modules/unictype/property-deprecated (Depends-on, configure.ac):
31636         Likewise.
31637         * modules/unictype/property-diacritic (Depends-on, configure.ac):
31638         Likewise.
31639         * modules/unictype/property-extender (Depends-on, configure.ac):
31640         Likewise.
31641         * modules/unictype/property-format-control (Depends-on, configure.ac):
31642         Likewise.
31643         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
31644         Likewise.
31645         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
31646         Likewise.
31647         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
31648         Likewise.
31649         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
31650         Likewise.
31651         * modules/unictype/property-hyphen (Depends-on, configure.ac):
31652         Likewise.
31653         * modules/unictype/property-id-continue (Depends-on, configure.ac):
31654         Likewise.
31655         * modules/unictype/property-id-start (Depends-on, configure.ac):
31656         Likewise.
31657         * modules/unictype/property-ideographic (Depends-on, configure.ac):
31658         Likewise.
31659         * modules/unictype/property-ids-binary-operator (Depends-on,
31660         configure.ac): Likewise.
31661         * modules/unictype/property-ids-trinary-operator (Depends-on,
31662         configure.ac): Likewise.
31663         * modules/unictype/property-ignorable-control (Depends-on,
31664         configure.ac): Likewise.
31665         * modules/unictype/property-iso-control (Depends-on, configure.ac):
31666         Likewise.
31667         * modules/unictype/property-join-control (Depends-on, configure.ac):
31668         Likewise.
31669         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
31670         Likewise.
31671         * modules/unictype/property-line-separator (Depends-on, configure.ac):
31672         Likewise.
31673         * modules/unictype/property-logical-order-exception (Depends-on,
31674         configure.ac): Likewise.
31675         * modules/unictype/property-lowercase (Depends-on, configure.ac):
31676         Likewise.
31677         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
31678         * modules/unictype/property-non-break (Depends-on, configure.ac):
31679         Likewise.
31680         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
31681         Likewise.
31682         * modules/unictype/property-numeric (Depends-on, configure.ac):
31683         Likewise.
31684         * modules/unictype/property-other-alphabetic (Depends-on,
31685         configure.ac): Likewise.
31686         * modules/unictype/property-other-default-ignorable-code-point
31687         (Depends-on, configure.ac): Likewise.
31688         * modules/unictype/property-other-grapheme-extend (Depends-on,
31689         configure.ac): Likewise.
31690         * modules/unictype/property-other-id-continue (Depends-on,
31691         configure.ac): Likewise.
31692         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
31693         Likewise.
31694         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
31695         Likewise.
31696         * modules/unictype/property-other-math (Depends-on, configure.ac):
31697         Likewise.
31698         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
31699         Likewise.
31700         * modules/unictype/property-paired-punctuation (Depends-on,
31701         configure.ac): Likewise.
31702         * modules/unictype/property-paragraph-separator (Depends-on,
31703         configure.ac): Likewise.
31704         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
31705         Likewise.
31706         * modules/unictype/property-pattern-white-space (Depends-on,
31707         configure.ac): Likewise.
31708         * modules/unictype/property-private-use (Depends-on, configure.ac):
31709         Likewise.
31710         * modules/unictype/property-punctuation (Depends-on, configure.ac):
31711         Likewise.
31712         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
31713         Likewise.
31714         * modules/unictype/property-radical (Depends-on, configure.ac):
31715         Likewise.
31716         * modules/unictype/property-sentence-terminal (Depends-on,
31717         configure.ac): Likewise.
31718         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
31719         Likewise.
31720         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
31721         * modules/unictype/property-terminal-punctuation (Depends-on,
31722         configure.ac): Likewise.
31723         * modules/unictype/property-titlecase (Depends-on, configure.ac):
31724         Likewise.
31725         * modules/unictype/property-unassigned-code-value (Depends-on,
31726         configure.ac): Likewise.
31727         * modules/unictype/property-unified-ideograph (Depends-on,
31728         configure.ac): Likewise.
31729         * modules/unictype/property-uppercase (Depends-on, configure.ac):
31730         Likewise.
31731         * modules/unictype/property-variation-selector (Depends-on,
31732         configure.ac): Likewise.
31733         * modules/unictype/property-white-space (Depends-on, configure.ac):
31734         Likewise.
31735         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
31736         Likewise.
31737         * modules/unictype/property-xid-start (Depends-on, configure.ac):
31738         Likewise.
31739         * modules/unictype/property-zero-width (Depends-on, configure.ac):
31740         Likewise.
31741         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
31742         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
31743         Likewise.
31744
31745 2009-12-31  Bruno Haible  <bruno@clisp.org>
31746
31747         Remove unnecessary AC_C_INLINE invocation.
31748         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
31749         since 2009-08-21.
31750
31751 2009-12-31  Jim Meyering  <meyering@redhat.com>
31752
31753         maint.mk: don't require explicit gpg_key_ID in cfg.mk
31754         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
31755         With this change, we can all remove the gpg_key_ID = ... definition
31756         from our respective cfg.mk files.
31757
31758         maint.mk: create announcement template in ~/, not in /tmp
31759         * top/maint.mk (emit_upload_commands): Adjust.
31760         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
31761         Remove temporary file, .ci-msg.
31762
31763 2009-12-31  Eric Blake  <ebb9@byu.net>
31764
31765         link-warning: always build headers with link warnings
31766         * modules/arpa_inet (Makefile.am): Always build replacement
31767         header.
31768         * modules/ctype (Makefile.am): Likewise.
31769         * modules/dirent (Makefile.am): Likewise.
31770         * modules/inttypes (Makefile.am): Likewise.
31771         * modules/langinfo (Makefile.am): Likewise.
31772         * modules/locale (Makefile.am): Likewise.
31773         * modules/spawn (Makefile.am): Likewise.
31774         * modules/sys_file (Makefile.am): Likewise.
31775         * modules/sys_ioctl (Makefile.am): Likewise.
31776         * modules/sys_select (Makefile.am): Likewise.
31777         * modules/sys_socket (Makefile.am): Likewise.
31778         * modules/sys_times (Makefile.am): Likewise.
31779         * modules/sys_utsname (Makefile.am): Likewise.
31780         * modules/sys_wait (Makefile.am): Likewise.
31781         * modules/wchar (Makefile.am): Likewise.
31782         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
31783         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
31784         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
31785         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
31786         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
31787         Likewise.
31788         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31789         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31790         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
31791         Likewise.
31792         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
31793         Likewise.
31794         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
31795         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
31796         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
31797         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31798         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31799         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31800         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31801         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
31802         (gl_WCHAR_H_DEFAULTS): Likewise.
31803
31804 2009-12-31  Eric Blake  <ebb9@byu.net>
31805
31806         signal, spawn: use link warnings
31807         * lib/signal.in.h (sigset_t): Make unconditional.
31808         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
31809         (sigpending, sigprocmask, sigaction): Add link warnings.
31810         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
31811         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
31812         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
31813         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
31814         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
31815         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
31816         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
31817         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
31818         (posix_spawn_file_actions_destroy)
31819         (posix_spawn_file_actions_addopen)
31820         (posix_spawn_file_actions_addclose)
31821         (posix_spawn_file_actions_adddup2): Likewise.
31822         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
31823         * tests/test-signal.c (main): Enhance test.
31824
31825         spawn: improve wrapper support
31826         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
31827         (gl_SPAWN_H_DEFAULTS): New defaults.
31828         * modules/spawn (Makefile.am): Substitute them.
31829         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
31830         Only declare if missing or broken.
31831
31832         sys_times, sys_utsname: use include_next
31833         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
31834         header.
31835         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
31836         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
31837         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
31838         * modules/sys_times (Depends-on): Add include_next.
31839         (Makefile.am): Substitute additional values.
31840         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31841         * lib/sys_times.in.h (includes): Include native header, if
31842         available.
31843         * lib/sys_utsname.in.h (includes): Likewise.
31844         * tests/test-sys_times.c (main): Enhance test.
31845
31846         fdutimensat: revert prior patch
31847         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
31848         utimens.h.
31849         Reported by Bruno Haible.
31850
31851 2009-12-30  Eric Blake  <ebb9@byu.net>
31852
31853         sys_wait: drop link-warning dependency
31854         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
31855         link-warning efforts.
31856         * lib/sys_wait.in.h: Likewise.
31857
31858         fdutimensat: remove bogus dependency
31859         * modules/fdutimensat (Depends-on): Drop inline.
31860
31861         unistd: fix typo
31862         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
31863
31864 2009-12-30  Bruno Haible  <bruno@clisp.org>
31865
31866         Fix compilation error with Solaris cc.
31867         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
31868         * lib/unicase/u16-is-invariant.c: Likewise.
31869         * lib/unicase/u32-is-invariant.c: Likewise.
31870         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
31871
31872 2009-12-30  Bruno Haible  <bruno@clisp.org>
31873
31874         Fix test crash.
31875         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
31876         locales.
31877         Reported by Simon Josefsson <simon@josefsson.org>.
31878
31879 2009-12-30  Bruno Haible  <bruno@clisp.org>
31880
31881         Fix compilation error on most platforms.
31882         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
31883         Reported by Simon Josefsson <simon@josefsson.org>
31884         and Nelson H. F. Beebe <beebe@math.utah.edu>.
31885
31886 2009-12-30  Eric Blake  <ebb9@byu.net>
31887
31888         futimens, utimensat: work around ntfs-3g bug
31889         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
31890         a ctime bug is present, and expand workaround to cover ntfs-3g.
31891         * lib/utimens.c (fdutimens, lutimens): Likewise.
31892         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
31893         (validate_timespec): Adjust return value.
31894         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
31895         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31896         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
31897
31898 2009-12-29  Eric Blake  <ebb9@byu.net>
31899
31900         link-warning: make usage consistent
31901         * modules/ctype (Depends-on): Add link-warning.
31902         (Makefile.am): Update rules accordingly.
31903         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31904         * modules/locale (Depends-on, Makefile.am): Likewise.
31905         * modules/sys_file (Makefile.am): Likewise.
31906         * modules/getopt-posix (Makefile.am): Delete unused link warning
31907         efforts.
31908         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
31909         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
31910         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
31911         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
31912
31913         stdio: remove unused variables
31914         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
31915         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
31916         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31917
31918         tests: test more substitute headers
31919         * modules/ctype-tests: New file.
31920         * modules/dirent-tests: Likewise.
31921         * modules/spawn-tests: Likewise.
31922         * modules/sys_file-tests: Likewise.
31923         * modules/sys_ioctl-tests: Likewise.
31924         * modules/sys_wait-tests: Likewise.
31925         * tests/test-ctype.c: Likewise.
31926         * tests/test-dirent.c: Likewise.
31927         * tests/test-spawn.c: Likewise.
31928         * tests/test-sys_file.c: Likewise.
31929         * tests/test-sys_ioctl.c: Likewise.
31930         * tests/test-sys_wait.c: Likewise.
31931         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
31932         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
31933         whether or not flock is in use.
31934
31935         tests: remove License section from module
31936         * modules/arpa_inet-tests: Remove unneeded section.
31937         * modules/byteswap-tests: Likewise.
31938         * modules/ceilf-tests: Likewise.
31939         * modules/ceill-tests: Likewise.
31940         * modules/crypto/des-tests: Likewise.
31941         * modules/crypto/gc-arcfour-tests: Likewise.
31942         * modules/crypto/gc-arctwo-tests: Likewise.
31943         * modules/crypto/gc-des-tests: Likewise.
31944         * modules/crypto/gc-hmac-md5-tests: Likewise.
31945         * modules/crypto/gc-hmac-sha1-tests: Likewise.
31946         * modules/crypto/gc-md2-tests: Likewise.
31947         * modules/crypto/gc-md4-tests: Likewise.
31948         * modules/crypto/gc-md5-tests: Likewise.
31949         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
31950         * modules/crypto/gc-rijndael-tests: Likewise.
31951         * modules/crypto/gc-sha1-tests: Likewise.
31952         * modules/crypto/gc-tests: Likewise.
31953         * modules/crypto/md2-tests: Likewise.
31954         * modules/crypto/md4-tests: Likewise.
31955         * modules/fcntl-h-tests: Likewise.
31956         * modules/floorf-tests: Likewise.
31957         * modules/floorl-tests: Likewise.
31958         * modules/frexp-nolibm-tests: Likewise.
31959         * modules/frexp-tests: Likewise.
31960         * modules/frexpl-nolibm-tests: Likewise.
31961         * modules/frexpl-tests: Likewise.
31962         * modules/getaddrinfo-tests: Likewise.
31963         * modules/inttypes-tests: Likewise.
31964         * modules/isfinite-tests: Likewise.
31965         * modules/isinf-tests: Likewise.
31966         * modules/ldexpl-tests: Likewise.
31967         * modules/locale-tests: Likewise.
31968         * modules/math-tests: Likewise.
31969         * modules/netdb-tests: Likewise.
31970         * modules/netinet_in-tests: Likewise.
31971         * modules/printf-frexp-tests: Likewise.
31972         * modules/printf-frexpl-tests: Likewise.
31973         * modules/priv-set-tests: Likewise.
31974         * modules/random_r-tests: Likewise.
31975         * modules/round-tests: Likewise.
31976         * modules/roundf-tests: Likewise.
31977         * modules/roundl-tests: Likewise.
31978         * modules/search-tests: Likewise.
31979         * modules/select-tests: Likewise.
31980         * modules/signal-tests: Likewise.
31981         * modules/stdbool-tests: Likewise.
31982         * modules/stddef-tests: Likewise.
31983         * modules/stdint-tests: Likewise.
31984         * modules/stdio-tests: Likewise.
31985         * modules/stdlib-tests: Likewise.
31986         * modules/string-tests: Likewise.
31987         * modules/strings-tests: Likewise.
31988         * modules/sys_select-tests: Likewise.
31989         * modules/sys_socket-tests: Likewise.
31990         * modules/sys_stat-tests: Likewise.
31991         * modules/sys_time-tests: Likewise.
31992         * modules/sys_utsname-tests: Likewise.
31993         * modules/sysexits-tests: Likewise.
31994         * modules/time-tests: Likewise.
31995         * modules/trunc-tests: Likewise.
31996         * modules/truncf-tests: Likewise.
31997         * modules/truncl-tests: Likewise.
31998         * modules/tsearch-tests: Likewise.
31999         * modules/unistd-tests: Likewise.
32000         * modules/wchar-tests: Likewise.
32001         * modules/wctype-tests: Likewise.
32002
32003         tests: fix license on several tests
32004         * tests/test-des.c: Update to GPLv3+.
32005         * tests/test-flock.c: Likewise.
32006         * tests/test-fsync.c: Likewise.
32007         * tests/test-futimens.h: Likewise.
32008         * tests/test-gc-arcfour.c: Likewise.
32009         * tests/test-gc-arctwo.c: Likewise.
32010         * tests/test-gc-des.c: Likewise.
32011         * tests/test-gc-hmac-md5.c: Likewise.
32012         * tests/test-gc-hmac-sha1.c: Likewise.
32013         * tests/test-gc-md2.c: Likewise.
32014         * tests/test-gc-md4.c: Likewise.
32015         * tests/test-gc-md5.c: Likewise.
32016         * tests/test-gc-pbkdf2-sha1.c: Likewise.
32017         * tests/test-gc-rijndael.c: Likewise.
32018         * tests/test-gc-sha1.c: Likewise.
32019         * tests/test-gc.c: Likewise.
32020         * tests/test-getcwd.c: Likewise.
32021         * tests/test-link.c: Likewise.
32022         * tests/test-link.h: Likewise.
32023         * tests/test-lutimens.h: Likewise.
32024         * tests/test-md2.c: Likewise.
32025         * tests/test-md4.c: Likewise.
32026         * tests/test-mkdir.h: Likewise.
32027         * tests/test-rename.c: Likewise.
32028         * tests/test-rename.h: Likewise.
32029         * tests/test-safe-alloc.c: Likewise.
32030         * tests/test-utimens-common.h: Likewise.
32031         * tests/test-utimens.h: Likewise.
32032
32033         maint: sync license texts
32034         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
32035         * doc/gpl-3.0.texi: Revert copyright year update.
32036         * doc/lgpl-3.0.texi: Likewise.
32037
32038 2009-12-29  Jim Meyering  <meyering@redhat.com>
32039
32040         update nearly all FSF copyright year lists to include 2009
32041         The files named by the following are exempted:
32042             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
32043               test -f "$dst" && { echo "$dst"; continue; }
32044               test -d "$dst" || continue
32045               echo "$dst"/$(basename "$src")
32046             done > exempt
32047             git ls-files tests/unictype >> exempt
32048         In the remaining files, convert to all-interval notation if
32049         - there is already at least one year interval like 2000-2003
32050         - the file is maintained by me
32051         - the file is in lib/uni*/, where that style already prevails
32052         Otherwise, use update-copyright's default.
32053
32054 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32055         and Eric Blake  <ebb9@byu.net>
32056
32057         tests: don't require debug system() to pass
32058         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
32059         * tests/test-rmdir.h (test_rmdir_func): Likewise.
32060         * tests/test-unlink.h (test_unlink_func): Likewise.
32061         * tests/test-fstatat.c (main): ...into callers.
32062         * tests/test-lstat.c (main): Likewise.
32063         * tests/test-rmdir.c (main): Likewise.
32064         * tests/test-unlink.c (main): Likewise.
32065         * tests/test-unlinkat.c (main): Likewise.
32066         * tests/test-areadlink-with-size.c (main): Don't require a
32067         debug-only system call to pass, aiding cross-testing to mingw.
32068         * tests/test-areadlink.c (main): Likewise.
32069         * tests/test-areadlinkat-with-size.c (main): Likewise.
32070         * tests/test-areadlinkat.c (main): Likewise.
32071         * tests/test-canonicalize-lgpl.c (main): Likewise.
32072         * tests/test-canonicalize.c (main): Likewise.
32073         * tests/test-chown.c (main): Likewise.
32074         * tests/test-fchownat.c (main): Likewise.
32075         * tests/test-lchown.c (main): Likewise.
32076         * tests/test-fdutimensat.c (main): Likewise.
32077         * tests/test-futimens.c (main): Likewise.
32078         * tests/test-link.c (main): Likewise.
32079         * tests/test-linkat.c (main): Likewise.
32080         * tests/test-mkdir.c (main): Likewise.
32081         * tests/test-mkdirat.c (main): Likewise.
32082         * tests/test-mkfifo.c (main): Likewise.
32083         * tests/test-mkfifoat.c (main): Likewise.
32084         * tests/test-mknod.c (main): Likewise.
32085         * tests/test-readlink.c (main): Likewise.
32086         * tests/test-remove.c (main): Likewise.
32087         * tests/test-rename.c (main): Likewise.
32088         * tests/test-renameat.c (main): Likewise.
32089         * tests/test-symlink.c (main): Likewise.
32090         * tests/test-symlinkat.c (main): Likewise.
32091         * tests/test-utimens.c (main): Likewise.
32092         * tests/test-utimensat.c (main): Likewise.
32093
32094 2009-12-29  Simon Josefsson  <simon@josefsson.org>
32095
32096         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
32097         on $(UNUSED_PARAMETER_H) to avoid build failure.
32098
32099 2009-12-28  Jim Meyering  <meyering@redhat.com>
32100
32101         update-copyright: you may specify a max. line length other than 72
32102         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
32103
32104         maint: use consistent FSF copyright line syntax
32105         * lib/posixtm.c: Add missing comma in FSF copyright line.
32106         * lib/posixtm.h: Likewise.
32107         * lib/getugroups.c: Add missing ", Inc.".
32108
32109         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
32110         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
32111         FSF copyright line.  Remove trailing blanks.
32112
32113 2009-12-28  Eric Blake  <ebb9@byu.net>
32114
32115         test-dup2: reduce dependencies
32116         * modules/cloexec (Configure.ac): Set witness.
32117         * modules/dup2-tests (Depends-on): Drop cloexec.
32118         * tests/test-dup2.c (main): Skip portion of test if cloexec module
32119         not present.
32120         Suggested by Bruno Haible.
32121
32122 2009-12-26  Bruno Haible  <bruno@clisp.org>
32123
32124         Remove an unneeded dependency.
32125         * modules/fseterr (Depends-on): Remove dup2.
32126
32127 2009-12-26  Eric Blake  <ebb9@byu.net>
32128
32129         tests: use macros.h in more places
32130         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
32131         (ASSERT_STREAM): Provide default of stderr.
32132         * tests/test-dirent-safer.c: Include macros.h, using alternate
32133         stream for assertions.
32134         * tests/test-dup-safer.c: Likewise.
32135         * tests/test-freopen-safer.c: Likewise.
32136         * tests/test-getopt.c: Likewise.
32137         * tests/test-openat-safer.c: Likewise.
32138         * tests/test-pipe.c: Likewise.
32139         * tests/test-popen-safer.c: Likewise.
32140         * modules/dirent-safer-tests (Files): Include macros.h.
32141         * modules/unistd-safer-tests (Files): Likewise.
32142         * modules/freopen-safer-tests (Files): Likewise.
32143         * modules/getopt-posix-tests (Files): Likewise.
32144         * modules/openat-safer-tests (Files): Likewise.
32145         * modules/pipe-tests (Files): Likewise.
32146
32147 2009-12-26  Bruno Haible  <bruno@clisp.org>
32148
32149         javacomp: Portability fix.
32150         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
32151         that it also works on Solaris.
32152
32153 2009-12-26  Bruno Haible  <bruno@clisp.org>
32154
32155         localename: Fix storage allocation of gl_locale_name_thread's result.
32156         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
32157         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
32158         all platforms that have 'uselocale'.
32159         (gl_locale_name_thread_unsafe): New function, extracted from
32160         gl_locale_name_thread.
32161         (gl_locale_name_thread): Call struniq on all platforms that have
32162         'uselocale'.
32163         * tests/test-localename.c (test_locale_name_thread): Check that the
32164         resulting strings are permanently allocated.
32165         * modules/localename-tests (Depends-on): Add strdup.
32166
32167 2009-12-26  Bruno Haible  <bruno@clisp.org>
32168
32169         * tests/test-localename.c (categories): Fill in the strings.
32170
32171 2009-12-26  Jim Meyering  <meyering@redhat.com>
32172
32173         isdir: complete the removal of m4/isdir.m4
32174         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
32175
32176         isdir: clean up, since at least grep still uses it
32177         * lib/isdir.c: Include "isdir.h".
32178         (S_ISDIR): Remove now-unneeded definition.
32179         * modules/isdir (Files): Add lib/isdir.h.
32180         * lib/isdir.h: New file, with declaration.
32181         * m4/isdir.m4: Remove file -- unneeded.
32182
32183 2009-12-25  Bruno Haible  <bruno@clisp.org>
32184
32185         selinux-h: Make generated .h files standalone.
32186         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
32187         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
32188         * lib/se-selinux.in.h: Likewise.
32189         * modules/selinux-h (Depends-on): Add unused-parameter.
32190         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
32191         selinux/selinux.h and selinux/context.h.
32192         Suggested by Eric Blake.
32193
32194 2009-12-25  Bruno Haible  <bruno@clisp.org>
32195
32196         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
32197         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
32198         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
32199         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
32200         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
32201
32202 2009-12-24  Bruno Haible  <bruno@clisp.org>
32203
32204         openat: Fix warning.
32205         * lib/openat-proc.c: Include <unistd.h>.
32206
32207 2009-12-24  Bruno Haible  <bruno@clisp.org>
32208
32209         New module 'unused-parameter'.
32210         * build-aux/unused-parameter.h: New file, extracted from earlier
32211         gnulib-common.m4.
32212         * modules/unused-parameter: New file.
32213         * lib/unistr.h: Include unused-parameter.h.
32214         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
32215         _GL_UNUSED.
32216         * modules/unistr/base (Depends-on): Add unused-parameter.
32217
32218 2009-12-24  Bruno Haible  <bruno@clisp.org>
32219
32220         Add missing dependencies to 'extensions' module.
32221         * m4/extensions.m4: Add comment.
32222         * modules/accept4 (Depends-on): Add extensions.
32223         * modules/dup3 (Depends-on): Likewise.
32224         * modules/fcntl (Depends-on): Likewise.
32225         * modules/futimens (Depends-on): Likewise.
32226         * modules/mknod (Depends-on): Likewise.
32227         * modules/pipe2 (Depends-on): Likewise.
32228         * modules/stat-time (Depends-on): Likewise.
32229         * modules/strcasestr-simple (Depends-on): Likewise.
32230         * modules/strsignal (Depends-on): Likewise.
32231         * modules/utimensat (Depends-on): Likewise.
32232         * modules/localcharset (Depends-on): Likewise. Needed because of
32233         gl_FCNTL_O_FLAGS.
32234         * modules/wcrtomb (Depends-on): Likewise. Needed because of
32235         AC_TYPE_MBSTATE_T.
32236         * modules/wcsnrtombs (Depends-on): Likewise.
32237         * modules/wcsrtombs (Depends-on): Likewise.
32238
32239 2009-12-24  Bruno Haible  <bruno@clisp.org>
32240
32241         binary-io: Avoid gcc warning due to SET_BINARY.
32242         * lib/binary-io.h (SET_BINARY): Cast the result to void.
32243         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
32244
32245 2009-12-24  Bruno Haible  <bruno@clisp.org>
32246
32247         Avoid future namespace pollution on glibc systems.
32248         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
32249         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
32250         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
32251         glibc systems.
32252
32253 2009-12-24  Bruno Haible  <bruno@clisp.org>
32254
32255         Refactor common macros used in tests.
32256         * tests/macros.h: New file.
32257         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
32258         and/or <stdlib.h>, if appropriate.
32259         (ASSERT, SIZEOF): Remove macros.
32260         * tests/test-areadlink-with-size.c: Likewise.
32261         * tests/test-areadlinkat.c: Likewise.
32262         * tests/test-areadlinkat-with-size.c: Likewise.
32263         * tests/test-argmatch.c: Likewise.
32264         * tests/test-argv-iter.c: Likewise.
32265         * tests/test-array-mergesort.c: Likewise.
32266         * tests/test-array_list.c: Likewise.
32267         * tests/test-array_oset.c: Likewise.
32268         * tests/test-avltree_list.c: Likewise.
32269         * tests/test-avltree_oset.c: Likewise.
32270         * tests/test-avltreehash_list.c: Likewise.
32271         * tests/test-base64.c: Likewise.
32272         * tests/test-binary-io.c: Likewise.
32273         * tests/test-bitrotate.c: Likewise.
32274         * tests/test-btowc.c: Likewise.
32275         * tests/test-byteswap.c: Likewise.
32276         * tests/test-c-ctype.c: Likewise.
32277         * tests/test-c-stack.c: Likewise.
32278         * tests/test-c-strcasecmp.c: Likewise.
32279         * tests/test-c-strcasestr.c: Likewise.
32280         * tests/test-c-strncasecmp.c: Likewise.
32281         * tests/test-c-strstr.c: Likewise.
32282         * tests/test-canonicalize-lgpl.c: Likewise.
32283         * tests/test-canonicalize.c: Likewise.
32284         * tests/test-carray_list.c: Likewise.
32285         * tests/test-ceilf1.c: Likewise.
32286         * tests/test-ceilf2.c: Likewise.
32287         * tests/test-ceill.c: Likewise.
32288         * tests/test-chown.c: Likewise.
32289         * tests/test-cloexec.c: Likewise.
32290         * tests/test-copy-acl.c: Likewise.
32291         * tests/test-copy-file.c: Likewise.
32292         * tests/test-count-one-bits.c: Likewise.
32293         * tests/test-dprintf-posix.c: Likewise.
32294         * tests/test-dup2.c: Likewise.
32295         * tests/test-dup3.c: Likewise.
32296         * tests/test-duplocale.c: Likewise.
32297         * tests/test-fbufmode.c: Likewise.
32298         * tests/test-fchdir.c: Likewise.
32299         * tests/test-fchownat.c: Likewise.
32300         * tests/test-fcntl-safer.c: Likewise.
32301         * tests/test-fcntl.c: Likewise.
32302         * tests/test-fdopendir.c: Likewise.
32303         * tests/test-fdutimensat.c: Likewise.
32304         * tests/test-fflush2.c: Likewise.
32305         * tests/test-file-has-acl.c: Likewise.
32306         * tests/test-filevercmp.c: Likewise.
32307         * tests/test-flock.c: Likewise.
32308         * tests/test-floorf1.c: Likewise.
32309         * tests/test-floorf2.c: Likewise.
32310         * tests/test-floorl.c: Likewise.
32311         * tests/test-fnmatch.c: Likewise.
32312         * tests/test-fopen.h: Likewise.
32313         * tests/test-fpending.c: Likewise.
32314         * tests/test-fprintf-posix.c: Likewise.
32315         * tests/test-fpurge.c: Likewise.
32316         * tests/test-freadable.c: Likewise.
32317         * tests/test-freadahead.c: Likewise.
32318         * tests/test-freading.c: Likewise.
32319         * tests/test-freadptr.c: Likewise.
32320         * tests/test-freadptr2.c: Likewise.
32321         * tests/test-freadseek.c: Likewise.
32322         * tests/test-freopen.c: Likewise.
32323         * tests/test-frexp.c: Likewise.
32324         * tests/test-frexpl.c: Likewise.
32325         * tests/test-fseek.c: Likewise.
32326         * tests/test-fseeko.c: Likewise.
32327         * tests/test-fstatat.c: Likewise.
32328         * tests/test-fstrcmp.c: Likewise.
32329         * tests/test-fsync.c: Likewise.
32330         * tests/test-ftell.c: Likewise.
32331         * tests/test-ftello.c: Likewise.
32332         * tests/test-func.c: Likewise.
32333         * tests/test-futimens.c: Likewise.
32334         * tests/test-fwritable.c: Likewise.
32335         * tests/test-fwriting.c: Likewise.
32336         * tests/test-getcwd.c: Likewise.
32337         * tests/test-getdate.c: Likewise.
32338         * tests/test-getdelim.c: Likewise.
32339         * tests/test-getdtablesize.c: Likewise.
32340         * tests/test-getgroups.c: Likewise.
32341         * tests/test-getline.c: Likewise.
32342         * tests/test-getndelim2.c: Likewise.
32343         * tests/test-glob.c: Likewise.
32344         * tests/test-hash.c: Likewise.
32345         * tests/test-i-ring.c: Likewise.
32346         * tests/test-iconv-utf.c: Likewise.
32347         * tests/test-iconv.c: Likewise.
32348         * tests/test-idpriv-drop.c: Likewise.
32349         * tests/test-idpriv-droptemp.c: Likewise.
32350         * tests/test-inet_ntop.c: Likewise.
32351         * tests/test-inet_pton.c: Likewise.
32352         * tests/test-isblank.c: Likewise.
32353         * tests/test-isfinite.c: Likewise.
32354         * tests/test-isinf.c: Likewise.
32355         * tests/test-isnan.c: Likewise.
32356         * tests/test-isnand.h: Likewise.
32357         * tests/test-isnanf.h: Likewise.
32358         * tests/test-isnanl.h: Likewise.
32359         * tests/test-lchown.c: Likewise.
32360         * tests/test-ldexpl.c: Likewise.
32361         * tests/test-link.c: Likewise.
32362         * tests/test-linkat.c: Likewise.
32363         * tests/test-linked_list.c: Likewise.
32364         * tests/test-linkedhash_list.c: Likewise.
32365         * tests/test-localename.c: Likewise.
32366         * tests/test-lseek.c: Likewise.
32367         * tests/test-lstat.c: Likewise.
32368         * tests/test-mbmemcasecmp.c: Likewise.
32369         * tests/test-mbmemcasecoll.c: Likewise.
32370         * tests/test-mbrtowc.c: Likewise.
32371         * tests/test-mbscasecmp.c: Likewise.
32372         * tests/test-mbscasestr1.c: Likewise.
32373         * tests/test-mbscasestr2.c: Likewise.
32374         * tests/test-mbscasestr3.c: Likewise.
32375         * tests/test-mbscasestr4.c: Likewise.
32376         * tests/test-mbschr.c: Likewise.
32377         * tests/test-mbscspn.c: Likewise.
32378         * tests/test-mbsinit.c: Likewise.
32379         * tests/test-mbsncasecmp.c: Likewise.
32380         * tests/test-mbsnrtowcs.c: Likewise.
32381         * tests/test-mbspbrk.c: Likewise.
32382         * tests/test-mbspcasecmp.c: Likewise.
32383         * tests/test-mbsrchr.c: Likewise.
32384         * tests/test-mbsrtowcs.c: Likewise.
32385         * tests/test-mbsspn.c: Likewise.
32386         * tests/test-mbsstr1.c: Likewise.
32387         * tests/test-mbsstr2.c: Likewise.
32388         * tests/test-mbsstr3.c: Likewise.
32389         * tests/test-memchr.c: Likewise.
32390         * tests/test-memchr2.c: Likewise.
32391         * tests/test-memcmp.c: Likewise.
32392         * tests/test-memmem.c: Likewise.
32393         * tests/test-memrchr.c: Likewise.
32394         * tests/test-mkdir.c: Likewise.
32395         * tests/test-mkdirat.c: Likewise.
32396         * tests/test-mkfifo.c: Likewise.
32397         * tests/test-mkfifoat.c: Likewise.
32398         * tests/test-mknod.c: Likewise.
32399         * tests/test-nanosleep.c: Likewise.
32400         * tests/test-nl_langinfo.c: Likewise.
32401         * tests/test-obstack-printf.c: Likewise.
32402         * tests/test-open.c: Likewise.
32403         * tests/test-openat.c: Likewise.
32404         * tests/test-pipe-filter-gi1.c: Likewise.
32405         * tests/test-pipe-filter-gi2-main.c: Likewise.
32406         * tests/test-pipe-filter-ii1.c: Likewise.
32407         * tests/test-pipe-filter-ii2-main.c: Likewise.
32408         * tests/test-pipe2.c: Likewise.
32409         * tests/test-popen.h: Likewise.
32410         * tests/test-posixtm.c: Likewise.
32411         * tests/test-pread.c: Likewise.
32412         * tests/test-printf-frexp.c: Likewise.
32413         * tests/test-printf-frexpl.c: Likewise.
32414         * tests/test-printf-posix.c: Likewise.
32415         * tests/test-priv-set.c: Likewise.
32416         * tests/test-quotearg.c: Likewise.
32417         * tests/test-random_r.c: Likewise.
32418         * tests/test-rawmemchr.c: Likewise.
32419         * tests/test-rbtree_list.c: Likewise.
32420         * tests/test-rbtree_oset.c: Likewise.
32421         * tests/test-rbtreehash_list.c: Likewise.
32422         * tests/test-readlink.c: Likewise.
32423         * tests/test-remove.c: Likewise.
32424         * tests/test-rename.c: Likewise.
32425         * tests/test-renameat.c: Likewise.
32426         * tests/test-rmdir.c: Likewise.
32427         * tests/test-round1.c: Likewise.
32428         * tests/test-roundf1.c: Likewise.
32429         * tests/test-roundl.c: Likewise.
32430         * tests/test-safe-alloc.c: Likewise.
32431         * tests/test-sameacls.c: Likewise.
32432         * tests/test-set-mode-acl.c: Likewise.
32433         * tests/test-setenv.c: Likewise.
32434         * tests/test-sigaction.c: Likewise.
32435         * tests/test-signbit.c: Likewise.
32436         * tests/test-sleep.c: Likewise.
32437         * tests/test-snprintf-posix.c: Likewise.
32438         * tests/test-snprintf.c: Likewise.
32439         * tests/test-sprintf-posix.c: Likewise.
32440         * tests/test-stat-time.c: Likewise.
32441         * tests/test-stat.c: Likewise.
32442         * tests/test-strcasestr.c: Likewise.
32443         * tests/test-strchrnul.c: Likewise.
32444         * tests/test-strerror.c: Likewise.
32445         * tests/test-striconv.c: Likewise.
32446         * tests/test-striconveh.c: Likewise.
32447         * tests/test-striconveha.c: Likewise.
32448         * tests/test-strsignal.c: Likewise.
32449         * tests/test-strstr.c: Likewise.
32450         * tests/test-strtod.c: Likewise.
32451         * tests/test-strverscmp.c: Likewise.
32452         * tests/test-symlink.c: Likewise.
32453         * tests/test-symlinkat.c: Likewise.
32454         * tests/test-trunc1.c: Likewise.
32455         * tests/test-trunc2.c: Likewise.
32456         * tests/test-truncf1.c: Likewise.
32457         * tests/test-truncf2.c: Likewise.
32458         * tests/test-truncl.c: Likewise.
32459         * tests/test-uname.c: Likewise.
32460         * tests/test-unlink.c: Likewise.
32461         * tests/test-unlinkat.c: Likewise.
32462         * tests/test-unsetenv.c: Likewise.
32463         * tests/test-usleep.c: Likewise.
32464         * tests/test-utimens.c: Likewise.
32465         * tests/test-utimensat.c: Likewise.
32466         * tests/test-vasnprintf-posix.c: Likewise.
32467         * tests/test-vasnprintf-posix2.c: Likewise.
32468         * tests/test-vasnprintf.c: Likewise.
32469         * tests/test-vasprintf-posix.c: Likewise.
32470         * tests/test-vasprintf.c: Likewise.
32471         * tests/test-vdprintf-posix.c: Likewise.
32472         * tests/test-vfprintf-posix.c: Likewise.
32473         * tests/test-vprintf-posix.c: Likewise.
32474         * tests/test-vsnprintf-posix.c: Likewise.
32475         * tests/test-vsnprintf.c: Likewise.
32476         * tests/test-vsprintf-posix.c: Likewise.
32477         * tests/test-wcrtomb.c: Likewise.
32478         * tests/test-wcsnrtombs.c: Likewise.
32479         * tests/test-wcsrtombs.c: Likewise.
32480         * tests/test-wctype.c: Likewise.
32481         * tests/test-wcwidth.c: Likewise.
32482         * tests/test-xfprintf-posix.c: Likewise.
32483         * tests/test-xmemdup0.c: Likewise.
32484         * tests/test-xprintf-posix.c: Likewise.
32485         * tests/test-xvasprintf.c: Likewise.
32486         * tests/unicase/test-locale-language.c: Likewise.
32487         * tests/unicase/test-mapping-part1.h: Likewise.
32488         * tests/unicase/test-predicate-part1.h: Likewise.
32489         * tests/unicase/test-u8-casecmp.c: Likewise.
32490         * tests/unicase/test-u8-casecoll.c: Likewise.
32491         * tests/unicase/test-u8-casefold.c: Likewise.
32492         * tests/unicase/test-u8-is-cased.c: Likewise.
32493         * tests/unicase/test-u8-is-casefolded.c: Likewise.
32494         * tests/unicase/test-u8-is-lowercase.c: Likewise.
32495         * tests/unicase/test-u8-is-titlecase.c: Likewise.
32496         * tests/unicase/test-u8-is-uppercase.c: Likewise.
32497         * tests/unicase/test-u8-tolower.c: Likewise.
32498         * tests/unicase/test-u8-totitle.c: Likewise.
32499         * tests/unicase/test-u8-toupper.c: Likewise.
32500         * tests/unicase/test-u16-casecmp.c: Likewise.
32501         * tests/unicase/test-u16-casecoll.c: Likewise.
32502         * tests/unicase/test-u16-casefold.c: Likewise.
32503         * tests/unicase/test-u16-is-cased.c: Likewise.
32504         * tests/unicase/test-u16-is-casefolded.c: Likewise.
32505         * tests/unicase/test-u16-is-lowercase.c: Likewise.
32506         * tests/unicase/test-u16-is-titlecase.c: Likewise.
32507         * tests/unicase/test-u16-is-uppercase.c: Likewise.
32508         * tests/unicase/test-u16-tolower.c: Likewise.
32509         * tests/unicase/test-u16-totitle.c: Likewise.
32510         * tests/unicase/test-u16-toupper.c: Likewise.
32511         * tests/unicase/test-u32-casecmp.c: Likewise.
32512         * tests/unicase/test-u32-casecoll.c: Likewise.
32513         * tests/unicase/test-u32-casefold.c: Likewise.
32514         * tests/unicase/test-u32-is-cased.c: Likewise.
32515         * tests/unicase/test-u32-is-casefolded.c: Likewise.
32516         * tests/unicase/test-u32-is-lowercase.c: Likewise.
32517         * tests/unicase/test-u32-is-titlecase.c: Likewise.
32518         * tests/unicase/test-u32-is-uppercase.c: Likewise.
32519         * tests/unicase/test-u32-tolower.c: Likewise.
32520         * tests/unicase/test-u32-totitle.c: Likewise.
32521         * tests/unicase/test-u32-toupper.c: Likewise.
32522         * tests/unicase/test-ulc-casecmp.c: Likewise.
32523         * tests/unicase/test-ulc-casecoll.c: Likewise.
32524         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
32525         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
32526         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
32527         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
32528         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
32529         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
32530         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
32531         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
32532         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
32533         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
32534         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
32535         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
32536         * tests/unictype/test-bidi_byname.c: Likewise.
32537         * tests/unictype/test-bidi_name.c: Likewise.
32538         * tests/unictype/test-bidi_of.c: Likewise.
32539         * tests/unictype/test-bidi_test.c: Likewise.
32540         * tests/unictype/test-block_list.c: Likewise.
32541         * tests/unictype/test-block_of.c: Likewise.
32542         * tests/unictype/test-block_test.c: Likewise.
32543         * tests/unictype/test-categ_and.c: Likewise.
32544         * tests/unictype/test-categ_and_not.c: Likewise.
32545         * tests/unictype/test-categ_byname.c: Likewise.
32546         * tests/unictype/test-categ_name.c: Likewise.
32547         * tests/unictype/test-categ_none.c: Likewise.
32548         * tests/unictype/test-categ_of.c: Likewise.
32549         * tests/unictype/test-categ_or.c: Likewise.
32550         * tests/unictype/test-categ_test_withtable.c: Likewise.
32551         * tests/unictype/test-combining.c: Likewise.
32552         * tests/unictype/test-decdigit.c: Likewise.
32553         * tests/unictype/test-digit.c: Likewise.
32554         * tests/unictype/test-mirror.c: Likewise.
32555         * tests/unictype/test-numeric.c: Likewise.
32556         * tests/unictype/test-pr_byname.c: Likewise.
32557         * tests/unictype/test-pr_test.c: Likewise.
32558         * tests/unictype/test-predicate-part1.h: Likewise.
32559         * tests/unictype/test-scripts.c: Likewise.
32560         * tests/unictype/test-sy_c_ident.c: Likewise.
32561         * tests/unictype/test-sy_java_ident.c: Likewise.
32562         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
32563         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
32564         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
32565         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
32566         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
32567         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
32568         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
32569         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
32570         * tests/uninorm/test-canonical-decomposition.c: Likewise.
32571         * tests/uninorm/test-compat-decomposition.c: Likewise.
32572         * tests/uninorm/test-composition.c: Likewise.
32573         * tests/uninorm/test-decomposing-form.c: Likewise.
32574         * tests/uninorm/test-decomposition.c: Likewise.
32575         * tests/uninorm/test-u8-nfc.c: Likewise.
32576         * tests/uninorm/test-u8-nfd.c: Likewise.
32577         * tests/uninorm/test-u8-nfkc.c: Likewise.
32578         * tests/uninorm/test-u8-nfkd.c: Likewise.
32579         * tests/uninorm/test-u8-normcmp.c: Likewise.
32580         * tests/uninorm/test-u8-normcoll.c: Likewise.
32581         * tests/uninorm/test-u16-nfc.c: Likewise.
32582         * tests/uninorm/test-u16-nfd.c: Likewise.
32583         * tests/uninorm/test-u16-nfkc.c: Likewise.
32584         * tests/uninorm/test-u16-nfkd.c: Likewise.
32585         * tests/uninorm/test-u16-normcmp.c: Likewise.
32586         * tests/uninorm/test-u16-normcoll.c: Likewise.
32587         * tests/uninorm/test-u32-nfc.c: Likewise.
32588         * tests/uninorm/test-u32-nfd.c: Likewise.
32589         * tests/uninorm/test-u32-nfkc.c: Likewise.
32590         * tests/uninorm/test-u32-nfkd.c: Likewise.
32591         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32592         * tests/uninorm/test-u32-normcmp.c: Likewise.
32593         * tests/uninorm/test-u32-normcoll.c: Likewise.
32594         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
32595         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
32596         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
32597         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
32598         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
32599         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
32600         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
32601         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
32602         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
32603         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
32604         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
32605         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
32606         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
32607         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
32608         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
32609         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
32610         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
32611         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
32612         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
32613         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
32614         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
32615         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
32616         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
32617         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
32618         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
32619         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
32620         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
32621         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
32622         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
32623         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
32624         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
32625         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
32626         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
32627         * tests/uniwidth/test-u8-strwidth.c: Likewise.
32628         * tests/uniwidth/test-u8-width.c: Likewise.
32629         * tests/uniwidth/test-u16-strwidth.c: Likewise.
32630         * tests/uniwidth/test-u16-width.c: Likewise.
32631         * tests/uniwidth/test-u32-strwidth.c: Likewise.
32632         * tests/uniwidth/test-u32-width.c: Likewise.
32633         * tests/uniwidth/test-uc_width.c: Likewise.
32634         * tests/uniwidth/test-uc_width2.c: Likewise.
32635         * modules/acl-tests (Files): Add tests/macros.h.
32636         * modules/areadlink-tests (Files): Likewise.
32637         * modules/areadlink-with-size-tests (Files): Likewise.
32638         * modules/areadlinkat-tests (Files): Likewise.
32639         * modules/areadlinkat-with-size-tests (Files): Likewise.
32640         * modules/argmatch-tests (Files): Likewise.
32641         * modules/argv-iter-tests (Files): Likewise.
32642         * modules/array-list-tests (Files): Likewise.
32643         * modules/array-mergesort-tests (Files): Likewise.
32644         * modules/array-oset-tests (Files): Likewise.
32645         * modules/avltree-list-tests (Files): Likewise.
32646         * modules/avltree-oset-tests (Files): Likewise.
32647         * modules/avltreehash-list-tests (Files): Likewise.
32648         * modules/base64-tests (Files): Likewise.
32649         * modules/binary-io-tests (Files): Likewise.
32650         * modules/bitrotate-tests (Files): Likewise.
32651         * modules/btowc-tests (Files): Likewise.
32652         * modules/byteswap-tests (Files): Likewise.
32653         * modules/c-ctype-tests (Files): Likewise.
32654         * modules/c-stack-tests (Files): Likewise.
32655         * modules/c-strcase-tests (Files): Likewise.
32656         * modules/c-strcasestr-tests (Files): Likewise.
32657         * modules/c-strstr-tests (Files): Likewise.
32658         * modules/canonicalize-lgpl-tests (Files): Likewise.
32659         * modules/canonicalize-tests (Files): Likewise.
32660         * modules/carray-list-tests (Files): Likewise.
32661         * modules/ceilf-tests (Files): Likewise.
32662         * modules/ceill-tests (Files): Likewise.
32663         * modules/chown-tests (Files): Likewise.
32664         * modules/cloexec-tests (Files): Likewise.
32665         * modules/copy-file-tests (Files): Likewise.
32666         * modules/count-one-bits-tests (Files): Likewise.
32667         * modules/dprintf-posix-tests (Files): Likewise.
32668         * modules/dup2-tests (Files): Likewise.
32669         * modules/dup3-tests (Files): Likewise.
32670         * modules/duplocale-tests (Files): Likewise.
32671         * modules/fbufmode-tests (Files): Likewise.
32672         * modules/fchdir-tests (Files): Likewise.
32673         * modules/fcntl-safer-tests (Files): Likewise.
32674         * modules/fcntl-tests (Files): Likewise.
32675         * modules/fdopendir-tests (Files): Likewise.
32676         * modules/fdutimensat-tests (Files): Likewise.
32677         * modules/fflush-tests (Files): Likewise.
32678         * modules/filevercmp-tests (Files): Likewise.
32679         * modules/flock-tests (Files): Likewise.
32680         * modules/floorf-tests (Files): Likewise.
32681         * modules/floorl-tests (Files): Likewise.
32682         * modules/fnmatch-tests (Files): Likewise.
32683         * modules/fopen-safer-tests (Files): Likewise.
32684         * modules/fopen-tests (Files): Likewise.
32685         * modules/fpending-tests (Files): Likewise.
32686         * modules/fprintf-posix-tests (Files): Likewise.
32687         * modules/fpurge-tests (Files): Likewise.
32688         * modules/freadable-tests (Files): Likewise.
32689         * modules/freadahead-tests (Files): Likewise.
32690         * modules/freading-tests (Files): Likewise.
32691         * modules/freadptr-tests (Files): Likewise.
32692         * modules/freadseek-tests (Files): Likewise.
32693         * modules/freopen-tests (Files): Likewise.
32694         * modules/frexp-nolibm-tests (Files): Likewise.
32695         * modules/frexp-tests (Files): Likewise.
32696         * modules/frexpl-nolibm-tests (Files): Likewise.
32697         * modules/frexpl-tests (Files): Likewise.
32698         * modules/fseek-tests (Files): Likewise.
32699         * modules/fseeko-tests (Files): Likewise.
32700         * modules/fstrcmp-tests (Files): Likewise.
32701         * modules/fsync-tests (Files): Likewise.
32702         * modules/ftell-tests (Files): Likewise.
32703         * modules/ftello-tests (Files): Likewise.
32704         * modules/func-tests (Files): Likewise.
32705         * modules/futimens-tests (Files): Likewise.
32706         * modules/fwritable-tests (Files): Likewise.
32707         * modules/fwriting-tests (Files): Likewise.
32708         * modules/getcwd-tests (Files): Likewise.
32709         * modules/getdate-tests (Files): Likewise.
32710         * modules/getdelim-tests (Files): Likewise.
32711         * modules/getdtablesize-tests (Files): Likewise.
32712         * modules/getgroups-tests (Files): Likewise.
32713         * modules/getline-tests (Files): Likewise.
32714         * modules/getndelim2-tests (Files): Likewise.
32715         * modules/glob-tests (Files): Likewise.
32716         * modules/hash-tests (Files): Likewise.
32717         * modules/i-ring-tests (Files): Likewise.
32718         * modules/iconv-tests (Files): Likewise.
32719         * modules/iconv_open-utf-tests (Files): Likewise.
32720         * modules/idpriv-drop-tests (Files): Likewise.
32721         * modules/idpriv-droptemp-tests (Files): Likewise.
32722         * modules/inet_ntop-tests (Files): Likewise.
32723         * modules/inet_pton-tests (Files): Likewise.
32724         * modules/isblank-tests (Files): Likewise.
32725         * modules/isfinite-tests (Files): Likewise.
32726         * modules/isinf-tests (Files): Likewise.
32727         * modules/isnan-tests (Files): Likewise.
32728         * modules/isnand-nolibm-tests (Files): Likewise.
32729         * modules/isnand-tests (Files): Likewise.
32730         * modules/isnanf-nolibm-tests (Files): Likewise.
32731         * modules/isnanf-tests (Files): Likewise.
32732         * modules/isnanl-nolibm-tests (Files): Likewise.
32733         * modules/isnanl-tests (Files): Likewise.
32734         * modules/lchown-tests (Files): Likewise.
32735         * modules/ldexpl-tests (Files): Likewise.
32736         * modules/link-tests (Files): Likewise.
32737         * modules/linkat-tests (Files): Likewise.
32738         * modules/linked-list-tests (Files): Likewise.
32739         * modules/linkedhash-list-tests (Files): Likewise.
32740         * modules/localename-tests (Files): Likewise.
32741         * modules/lseek-tests (Files): Likewise.
32742         * modules/lstat-tests (Files): Likewise.
32743         * modules/mbmemcasecmp-tests (Files): Likewise.
32744         * modules/mbmemcasecoll-tests (Files): Likewise.
32745         * modules/mbrtowc-tests (Files): Likewise.
32746         * modules/mbscasecmp-tests (Files): Likewise.
32747         * modules/mbscasestr-tests (Files): Likewise.
32748         * modules/mbschr-tests (Files): Likewise.
32749         * modules/mbscspn-tests (Files): Likewise.
32750         * modules/mbsinit-tests (Files): Likewise.
32751         * modules/mbsncasecmp-tests (Files): Likewise.
32752         * modules/mbsnrtowcs-tests (Files): Likewise.
32753         * modules/mbspbrk-tests (Files): Likewise.
32754         * modules/mbspcasecmp-tests (Files): Likewise.
32755         * modules/mbsrchr-tests (Files): Likewise.
32756         * modules/mbsrtowcs-tests (Files): Likewise.
32757         * modules/mbsspn-tests (Files): Likewise.
32758         * modules/mbsstr-tests (Files): Likewise.
32759         * modules/memchr-tests (Files): Likewise.
32760         * modules/memchr2-tests (Files): Likewise.
32761         * modules/memcmp-tests (Files): Likewise.
32762         * modules/memmem-tests (Files): Likewise.
32763         * modules/memrchr-tests (Files): Likewise.
32764         * modules/mkdir-tests (Files): Likewise.
32765         * modules/mkfifo-tests (Files): Likewise.
32766         * modules/mkfifoat-tests (Files): Likewise.
32767         * modules/mknod-tests (Files): Likewise.
32768         * modules/nanosleep-tests (Files): Likewise.
32769         * modules/nl_langinfo-tests (Files): Likewise.
32770         * modules/obstack-printf-tests (Files): Likewise.
32771         * modules/open-tests (Files): Likewise.
32772         * modules/openat-tests (Files): Likewise.
32773         * modules/pipe-filter-gi-tests (Files): Likewise.
32774         * modules/pipe-filter-ii-tests (Files): Likewise.
32775         * modules/pipe2-tests (Files): Likewise.
32776         * modules/popen-safer-tests (Files): Likewise.
32777         * modules/popen-tests (Files): Likewise.
32778         * modules/posixtm-tests (Files): Likewise.
32779         * modules/pread-tests (Files): Likewise.
32780         * modules/printf-frexp-tests (Files): Likewise.
32781         * modules/printf-frexpl-tests (Files): Likewise.
32782         * modules/printf-posix-tests (Files): Likewise.
32783         * modules/priv-set-tests (Files): Likewise.
32784         * modules/quotearg-tests (Files): Likewise.
32785         * modules/random_r-tests (Files): Likewise.
32786         * modules/rawmemchr-tests (Files): Likewise.
32787         * modules/rbtree-list-tests (Files): Likewise.
32788         * modules/rbtree-oset-tests (Files): Likewise.
32789         * modules/rbtreehash-list-tests (Files): Likewise.
32790         * modules/readlink-tests (Files): Likewise.
32791         * modules/remove-tests (Files): Likewise.
32792         * modules/rename-tests (Files): Likewise.
32793         * modules/renameat-tests (Files): Likewise.
32794         * modules/rmdir-tests (Files): Likewise.
32795         * modules/round-tests (Files): Likewise.
32796         * modules/roundf-tests (Files): Likewise.
32797         * modules/roundl-tests (Files): Likewise.
32798         * modules/safe-alloc-tests (Files): Likewise.
32799         * modules/setenv-tests (Files): Likewise.
32800         * modules/sigaction-tests (Files): Likewise.
32801         * modules/signbit-tests (Files): Likewise.
32802         * modules/sleep-tests (Files): Likewise.
32803         * modules/snprintf-posix-tests (Files): Likewise.
32804         * modules/snprintf-tests (Files): Likewise.
32805         * modules/sprintf-posix-tests (Files): Likewise.
32806         * modules/stat-tests (Files): Likewise.
32807         * modules/stat-time-tests (Files): Likewise.
32808         * modules/strcasestr-tests (Files): Likewise.
32809         * modules/strchrnul-tests (Files): Likewise.
32810         * modules/strerror-tests (Files): Likewise.
32811         * modules/striconv-tests (Files): Likewise.
32812         * modules/striconveh-tests (Files): Likewise.
32813         * modules/striconveha-tests (Files): Likewise.
32814         * modules/strsignal-tests (Files): Likewise.
32815         * modules/strstr-tests (Files): Likewise.
32816         * modules/strtod-tests (Files): Likewise.
32817         * modules/strverscmp-tests (Files): Likewise.
32818         * modules/symlink-tests (Files): Likewise.
32819         * modules/symlinkat-tests (Files): Likewise.
32820         * modules/trunc-tests (Files): Likewise.
32821         * modules/truncf-tests (Files): Likewise.
32822         * modules/truncl-tests (Files): Likewise.
32823         * modules/uname-tests (Files): Likewise.
32824         * modules/unicase/cased-tests (Files): Likewise.
32825         * modules/unicase/ignorable-tests (Files): Likewise.
32826         * modules/unicase/locale-language-tests (Files): Likewise.
32827         * modules/unicase/tolower-tests (Files): Likewise.
32828         * modules/unicase/totitle-tests (Files): Likewise.
32829         * modules/unicase/toupper-tests (Files): Likewise.
32830         * modules/unicase/u8-casecmp-tests (Files): Likewise.
32831         * modules/unicase/u8-casecoll-tests (Files): Likewise.
32832         * modules/unicase/u8-casefold-tests (Files): Likewise.
32833         * modules/unicase/u8-is-cased-tests (Files): Likewise.
32834         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
32835         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
32836         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
32837         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
32838         * modules/unicase/u8-tolower-tests (Files): Likewise.
32839         * modules/unicase/u8-totitle-tests (Files): Likewise.
32840         * modules/unicase/u8-toupper-tests (Files): Likewise.
32841         * modules/unicase/u16-casecmp-tests (Files): Likewise.
32842         * modules/unicase/u16-casecoll-tests (Files): Likewise.
32843         * modules/unicase/u16-casefold-tests (Files): Likewise.
32844         * modules/unicase/u16-is-cased-tests (Files): Likewise.
32845         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
32846         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
32847         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
32848         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
32849         * modules/unicase/u16-tolower-tests (Files): Likewise.
32850         * modules/unicase/u16-totitle-tests (Files): Likewise.
32851         * modules/unicase/u16-toupper-tests (Files): Likewise.
32852         * modules/unicase/u32-casecmp-tests (Files): Likewise.
32853         * modules/unicase/u32-casecoll-tests (Files): Likewise.
32854         * modules/unicase/u32-casefold-tests (Files): Likewise.
32855         * modules/unicase/u32-is-cased-tests (Files): Likewise.
32856         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
32857         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
32858         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
32859         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
32860         * modules/unicase/u32-tolower-tests (Files): Likewise.
32861         * modules/unicase/u32-totitle-tests (Files): Likewise.
32862         * modules/unicase/u32-toupper-tests (Files): Likewise.
32863         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
32864         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
32865         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
32866         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
32867         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
32868         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
32869         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
32870         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
32871         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
32872         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
32873         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
32874         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
32875         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
32876         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
32877         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
32878         * modules/unictype/bidicategory-name-tests (Files): Likewise.
32879         * modules/unictype/bidicategory-of-tests (Files): Likewise.
32880         * modules/unictype/bidicategory-test-tests (Files): Likewise.
32881         * modules/unictype/block-list-tests (Files): Likewise.
32882         * modules/unictype/block-of-tests (Files): Likewise.
32883         * modules/unictype/block-test-tests (Files): Likewise.
32884         * modules/unictype/category-C-tests (Files): Likewise.
32885         * modules/unictype/category-Cc-tests (Files): Likewise.
32886         * modules/unictype/category-Cf-tests (Files): Likewise.
32887         * modules/unictype/category-Cn-tests (Files): Likewise.
32888         * modules/unictype/category-Co-tests (Files): Likewise.
32889         * modules/unictype/category-Cs-tests (Files): Likewise.
32890         * modules/unictype/category-L-tests (Files): Likewise.
32891         * modules/unictype/category-Ll-tests (Files): Likewise.
32892         * modules/unictype/category-Lm-tests (Files): Likewise.
32893         * modules/unictype/category-Lo-tests (Files): Likewise.
32894         * modules/unictype/category-Lt-tests (Files): Likewise.
32895         * modules/unictype/category-Lu-tests (Files): Likewise.
32896         * modules/unictype/category-M-tests (Files): Likewise.
32897         * modules/unictype/category-Mc-tests (Files): Likewise.
32898         * modules/unictype/category-Me-tests (Files): Likewise.
32899         * modules/unictype/category-Mn-tests (Files): Likewise.
32900         * modules/unictype/category-N-tests (Files): Likewise.
32901         * modules/unictype/category-Nd-tests (Files): Likewise.
32902         * modules/unictype/category-Nl-tests (Files): Likewise.
32903         * modules/unictype/category-No-tests (Files): Likewise.
32904         * modules/unictype/category-P-tests (Files): Likewise.
32905         * modules/unictype/category-Pc-tests (Files): Likewise.
32906         * modules/unictype/category-Pd-tests (Files): Likewise.
32907         * modules/unictype/category-Pe-tests (Files): Likewise.
32908         * modules/unictype/category-Pf-tests (Files): Likewise.
32909         * modules/unictype/category-Pi-tests (Files): Likewise.
32910         * modules/unictype/category-Po-tests (Files): Likewise.
32911         * modules/unictype/category-Ps-tests (Files): Likewise.
32912         * modules/unictype/category-S-tests (Files): Likewise.
32913         * modules/unictype/category-Sc-tests (Files): Likewise.
32914         * modules/unictype/category-Sk-tests (Files): Likewise.
32915         * modules/unictype/category-Sm-tests (Files): Likewise.
32916         * modules/unictype/category-So-tests (Files): Likewise.
32917         * modules/unictype/category-Z-tests (Files): Likewise.
32918         * modules/unictype/category-Zl-tests (Files): Likewise.
32919         * modules/unictype/category-Zp-tests (Files): Likewise.
32920         * modules/unictype/category-Zs-tests (Files): Likewise.
32921         * modules/unictype/category-and-not-tests (Files): Likewise.
32922         * modules/unictype/category-and-tests (Files): Likewise.
32923         * modules/unictype/category-byname-tests (Files): Likewise.
32924         * modules/unictype/category-name-tests (Files): Likewise.
32925         * modules/unictype/category-none-tests (Files): Likewise.
32926         * modules/unictype/category-of-tests (Files): Likewise.
32927         * modules/unictype/category-or-tests (Files): Likewise.
32928         * modules/unictype/category-test-withtable-tests (Files): Likewise.
32929         * modules/unictype/combining-class-tests (Files): Likewise.
32930         * modules/unictype/ctype-alnum-tests (Files): Likewise.
32931         * modules/unictype/ctype-alpha-tests (Files): Likewise.
32932         * modules/unictype/ctype-blank-tests (Files): Likewise.
32933         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
32934         * modules/unictype/ctype-digit-tests (Files): Likewise.
32935         * modules/unictype/ctype-graph-tests (Files): Likewise.
32936         * modules/unictype/ctype-lower-tests (Files): Likewise.
32937         * modules/unictype/ctype-print-tests (Files): Likewise.
32938         * modules/unictype/ctype-punct-tests (Files): Likewise.
32939         * modules/unictype/ctype-space-tests (Files): Likewise.
32940         * modules/unictype/ctype-upper-tests (Files): Likewise.
32941         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
32942         * modules/unictype/decimal-digit-tests (Files): Likewise.
32943         * modules/unictype/digit-tests (Files): Likewise.
32944         * modules/unictype/mirror-tests (Files): Likewise.
32945         * modules/unictype/numeric-tests (Files): Likewise.
32946         * modules/unictype/property-alphabetic-tests (Files): Likewise.
32947         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
32948         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
32949         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
32950         Likewise.
32951         * modules/unictype/property-bidi-block-separator-tests (Files):
32952         Likewise.
32953         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
32954         Likewise.
32955         * modules/unictype/property-bidi-common-separator-tests (Files):
32956         Likewise.
32957         * modules/unictype/property-bidi-control-tests (Files): Likewise.
32958         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
32959         Likewise.
32960         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
32961         Likewise.
32962         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
32963         Likewise.
32964         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
32965         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
32966         Likewise.
32967         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
32968         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
32969         Likewise.
32970         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
32971         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
32972         * modules/unictype/property-bidi-segment-separator-tests (Files):
32973         Likewise.
32974         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
32975         * modules/unictype/property-byname-tests (Files): Likewise.
32976         * modules/unictype/property-combining-tests (Files): Likewise.
32977         * modules/unictype/property-composite-tests (Files): Likewise.
32978         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
32979         * modules/unictype/property-dash-tests (Files): Likewise.
32980         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
32981         * modules/unictype/property-default-ignorable-code-point-tests (Files):
32982         Likewise.
32983         * modules/unictype/property-deprecated-tests (Files): Likewise.
32984         * modules/unictype/property-diacritic-tests (Files): Likewise.
32985         * modules/unictype/property-extender-tests (Files): Likewise.
32986         * modules/unictype/property-format-control-tests (Files): Likewise.
32987         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
32988         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
32989         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
32990         * modules/unictype/property-hex-digit-tests (Files): Likewise.
32991         * modules/unictype/property-hyphen-tests (Files): Likewise.
32992         * modules/unictype/property-id-continue-tests (Files): Likewise.
32993         * modules/unictype/property-id-start-tests (Files): Likewise.
32994         * modules/unictype/property-ideographic-tests (Files): Likewise.
32995         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
32996         * modules/unictype/property-ids-trinary-operator-tests (Files):
32997         Likewise.
32998         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
32999         * modules/unictype/property-iso-control-tests (Files): Likewise.
33000         * modules/unictype/property-join-control-tests (Files): Likewise.
33001         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
33002         * modules/unictype/property-line-separator-tests (Files): Likewise.
33003         * modules/unictype/property-logical-order-exception-tests (Files):
33004         Likewise.
33005         * modules/unictype/property-lowercase-tests (Files): Likewise.
33006         * modules/unictype/property-math-tests (Files): Likewise.
33007         * modules/unictype/property-non-break-tests (Files): Likewise.
33008         * modules/unictype/property-not-a-character-tests (Files): Likewise.
33009         * modules/unictype/property-numeric-tests (Files): Likewise.
33010         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
33011         * modules/unictype/property-other-default-ignorable-code-point-tests
33012         (Files): Likewise.
33013         * modules/unictype/property-other-grapheme-extend-tests (Files):
33014         Likewise.
33015         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
33016         * modules/unictype/property-other-id-start-tests (Files): Likewise.
33017         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
33018         * modules/unictype/property-other-math-tests (Files): Likewise.
33019         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
33020         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
33021         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
33022         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
33023         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
33024         * modules/unictype/property-private-use-tests (Files): Likewise.
33025         * modules/unictype/property-punctuation-tests (Files): Likewise.
33026         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
33027         * modules/unictype/property-radical-tests (Files): Likewise.
33028         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
33029         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
33030         * modules/unictype/property-space-tests (Files): Likewise.
33031         * modules/unictype/property-terminal-punctuation-tests (Files):
33032         Likewise.
33033         * modules/unictype/property-test-tests (Files): Likewise.
33034         * modules/unictype/property-titlecase-tests (Files): Likewise.
33035         * modules/unictype/property-unassigned-code-value-tests (Files):
33036         Likewise.
33037         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
33038         * modules/unictype/property-uppercase-tests (Files): Likewise.
33039         * modules/unictype/property-variation-selector-tests (Files): Likewise.
33040         * modules/unictype/property-white-space-tests (Files): Likewise.
33041         * modules/unictype/property-xid-continue-tests (Files): Likewise.
33042         * modules/unictype/property-xid-start-tests (Files): Likewise.
33043         * modules/unictype/property-zero-width-tests (Files): Likewise.
33044         * modules/unictype/scripts-tests (Files): Likewise.
33045         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
33046         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
33047         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
33048         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
33049         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
33050         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
33051         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
33052         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
33053         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
33054         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
33055         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
33056         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
33057         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
33058         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
33059         * modules/uninorm/composition-tests (Files): Likewise.
33060         * modules/uninorm/decomposing-form-tests (Files): Likewise.
33061         * modules/uninorm/decomposition-tests (Files): Likewise.
33062         * modules/uninorm/filter-tests (Files): Likewise.
33063         * modules/uninorm/nfc-tests (Files): Likewise.
33064         * modules/uninorm/nfd-tests (Files): Likewise.
33065         * modules/uninorm/nfkc-tests (Files): Likewise.
33066         * modules/uninorm/nfkd-tests (Files): Likewise.
33067         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
33068         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
33069         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
33070         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
33071         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
33072         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
33073         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
33074         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33075         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
33076         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
33077         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
33078         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
33079         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33080         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
33081         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
33082         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
33083         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
33084         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33085         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
33086         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
33087         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
33088         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
33089         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33090         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
33091         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
33092         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
33093         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
33094         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
33095         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
33096         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
33097         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
33098         * modules/uniwidth/u8-width-tests (Files): Likewise.
33099         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
33100         * modules/uniwidth/u16-width-tests (Files): Likewise.
33101         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
33102         * modules/uniwidth/u32-width-tests (Files): Likewise.
33103         * modules/uniwidth/width-tests (Files): Likewise.
33104         * modules/unlink-tests (Files): Likewise.
33105         * modules/unsetenv-tests (Files): Likewise.
33106         * modules/usleep-tests (Files): Likewise.
33107         * modules/utimens-tests (Files): Likewise.
33108         * modules/utimensat-tests (Files): Likewise.
33109         * modules/vasnprintf-posix-tests (Files): Likewise.
33110         * modules/vasnprintf-tests (Files): Likewise.
33111         * modules/vasprintf-posix-tests (Files): Likewise.
33112         * modules/vasprintf-tests (Files): Likewise.
33113         * modules/vdprintf-posix-tests (Files): Likewise.
33114         * modules/vfprintf-posix-tests (Files): Likewise.
33115         * modules/vprintf-posix-tests (Files): Likewise.
33116         * modules/vsnprintf-posix-tests (Files): Likewise.
33117         * modules/vsnprintf-tests (Files): Likewise.
33118         * modules/vsprintf-posix-tests (Files): Likewise.
33119         * modules/wcrtomb-tests (Files): Likewise.
33120         * modules/wcsnrtombs-tests (Files): Likewise.
33121         * modules/wcsrtombs-tests (Files): Likewise.
33122         * modules/wctype-tests (Files): Likewise.
33123         * modules/wcwidth-tests (Files): Likewise.
33124         * modules/xmemdup0-tests (Files): Likewise.
33125         * modules/xprintf-posix-tests (Files): Likewise.
33126         * modules/xvasprintf-tests (Files): Likewise.
33127
33128 2009-12-24  Eric Blake  <ebb9@byu.net>
33129
33130         test-nanosleep: fix typo
33131         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
33132         patch.
33133         Reported by Bruno Haible.
33134
33135 2009-12-24  Bruno Haible  <bruno@clisp.org>
33136
33137         Reduce namespace pollution on glibc systems.
33138         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
33139         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
33140         systems.
33141         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
33142         <getopt.h> on glibc systems.
33143         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
33144         systems.
33145         * lib/fcntl.c: Include <unistd.h> here instead.
33146
33147 2009-12-24  Bruno Haible  <bruno@clisp.org>
33148
33149         * lib/stdlib.in.h (includes): Fix typo in today's commit.
33150
33151 2009-12-24  Eric Blake  <ebb9@byu.net>
33152
33153         tests: add signature checks
33154         * tests/signature.h (SIGNATURE_CHECK): New file.
33155         * modules/atexit-tests (Files): Use it.
33156         * modules/btowc-tests (Files): Likewise.
33157         * modules/canonicalize-lgpl-tests (Files): Likewise.
33158         * modules/ceilf-tests (Files): Likewise.
33159         * modules/ceill-tests (Files): Likewise.
33160         * modules/chown-tests (Files): Likewise.
33161         * modules/dprintf-posix-tests (Files): Likewise.
33162         * modules/dup2-tests (Files): Likewise.
33163         * modules/dup3-tests (Files): Likewise.
33164         * modules/duplocale-tests (Files): Likewise.
33165         * modules/fchdir-tests (Files): Likewise.
33166         * modules/fcntl-tests (Files): Likewise.
33167         * modules/fdopendir-tests (Files): Likewise.
33168         * modules/fflush-tests (Files): Likewise.
33169         * modules/flock-tests (Files): Likewise.
33170         * modules/floorf-tests (Files): Likewise.
33171         * modules/floorl-tests (Files): Likewise.
33172         * modules/fnmatch-tests (Files): Likewise.
33173         * modules/fopen-tests (Files): Likewise.
33174         * modules/fprintf-posix-tests (Files): Likewise.
33175         * modules/freopen-tests (Files): Likewise.
33176         * modules/frexp-nolibm-tests (Files): Likewise.
33177         * modules/frexp-tests (Files): Likewise.
33178         * modules/frexpl-nolibm-tests (Files): Likewise.
33179         * modules/frexpl-tests (Files): Likewise.
33180         * modules/fseek-tests (Files): Likewise.
33181         * modules/fseeko-tests (Files): Likewise.
33182         * modules/fsync-tests (Files): Likewise.
33183         * modules/ftell-tests (Files): Likewise.
33184         * modules/ftello-tests (Files): Likewise.
33185         * modules/futimens-tests (Files): Likewise.
33186         * modules/getaddrinfo-tests (Files): Likewise.
33187         * modules/getcwd-tests (Files): Likewise.
33188         * modules/getdelim-tests (Files): Likewise.
33189         * modules/getdtablesize-tests (Files): Likewise.
33190         * modules/getgroups-tests (Files): Likewise.
33191         * modules/gethostname-tests (Files): Likewise.
33192         * modules/getline-tests (Files): Likewise.
33193         * modules/getopt-posix-tests (Files): Likewise.
33194         * modules/gettimeofday-tests (Files): Likewise.
33195         * modules/glob-tests (Files): Likewise.
33196         * modules/iconv-tests (Files): Likewise.
33197         * modules/inet_ntop-tests (Files): Likewise.
33198         * modules/inet_pton-tests (Files): Likewise.
33199         * modules/isblank-tests (Files): Likewise.
33200         * modules/lchown-tests (Files): Likewise.
33201         * modules/ldexpl-tests (Files): Likewise.
33202         * modules/link-tests (Files): Likewise.
33203         * modules/linkat-tests (Files): Likewise.
33204         * modules/lseek-tests (Files): Likewise.
33205         * modules/lstat-tests (Files): Likewise.
33206         * modules/mbrtowc-tests (Files): Likewise.
33207         * modules/mbsinit-tests (Files): Likewise.
33208         * modules/mbsnrtowcs-tests (Files): Likewise.
33209         * modules/mbsrtowcs-tests (Files): Likewise.
33210         * modules/memchr-tests (Files): Likewise.
33211         * modules/memcmp-tests (Files): Likewise.
33212         * modules/memmem-tests (Files): Likewise.
33213         * modules/memrchr-tests (Files): Likewise.
33214         * modules/mkdir-tests (Files): Likewise.
33215         * modules/mkfifo-tests (Files): Likewise.
33216         * modules/mkfifoat-tests (Files): Likewise.
33217         * modules/mknod-tests (Files): Likewise.
33218         * modules/nanosleep-tests (Files): Likewise.
33219         * modules/nl_langinfo-tests (Files): Likewise.
33220         * modules/obstack-printf-tests (Files): Likewise.
33221         * modules/open-tests (Files): Likewise.
33222         * modules/openat-tests (Files): Likewise.
33223         * modules/perror-tests (Files): Likewise.
33224         * modules/pipe2-tests (Files): Likewise.
33225         * modules/poll-tests (Files): Likewise.
33226         * modules/popen-tests (Files): Likewise.
33227         * modules/posix_spawn-tests (Files): Likewise.
33228         * modules/posix_spawnp-tests (Files): Likewise.
33229         * modules/pread-tests (Files): Likewise.
33230         * modules/printf-posix-tests (Files): Likewise.
33231         * modules/pty-tests (Files): Likewise.
33232         * modules/random_r-tests (Files): Likewise.
33233         * modules/rawmemchr-tests (Files): Likewise.
33234         * modules/readlink-tests (Files): Likewise.
33235         * modules/remove-tests (Files): Likewise.
33236         * modules/rename-tests (Files): Likewise.
33237         * modules/renameat-tests (Files): Likewise.
33238         * modules/rmdir-tests (Files): Likewise.
33239         * modules/round-tests (Files): Likewise.
33240         * modules/roundf-tests (Files): Likewise.
33241         * modules/roundl-tests (Files): Likewise.
33242         * modules/select-tests (Files): Likewise.
33243         * modules/setenv-tests (Files): Likewise.
33244         * modules/sigaction-tests (Files): Likewise.
33245         * modules/sleep-tests (Files): Likewise.
33246         * modules/snprintf-posix-tests (Files): Likewise.
33247         * modules/snprintf-tests (Files): Likewise.
33248         * modules/sprintf-posix-tests (Files): Likewise.
33249         * modules/stat-tests (Files): Likewise.
33250         * modules/strcasestr-tests (Files): Likewise.
33251         * modules/strchrnul-tests (Files): Likewise.
33252         * modules/strerror-tests (Files): Likewise.
33253         * modules/strsignal-tests (Files): Likewise.
33254         * modules/strstr-tests (Files): Likewise.
33255         * modules/strtod-tests (Files): Likewise.
33256         * modules/strverscmp-tests (Files): Likewise.
33257         * modules/symlink-tests (Files): Likewise.
33258         * modules/symlinkat-tests (Files): Likewise.
33259         * modules/times-tests (Files): Likewise.
33260         * modules/trunc-tests (Files): Likewise.
33261         * modules/truncf-tests (Files): Likewise.
33262         * modules/truncl-tests (Files): Likewise.
33263         * modules/tsearch-tests (Files): Likewise.
33264         * modules/uname-tests (Files): Likewise.
33265         * modules/unlink-tests (Files): Likewise.
33266         * modules/unsetenv-tests (Files): Likewise.
33267         * modules/usleep-tests (Files): Likewise.
33268         * modules/utimensat-tests (Files): Likewise.
33269         * modules/vasprintf-tests (Files): Likewise.
33270         * modules/vdprintf-posix-tests (Files): Likewise.
33271         * modules/vfprintf-posix-tests (Files): Likewise.
33272         * modules/vprintf-posix-tests (Files): Likewise.
33273         * modules/vsnprintf-posix-tests (Files): Likewise.
33274         * modules/vsnprintf-tests (Files): Likewise.
33275         * modules/vsprintf-posix-tests (Files): Likewise.
33276         * modules/wcrtomb-tests (Files): Likewise.
33277         * modules/wcsnrtombs-tests (Files): Likewise.
33278         * modules/wcsrtombs-tests (Files): Likewise.
33279         * modules/wcwidth-tests (Files): Likewise.
33280         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
33281         * tests/test-isinf.c (isinf): Likewise.
33282         * tests/test-isnan.c (isnan): Likewise.
33283         * tests/test-signbit.c (signbit): Likewise.
33284         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
33285         declaration, either as macro or with correct signature.
33286         (select): Ensure function under test is declared with correct
33287         signature in correct header.
33288         * tests/test-atexit.c (atexit): Likewise.
33289         * tests/test-btowc.c (btowc): Likewise.
33290         * tests/test-canonicalize-lgpl.c (realpath)
33291         (canonicalize_file_name): Likewise.
33292         * tests/test-ceilf1.c (ceilf): Likewise.
33293         * tests/test-ceill.c (ceill): Likewise.
33294         * tests/test-chown.c (chown): Likewise.
33295         * tests/test-dprintf-posix.c (dprintf): Likewise.
33296         * tests/test-dup2.c (dup2): Likewise.
33297         * tests/test-dup3.c (dup3): Likewise.
33298         * tests/test-duplocale.c (duplocale): Likewise.
33299         * tests/test-fchdir.c (fchdir): Likewise.
33300         * tests/test-fchownat.c (fchownat): Likewise.
33301         * tests/test-fcntl.c (fcntl): Likewise.
33302         * tests/test-fdopendir.c (fdopendir): Likewise.
33303         * tests/test-fflush.c (fflush): Likewise.
33304         * tests/test-flock.c (flock): Likewise.
33305         * tests/test-floorf1.c (floorf): Likewise.
33306         * tests/test-floorl.c (floorl): Likewise.
33307         * tests/test-fnmatch.c (fnmatch): Likewise.
33308         * tests/test-fopen.c (fopen): Likewise.
33309         * tests/test-fprintf-posix.c (fprintf): Likewise.
33310         * tests/test-freopen.c (freopen): Likewise.
33311         * tests/test-frexp.c (frexp): Likewise.
33312         * tests/test-frexpl.c (frexpl): Likewise.
33313         * tests/test-fseek.c (fseek): Likewise.
33314         * tests/test-fseeko.c (fseeko): Likewise.
33315         * tests/test-fstatat.c (fstatat): Likewise.
33316         * tests/test-fsync.c (fsync): Likewise.
33317         * tests/test-ftell.c (ftell): Likewise.
33318         * tests/test-ftello.c (ftello): Likewise.
33319         * tests/test-futimens.c (futimens): Likewise.
33320         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
33321         (gai_strerror): Likewise.
33322         * tests/test-getcwd.c (getcwd): Likewise.
33323         * tests/test-getdelim.c (getdelim): Likewise.
33324         * tests/test-getdtablesize.c (getdtablesize): Likewise.
33325         * tests/test-getgroups.c (getgroups): Likewise.
33326         * tests/test-gethostname.c (gethostname): Likewise.
33327         * tests/test-getline.c (getline): Likewise.
33328         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
33329         Likewise.
33330         * tests/test-gettimeofday.c (gettimeofday): Likewise.
33331         * tests/test-glob.c (glob, globfree): Likewise.
33332         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
33333         * tests/test-inet_ntop.c (inet_ntop): Likewise.
33334         * tests/test-inet_pton.c (inet_pton): Likewise.
33335         * tests/test-isblank.c (isblank): Likewise.
33336         * tests/test-lchown.c (lchown): Likewise.
33337         * tests/test-ldexpl.c (ldexpl): Likewise.
33338         * tests/test-link.c (link): Likewise.
33339         * tests/test-linkat.c (linkat): Likewise.
33340         * tests/test-lseek.c (lseek): Likewise.
33341         * tests/test-lstat.c (lstat): Likewise.
33342         * tests/test-mbrtowc.c (mbrtowc): Likewise.
33343         * tests/test-mbsinit.c (mbsinit): Likewise.
33344         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
33345         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
33346         * tests/test-memchr.c (memchr): Likewise.
33347         * tests/test-memcmp.c (memcmp): Likewise.
33348         * tests/test-memmem.c (memmem): Likewise.
33349         * tests/test-memrchr.c (memrchr): Likewise.
33350         * tests/test-mkdir.c (mkdir): Likewise.
33351         * tests/test-mkdirat.c (mkdirat): Likewise.
33352         * tests/test-mkfifo.c (mkfifo): Likewise.
33353         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
33354         * tests/test-mknod.c (mknod): Likewise.
33355         * tests/test-nanosleep.c (nanosleep): Likewise.
33356         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
33357         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
33358         Likewise.
33359         * tests/test-open.c (open): Likewise.
33360         * tests/test-openat.c (openat): Likewise.
33361         * tests/test-perror.c (perror): Likewise.
33362         * tests/test-pipe2.c (pipe2): Likewise.
33363         * tests/test-poll.c (poll): Likewise.
33364         * tests/test-popen.c (popen, pclose): Likewise.
33365         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
33366         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
33367         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
33368         (posix_spawn_file_actions_destroy)
33369         (posix_spawn_file_actions_addclose)
33370         (posix_spawn_file_actions_addopen)
33371         (posix_spawn_file_actions_adddup2): Likewise.
33372         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
33373         * tests/test-pread.c (pread): Likewise.
33374         * tests/test-printf-posix.c (printf): Likewise.
33375         * tests/test-pty.c (openpty, forkpty): Likewise.
33376         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
33377         (random_r): Likewise.
33378         * tests/test-rawmemchr.c (rawmemchr): Likewise.
33379         * tests/test-readlink.c (readlink): Likewise.
33380         * tests/test-remove.c (remove): Likewise.
33381         * tests/test-rename.c (rename): Likewise.
33382         * tests/test-renameat.c (renameat): Likewise.
33383         * tests/test-rmdir.c (rmdir): Likewise.
33384         * tests/test-round1.c (round): Likewise.
33385         * tests/test-roundf1.c (roundf): Likewise.
33386         * tests/test-roundl.c (roundl): Likewise.
33387         * tests/test-setenv.c (setenv): Likewise.
33388         * tests/test-sigaction.c (sigaction): Likewise.
33389         * tests/test-sleep.c (sleep): Likewise.
33390         * tests/test-snprintf.c (snprintf): Likewise.
33391         * tests/test-sprintf-posix.c (sprintf): Likewise.
33392         * tests/test-stat.c (stat): Likewise.
33393         * tests/test-stpncpy.c (stpncpy): Likewise.
33394         * tests/test-strcasestr.c (strcasestr): Likewise.
33395         * tests/test-strchrnul.c (strchrnul): Likewise.
33396         * tests/test-strerror.c (strerror): Likewise.
33397         * tests/test-strsignal.c (strsignal): Likewise.
33398         * tests/test-strstr.c (strstr): Likewise.
33399         * tests/test-strtod.c (strtod): Likewise.
33400         * tests/test-strverscmp.c (strverscmp): Likewise.
33401         * tests/test-symlink.c (symlink): Likewise.
33402         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
33403         * tests/test-times.c (times): Likewise.
33404         * tests/test-trunc1.c (trunc): Likewise.
33405         * tests/test-truncf1.c (truncf): Likewise.
33406         * tests/test-truncl.c (truncl): Likewise.
33407         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
33408         Likewise.
33409         * tests/test-uname.c (uname): Likewise.
33410         * tests/test-unlink.c (unlink): Likewise.
33411         * tests/test-unlinkat.c (unlinkat): Likewise.
33412         * tests/test-unsetenv.c (unsetenv): Likewise.
33413         * tests/test-usleep.c (usleep): Likewise.
33414         * tests/test-utimensat.c (utimensat): Likewise.
33415         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
33416         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
33417         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
33418         * tests/test-vprintf-posix.c (vprintf): Likewise.
33419         * tests/test-vsnprintf.c (vsnprintf): Likewise.
33420         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
33421         * tests/test-wcrtomb.c (wcrtomb): Likewise.
33422         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
33423         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
33424         * tests/test-wcwidth.c (wcwidth): Likewise.
33425
33426         build: pull in conditional headers during GNULIB_POSIXCHECK
33427         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
33428         definitions from any conditionally-included headers.
33429         * lib/stdlib.in.h (includes): Likewise.
33430         * lib/unistd.in.h (includes): Likewise.
33431
33432 2009-12-24  Bruno Haible  <bruno@clisp.org>
33433
33434         * tests/test-argv-iter.c: Include header file being tested immediately
33435         after config.h.
33436         * tests/test-base64.c: Likewise.
33437         * tests/test-flock.c: Likewise.
33438         * tests/test-fsync.c: Likewise.
33439         * tests/test-getdate.c: Likewise.
33440         * tests/test-getndelim2.c: Likewise.
33441         * tests/test-isfinite.c: Likewise.
33442         * tests/test-isinf.c: Likewise.
33443         * tests/test-strerror.c: Likewise.
33444         * tests/test-strsignal.c: Likewise.
33445
33446 2009-12-23  Eric Blake  <ebb9@byu.net>
33447
33448         unistd: work around cygwin bug
33449         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
33450         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
33451         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33452
33453 2009-12-23  Bruno Haible  <bruno@clisp.org>
33454
33455         localename: More tests.
33456         * tests/test-localename.c (SIZEOF): New macro.
33457         (categories): New variable.
33458         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
33459         test_locale_name_default): Add test w.r.t. thread locale.
33460         (test_locale_name_thread): New function.
33461         (main): Invoke it.
33462
33463         localename: Make aware of thread locale.
33464         * lib/localename.h (gl_locale_name_thread): New declaration.
33465         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
33466         behaviour with respect to thread locale.
33467         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
33468         <langinfo.h>, glthread/lock.h.
33469         (SIZE_BITS): New macro.
33470         (string_hash): New function.
33471         (struct hash_node): New type.
33472         (HASH_TABLE_SIZE): New macro.
33473         (struniq_hash_table, struniq_lock): New variables.
33474         (struniq): New function.
33475         (gl_locale_name_thread): New function.
33476         (gl_locale_name): Invoke it.
33477         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
33478         * modules/localename (Depends-on): Add lock.
33479         Reported by Mike Gran <spk121@yahoo.com>.
33480
33481 2009-12-23  Eric Blake  <ebb9@byu.net>
33482
33483         va-args: new module
33484         * modules/va-args: New file.
33485         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
33486         * MODULES.html.sh (Core language properties): Mention it.
33487
33488         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
33489         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
33490         named alias for __attribute__((__unused__)).
33491         * lib/chown.c: Update client.
33492         * lib/fchmodat.c: Likewise.
33493         * lib/fts.c: Likewise.
33494         * lib/getdate.y: Likewise.
33495         * lib/getgroups.c: Likewise.
33496         * lib/getopt.c: Likewise.
33497         * lib/getugroups.c: Likewise.
33498         * lib/mkdir.c: Likewise.
33499         * lib/mkfifo.c: Likewise.
33500         * lib/mkfifoat.c: Likewise.
33501         * lib/mknod.c: Likewise.
33502         * lib/mknodat.c: Likewise.
33503         * lib/readlink.c: Likewise.
33504         * lib/se-context.in.h: Likewise.
33505         * lib/se-selinux.in.h: Likewise.
33506         * lib/sockets.c: Likewise.
33507         * lib/symlink.c: Likewise.
33508         * lib/symlinkat.c: Likewise.
33509         * lib/unicodeio.c: Likewise.
33510         * lib/unistr.h: Likewise.
33511         * tests/test-areadlink.c: Likewise.
33512         * tests/test-areadlinkat.c: Likewise.
33513         * tests/test-filenamecat.c: Likewise.
33514         * tests/test-fseeko.c: Likewise.
33515         * tests/test-ftello.c: Likewise.
33516         * tests/test-getdate.c: Likewise.
33517         * tests/test-getgroups.c: Likewise.
33518         * tests/test-gethostname.c: Likewise.
33519         * tests/test-quotearg.c: Likewise.
33520         * tests/test-version-etc.c: Likewise.
33521         * tests/test-xalloc-die.c: Likewise.
33522         * tests/test-xfprintf-posix.c: Likewise.
33523         * tests/test-xprintf-posix.c: Likewise.
33524         * tests/test-xvasprintf.c: Likewise.
33525
33526         tests: avoid compiler warnings
33527         * tests/test-fcntl.c (main): Delete unused parameters.
33528         * tests/test-freopen-safer.c (main): Likewise.
33529         * tests/test-xalloc-die.c (main): Mark unused parameters.
33530         * tests/test-fseeko.c (main): Likewise.
33531         * tests/test-ftello.c (main): Likewise.
33532         * tests/test-nanosleep.c (main): Avoid declaration warning.
33533         * tests/test-sleep.c (main): Likewise.
33534         * tests/test-unsetenv.c (main): Silence warning about string
33535         literal.
33536         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
33537
33538 2009-12-23  Bruno Haible  <bruno@clisp.org>
33539
33540         * tests/test-localename.c (test_locale_name): New function, extracted
33541         from main. Also test mixed situations.
33542         (test_locale_name_posix, test_locale_name_environ,
33543         test_locale_name_default): New functions.
33544         (main): Invoke them all.
33545         * modules/localename-tests (configure.ac): Test for newlocale.
33546
33547 2009-12-23  Bruno Haible  <bruno@clisp.org>
33548
33549         unistd: Ensure getcwd gets declared before being overridden.
33550         * lib/unistd.in.h: Conditionally include <io.h>.
33551
33552 2009-12-22  Bruno Haible  <bruno@clisp.org>
33553
33554         wchar: Diagnose broken combination of glibc and gcc versions and flags.
33555         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
33556         (gl_WCHAR_H): Invoke it.
33557         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
33558         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
33559         Reported by Karl Berry <karl@freefriends.org>.
33560
33561 2009-12-22  Eric Blake  <ebb9@byu.net>
33562
33563         math, unistd: avoid redundant includes
33564         * lib/math.in.h (isnan): No need to re-include <math.h>.
33565         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
33566
33567         getsubopt: work around cygwin bug
33568         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
33569         avoid conflicting with system getsubopt.
33570         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
33571         bug.
33572
33573         getopt: synchronize from glibc
33574         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
33575         parameter order.  Adjust all callers.
33576         (_getopt_internal_r, main): Adjust quoting in error messages.
33577         Drop considerations for outdated POSIX 1003.2 error message.
33578         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
33579         callers.
33580         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
33581
33582         test-getopt: test stderr behavior
33583         * modules/getopt-posix-tests (Depends-on): Add dup2.
33584         * tests/test-getopt.c (ASSERT): Avoid stderr.
33585         (main): Move stderr to a temporary file.
33586         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
33587         Instead, add parameter to inform caller if output occurred.
33588         (test_getopt): Adjust all existing tests to expect silence, and
33589         add new tests of leading ":".
33590         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33591         glibc shortcomings with leading "-:" or "+:" in optstring.
33592         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33593         Likewise.
33594         * doc/posix-functions/getopt.texi (getopt): Likewise.
33595
33596         test-getopt: enhance test
33597         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
33598         supports optind=0.
33599         * tests/test-getopt.c (OPTIND_MIN): Move...
33600         * tests/test-getopt.h (OPTIND_MIN): ...here.
33601         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
33602         Require that optind=0 works, since modern BSD supports it in
33603         addition to optreset, and since coreutils expects it.
33604         (test_getopt_long_only): New test.
33605         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
33606         glibc shortcomings with 'W;', and enforcement of optind=0.
33607         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33608         Likewise.
33609
33610 2009-12-21  Bruno Haible  <bruno@clisp.org>
33611
33612         localename: Improvements for MacOS X and Cygwin.
33613         * lib/localename.h (gl_locale_name_environ): New declaration.
33614         * lib/localename.c (gl_locale_name_environ): New function, extracted from
33615         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
33616         (gl_locale_name_posix): Invoke it.
33617         (gl_locale_name_default): Add comments. Use Windows native API also on
33618         Cygwin.
33619
33620 2009-12-21  Bruno Haible  <bruno@clisp.org>
33621
33622         Update list of Win32 locale ids.
33623         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
33624         (LANG_SAMI): Renamed from LANG_SAAMI.
33625         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
33626         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
33627         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
33628         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
33629         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
33630         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
33631         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
33632         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
33633         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
33634         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
33635         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
33636         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
33637         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
33638         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
33639         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
33640         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
33641         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
33642         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
33643         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
33644         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
33645         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
33646         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
33647         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
33648         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
33649         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
33650         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
33651         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
33652         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
33653         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
33654         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
33655         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
33656         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
33657         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
33658         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
33659         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
33660         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
33661         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
33662         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
33663         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
33664         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
33665         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
33666         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
33667         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
33668         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
33669         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
33670         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
33671         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
33672         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
33673         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
33674         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
33675         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
33676         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
33677         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
33678         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
33679         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
33680         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
33681         Add more languages and countries for Sami, Sorbian. Add more countries
33682         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
33683         for Pashto. Change country for Syriac, Tswana.
33684
33685 2009-12-21  Eric Blake  <ebb9@byu.net>
33686
33687         test-utimens: avoid spurious failure
33688         * tests/test-chown.h (nap): Factor...
33689         * tests/nap.h: ...into new file.
33690         * tests/test-lchown.h (nap): Avoid duplication.
33691         * tests/test-utimens-common.h (nap): Use shared implementation,
33692         necessary on file systems with 1-second resolution.
33693         * modules/chown-tests (Files): Include new file.
33694         * modules/fdutimensat-tests (Files): Likewise.
33695         * modules/futimens-tests (Files): Likewise.
33696         * modules/lchown-tests (Files): Likewise.
33697         * modules/openat-tests (Files): Likewise.
33698         * modules/utimens-tests (Files): Likewise.
33699         * modules/utimensat-tests (Files): Likewise.
33700
33701 2009-12-19  Eric Blake  <ebb9@byu.net>
33702
33703         futimens, utimensat: work around Linux bug
33704         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
33705         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33706         * lib/utimensat.c (rpl_utimensat): Work around it.
33707         * lib/futimens.c (rpl_futimens): Adjust comment.
33708
33709         utimens: work around Linux ctime bug
33710         * lib/utimens.c (detect_ctime_bug): New helper function.
33711         (update_timespec): Differentiate between workaround needed for
33712         this bug vs. what is needed for systems that lack utimensat.
33713         (fdutimens, lutimens): Work around bug.
33714
33715         utimens: check for ctime update
33716         * tests/test-utimens-common.h (check_ctime): Define.
33717         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
33718         * tests/test-futimens.h (test_futimens): Likewise.
33719         * tests/test-lutimens.h (test_lutimens): Likewise.
33720         * doc/posix-functions/futimens.texi (futimens): Document the bug.
33721         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
33722
33723 2009-12-19  Bruno Haible  <bruno@clisp.org>
33724
33725         dprintf-posix: Check against memory leak fixed on 2009-12-15.
33726         * tests/test-dprintf-posix2.sh: New file.
33727         * tests/test-dprintf-posix2.c: New file.
33728         * modules/dprintf-posix-tests (Files): Add them.
33729         (configure.ac): Check for getrlimit and setrlimit.
33730         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33731
33732 2009-12-19  Bruno Haible  <bruno@clisp.org>
33733
33734         fprintf-posix: Check against memory leak fixed on 2009-12-15.
33735         * tests/test-fprintf-posix3.sh: New file.
33736         * tests/test-fprintf-posix3.c: New file.
33737         * modules/fprintf-posix-tests (Files): Add them.
33738         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
33739
33740 2009-12-19  Eric Blake  <ebb9@byu.net>
33741
33742         dirfd: fix prototype
33743         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
33744         * lib/dirfd.c (dirfd): Likewise.
33745
33746         canonicalize: reduce memory usage
33747         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
33748         allocation to size.
33749         Reported by Solar Designer <solar@openwall.com>.
33750
33751 2009-12-19  Bruno Haible  <bruno@clisp.org>
33752
33753         New module attribute 'Applicability'.
33754         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
33755         * gnulib-tool: New option --extract-applicability.
33756         (func_usage): Document it.
33757         (sed_extract_prog): Recognize it.
33758         (func_get_applicability): New function.
33759         (func_import): Generalize handling of 'link-warning' module.
33760         * modules/link-warning (Applicability): New section.
33761         * modules/arg-nonnull (Applicability): New section.
33762         Repoted by Simon Josefsson <simon@josefsson.org>.
33763
33764 2009-12-19  Bruno Haible  <bruno@clisp.org>
33765
33766         fflush: tweak
33767         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
33768         * lib/fseeko.c (rpl_fseeko): Likewise.
33769
33770 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
33771
33772         * lib/gl_list.h: Fix typo in comment.
33773
33774 2009-12-16  Eric Blake  <ebb9@byu.net>
33775
33776         fcntl: use to simplify other modules
33777         * modules/cloexec (Depends-on): Add fcntl.
33778         * modules/fchdir (Depends-on): Likewise.
33779         * modules/fd-safer-flag (Depends-on): Likewise.
33780         * modules/unistd-safer (Depends-on): Likewise.
33781         * modules/dup3 (configure.ac): Set module indicator.
33782         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
33783         missing.
33784         * lib/fchdir.c (_gl_register_dup): Fix comment.
33785         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
33786         * lib/dup-safer.c (dup_safer): Likewise.
33787         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
33788         * lib/dup3.c (dup3): Likewise.
33789         * tests/test-fchdir.c (main): Enhance test.
33790         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
33791
33792         fcntl: port portions of fcntl to mingw
33793         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
33794         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
33795         replacement for mingw.
33796         * modules/fcntl (Description): Update.
33797         (Depends-on): Add dup2.
33798         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
33799         * modules/fcntl-h (Makefile.am): Substitute it.
33800         * lib/fcntl.in.h (fcntl): Update declaration.
33801         (F_DUPFD, F_GETFD): New macros, when needed.
33802         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
33803         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
33804         * tests/test-fcntl.c (check_flags, main): Enhance test for items
33805         we now guarantee.
33806
33807         fcntl: work around cygwin bug in F_DUPFD
33808         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
33809         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
33810         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
33811         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
33812         * doc/posix-functions/fcntl.texi (fcntl): Document it.
33813
33814         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
33815         * modules/fcntl (Files): List new files.
33816         (configure.ac): Run a test.
33817         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
33818         * lib/fcntl.c (rpl_fcntl): Likewise.
33819         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
33820         (gl_FCNTL_H): Always replace fcntl.h.
33821         * modules/fcntl-h (Makefile.am): Substitute witnesses.
33822         * lib/fcntl.in.h (fcntl): Declare replacement.
33823         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
33824         needed, plus a witness.
33825         * doc/posix-functions/fcntl.texi (fcntl): Document this.
33826         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
33827         * tests/test-fcntl.c: New file.
33828         * modules/fcntl-tests: Likewise.
33829
33830         binary-io: avoid potential compilation warning
33831         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
33832         directives.
33833
33834         fflush: avoid compilation error on NetBSD
33835         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
33836         between off_t and fpos_t, since the latter is sometimes a struct.
33837         * lib/fseeko.c (rpl_fseeko): Likewise.
33838         Reported by Alexander Nasonov <alnsn@yandex.ru>.
33839
33840 2009-12-15  Eric Blake  <ebb9@byu.net>
33841
33842         fcntl-h, stdio, sys_ioctl: fix declarations
33843         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
33844         function must not take arguments.
33845         * lib/sys_ioctl.in.h (ioctl): Likewise.
33846         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
33847         (open): Add a link warning.
33848
33849 2009-12-15  Jim Meyering  <meyering@redhat.com>
33850
33851         areadlink, areadlink-with-size: relax license to LGPLv2+
33852         * modules/areadlink (License): Relax to LGPLv2+.
33853         * modules/areadlink-with-size (License): Likewise.
33854
33855 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
33856             Bruno Haible  <bruno@clisp.org>
33857
33858         *printf: Fix memory leak.
33859         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
33860         * lib/vfprintf.c (vfprintf): Likewise.
33861         * lib/dprintf.c (dprintf): Likewise.
33862         * lib/vdprintf.c (vdprintf): Likewise.
33863
33864 2009-12-14  Eric Blake  <ebb9@byu.net>
33865
33866         accept4: adjust module dependencies
33867         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
33868
33869         utimens: one more try at avoiding compiler warning
33870         * lib/utimens.c (lutimens): Lower scope of result.
33871
33872 2009-12-13  Bruno Haible  <bruno@clisp.org>
33873
33874         Move the malloc checking from module 'list' to new module 'xlist'.
33875         * modules/xlist: New file.
33876         * lib/gl_xlist.h: New file.
33877         * lib/gl_xlist.c: New file.
33878         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
33879         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
33880         gl_list_add_last, gl_list_add_before, gl_list_add_after,
33881         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
33882         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
33883         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
33884         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
33885         gl_sortedlist_nx_add): New declarations.
33886         (struct gl_list_implementation): Rename and change methods accordingly.
33887         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
33888         (gl_list_nx_create): Renamed from gl_list_create.
33889         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33890         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33891         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33892         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33893         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33894         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33895         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33896         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33897         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
33898         gl_list_create_empty.
33899         (gl_list_nx_create): Renamed from gl_list_create.
33900         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
33901         (gl_list_nx_set_at): Renamed from gl_list_set_at.
33902         (gl_list_nx_add_first): Renamed from gl_list_add_first.
33903         (gl_list_nx_add_last): Renamed from gl_list_add_last.
33904         (gl_list_nx_add_before): Renamed from gl_list_add_before.
33905         (gl_list_nx_add_after): Renamed from gl_list_add_after.
33906         (gl_list_nx_add_at): Renamed from gl_list_add_at.
33907         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
33908         * lib/gl_array_list.c: Don't include xalloc.h.
33909         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
33910         NULL upon out-of-memory.
33911         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
33912         out-of-memory.
33913         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
33914         Change return type to 'int'.
33915         (gl_array_nx_set_at): Renamed from gl_array_set_at.
33916         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
33917         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
33918         upon out-of-memory.
33919         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
33920         upon out-of-memory.
33921         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
33922         upon out-of-memory.
33923         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
33924         upon out-of-memory.
33925         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
33926         out-of-memory.
33927         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
33928         Update.
33929         (gl_array_list_implementation): Update.
33930         * lib/gl_carray_list.c: Don't include xalloc.h.
33931         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
33932         Return NULL upon out-of-memory.
33933         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
33934         out-of-memory.
33935         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
33936         Change return type to 'int'.
33937         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
33938         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
33939         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
33940         upon out-of-memory.
33941         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
33942         upon out-of-memory.
33943         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
33944         out-of-memory.
33945         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
33946         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
33947         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
33948         Update.
33949         (gl_carray_list_implementation): Update.
33950         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
33951         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
33952         gl_linked_create_empty. Return NULL upon out-of-memory.
33953         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
33954         out-of-memory.
33955         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
33956         Change return type to 'int'. Return -1 upon out-of-memory.
33957         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
33958         out-of-memory.
33959         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
33960         upon out-of-memory.
33961         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
33962         upon out-of-memory.
33963         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
33964         NULL upon out-of-memory.
33965         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
33966         upon out-of-memory.
33967         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
33968         out-of-memory.
33969         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
33970         Update.
33971         * lib/gl_linked_list.c: Don't include xalloc.h.
33972         (gl_linked_list_implementation): Update.
33973         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
33974         (add_to_bucket): Change return type to 'int'.
33975         (gl_linkedhash_list_implementation): Update.
33976         * lib/gl_anytree_list1.h (free_subtree): New function.
33977         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
33978         gl_tree_create_empty. Return NULL upon out-of-memory.
33979         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
33980         Change return type to 'int'. Return -1 upon out-of-memory.
33981         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
33982         out-of-memory.
33983         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
33984         (gl_tree_remove_node): New function, moved here from
33985         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
33986         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
33987         Update.
33988         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
33989         malloc, not xmalloc. Return NULL upon out-of-memory.
33990         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
33991         out-of-memory.
33992         (gl_tree_remove_node_from_tree): New function, extracted from
33993         gl_tree_remove_node.
33994         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
33995         upon out-of-memory.
33996         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
33997         out-of-memory.
33998         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
33999         upon out-of-memory.
34000         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34001         upon out-of-memory.
34002         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34003         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
34004         not xmalloc. Return NULL upon out-of-memory.
34005         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
34006         out-of-memory.
34007         (gl_tree_remove_node_from_tree): New function, extracted from
34008         gl_tree_remove_node.
34009         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
34010         upon out-of-memory.
34011         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
34012         out-of-memory.
34013         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
34014         upon out-of-memory.
34015         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
34016         upon out-of-memory.
34017         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
34018         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
34019         gl_anytree_list1.h before gl_anyavltree_list2.h.
34020         (gl_avltree_list_implementation): Update.
34021         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
34022         gl_anytree_list1.h before gl_anyavltree_list2.h.
34023         (gl_rbtree_list_implementation): Update.
34024         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
34025         Change return type to 'int'. Return -1 upon out-of-memory. Use
34026         __builtin_expect.
34027         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
34028         (gl_avltreehash_list_implementation): Update.
34029         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
34030         (gl_rbtreehash_list_implementation): Update.
34031         * modules/array-list (Depends-on): Remove xalloc.
34032         * modules/carray-list (Depends-on): Likewise.
34033         * modules/linked-list (Depends-on): Likewise.
34034         * modules/linkedhash-list (Depends-on): Likewise.
34035         * modules/avltree-list (Depends-on): Likewise.
34036         * modules/rbtree-list (Depends-on): Likewise.
34037         * modules/avltreehash-list (Depends-on): Likewise.
34038         * modules/rbtreehash-list (Depends-on): Likewise.
34039
34040         * modules/xsublist: New file.
34041         * lib/gl_xsublist.h: New file.
34042         * lib/gl_xsublist.c: New file.
34043         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
34044         (gl_sublist_nx_create): New declaration.
34045         * lib/gl_sublist.c: Don't include xalloc.h.
34046         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
34047         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
34048         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
34049         Change return type to 'int'. Return -1 upon out-of-memory.
34050         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
34051         upon out-of-memory.
34052         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
34053         NULL upon out-of-memory.
34054         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
34055         upon out-of-memory.
34056         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
34057         NULL upon out-of-memory.
34058         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
34059         NULL upon out-of-memory.
34060         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
34061         upon out-of-memory.
34062         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
34063         (gl_sublist_list_implementation): Update.
34064         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
34065         upon out-of-memory.
34066         * modules/sublist (Depends-on): Remove xalloc.
34067
34068         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
34069         * tests/test-carray_list.c: Likewise.
34070         * tests/test-linked_list.c: Likewise.
34071         * tests/test-linkedhash_list.c: Likewise.
34072         * tests/test-avltree_list.c: Likewise.
34073         * tests/test-rbtree_list.c: Likewise.
34074         * tests/test-avltreehash_list.c: Likewise.
34075         * tests/test-rbtreehash_list.c: Likewise.
34076         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
34077         * modules/carray-list-tests (Makefile.am): Likewise.
34078         * modules/linked-list-tests (Makefile.am): Likewise.
34079         * modules/linkedhash-list-tests (Makefile.am): Likewise.
34080         * modules/avltree-list-tests (Makefile.am): Likewise.
34081         * modules/rbtree-list-tests (Makefile.am): Likewise.
34082         * modules/avltreehash-list-tests (Makefile.am): Likewise.
34083         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
34084
34085         * NEWS: Mention the changes.
34086
34087         * lib/clean-temp.c: Include gl_xlist.h.
34088         * modules/clean-temp (Depends-on): Add xlist.
34089
34090         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
34091         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
34092
34093         * tests/test-array_oset.c: Include gl_xlist.h.
34094         * modules/array-oset-tests (Depends-on): Add xlist.
34095
34096         Reported by José E. Marchesi <jemarch@gnu.org>.
34097
34098 2009-12-13  Bruno Haible  <bruno@clisp.org>
34099
34100         Move the malloc checking from module 'oset' to new module 'xoset'.
34101         * modules/xoset: New file.
34102         * lib/gl_xoset.h: New file.
34103         * lib/gl_xoset.c: New file.
34104         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
34105         declarations.
34106         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
34107         (struct gl_oset_implementation): Rename and change methods accordingly.
34108         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
34109         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34110         'int'. Mark as __warn_unused_result__.
34111         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
34112         gl_oset_create_empty.
34113         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
34114         'int'.
34115         * lib/gl_array_oset.c: Don't include xalloc.h.
34116         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
34117         malloc, not xmalloc.
34118         (grow): Change return type to 'int'. Don't call xalloc_die.
34119         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
34120         to 'int'.
34121         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
34122         'int'.
34123         (gl_array_oset_implementation): Update.
34124         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
34125         gl_tree_create_empty.
34126         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
34127         'int'.
34128         * lib/gl_avltree_oset.c: Don't include xalloc.h.
34129         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34130         xmalloc.
34131         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34132         not xmalloc.
34133         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34134         xmalloc.
34135         (gl_avltree_oset_implementation): Update.
34136         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
34137         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
34138         xmalloc.
34139         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
34140         not xmalloc.
34141         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
34142         xmalloc.
34143         (gl_rbtree_oset_implementation): Update.
34144         * modules/array-oset (Depends-on): Remove xalloc.
34145         * modules/avltree-oset (Depends-on): Likewise.
34146         * modules/rbtree-oset (Depends-on): Likewise.
34147         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
34148         * tests/test-avltree_oset.c: Likewise.
34149         * tests/test-rbtree_oset.c: Likewise.
34150         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
34151         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
34152         * modules/rbtree-oset-tests (Makefile.am): Likewise.
34153         * NEWS: Mention the change.
34154
34155 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
34156
34157         maint.mk: allow a project to override release-prep commands
34158         * top/maint.mk (alpha, beta, stable): Move release-preparatory
34159         commands into a new rule.
34160         (release-prep): New rule.
34161         (release-prep-hook): New overridable variable.
34162
34163 2009-12-13  Bruno Haible  <bruno@clisp.org>
34164
34165         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
34166
34167 2009-12-13  Jim Meyering  <meyering@redhat.com>
34168
34169         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
34170         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
34171
34172 2009-12-12  Bruno Haible  <bruno@clisp.org>
34173
34174         duplocale: Tweak.
34175         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
34176
34177 2009-12-12  Karl Berry  <karl@gnu.org>
34178
34179         * config/srclist.txt (strtoll.c): tab changes, no more sync.
34180
34181 2009-12-12  Bruno Haible  <bruno@clisp.org>
34182
34183         * m4/po.m4: Undo incorrect untabification.
34184
34185 2009-12-12  Bruno Haible  <bruno@clisp.org>
34186
34187         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
34188         * modules/c-strtod (Depends-on): Add locale.
34189         * modules/c-strtold (Depends-on): Likewise.
34190
34191 2009-12-12  Bruno Haible  <bruno@clisp.org>
34192
34193         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
34194
34195 2009-12-11  Eric Blake  <ebb9@byu.net>
34196
34197         setenv: relax requirement in light of POSIX ruling
34198         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
34199         not NULL.
34200         * tests/test-setenv.c (main): Relax test.
34201         * tests/test-unsetenv.c (main): Likewise.
34202         * doc/posix-functions/setenv.texi (setenv): Document this.
34203         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
34204
34205 2009-12-11  Bruno Haible  <bruno@clisp.org>
34206
34207         New module 'fd-safer-flag'.
34208         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
34209         * lib/dup-safer.c (dup_safer_flag): Remove function.
34210         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
34211         * lib/fd-safer.c (fd_safer_flag): Remove function.
34212         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
34213         * modules/cloexec (configure.ac): Drop indicator macro.
34214         * modules/fd-safer-flag: New file.
34215         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
34216         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
34217         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
34218
34219 2009-12-11  Bruno Haible  <bruno@clisp.org>
34220
34221         Tests for module 'nl_langinfo'.
34222         * modules/nl_langinfo-tests: New file.
34223         * tests/test-nl_langinfo.sh: New file.
34224         * tests/test-nl_langinfo.c: New file.
34225
34226         New module 'nl_langinfo'.
34227         * lib/nl_langinfo.c: New file.
34228         * m4/nl_langinfo.m4: New file.
34229         * modules/nl_langinfo: New file.
34230         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
34231
34232 2009-12-11  Bruno Haible  <bruno@clisp.org>
34233
34234         Tests for module 'langinfo'.
34235         * modules/langinfo-tests: New file.
34236         * tests/test-langinfo.c: New file.
34237
34238         New module 'langinfo'.
34239         * lib/langinfo.in.h: New file.
34240         * m4/langinfo_h.m4: New file.
34241         * modules/langinfo: New file.
34242         * doc/posix-headers/langinfo.texi: Mention the new module.
34243
34244 2009-12-11  Bruno Haible  <bruno@clisp.org>
34245
34246         * lib/config.charset: Untabify.
34247
34248 2009-12-11  Bruno Haible  <bruno@clisp.org>
34249
34250         * modules/unistd-safer (configure.ac): Drop indicator macro.
34251
34252 2009-12-11  Bruno Haible  <bruno@clisp.org>
34253
34254         Move pipe2-safer code to its own file.
34255         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
34256         * lib/pipe-safer.c (pipe2_safer): Remove function.
34257         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
34258         (Makefile.am): Add it to lib_SOURCES.
34259
34260 2009-12-10  Bruno Haible  <bruno@clisp.org>
34261
34262         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
34263
34264 2009-12-10  Bruno Haible  <bruno@clisp.org>
34265
34266         Declare which arguments expect non-NULL values, for GCC and clang.
34267         * build-aux/arg-nonnull.h: New file.
34268         * modules/arg-nonnull: New file.
34269         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
34270         (inet_ntop, inet_pton): Use it.
34271         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
34272         (closedir, dirfd, opendir, scandir, alphasort): Use it.
34273         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
34274         (open, openat): Use it.
34275         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
34276         (fnmatch): Use it.
34277         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
34278         (getopt, getopt_long, getopt_long_only): Use it.
34279         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
34280         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
34281         Use it.
34282         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
34283         (iconv_open): Use it.
34284         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
34285         (strtoimax, strtoumax): Use it.
34286         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
34287         (duplocale): Use it.
34288         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
34289         (frexp, frexpl): Use it.
34290         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
34291         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
34292         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
34293         (tsearch, tfind, tdelete, twalk): Use it.
34294         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
34295         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34296         sigpending): Use it.
34297         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
34298         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34299         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34300         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34301         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34302         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34303         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34304         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34305         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34306         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34307         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34308         Use it.
34309         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
34310         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
34311         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
34312         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
34313         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
34314         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
34315         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
34316         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
34317         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
34318         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
34319         strtoull, unsetenv): Use it.
34320         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
34321         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34322         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34323         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
34324         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
34325         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
34326         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
34327         (strcasecmp, strncasecmp): Use it.
34328         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
34329         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
34330         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
34331         rpl_setsockopt): Use it.
34332         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
34333         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
34334         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
34335         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
34336         (gettimeofday): Use it.
34337         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
34338         (times): Use it.
34339         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
34340         (uname): Use it.
34341         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
34342         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
34343         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
34344         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
34345         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
34346         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
34347         unlinkat, write): Use it.
34348         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
34349         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
34350         * lib/argv-iter.h: Include arg-nonnull.h.
34351         (_ATTRIBUTE_NONNULL_): Remove macro.
34352         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
34353         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
34354         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
34355         optimization.
34356         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
34357         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
34358         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
34359         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
34360         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
34361         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
34362         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
34363         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
34364         * modules/arpa_inet (Depends-on): Add arg-nonnull.
34365         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
34366         * modules/dirent (Depends-on): Add arg-nonnull.
34367         (Makefile.am): Insert arg-nonnull.h into dirent.h.
34368         * modules/fcntl-h (Depends-on): Add arg-nonnull.
34369         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
34370         * modules/fnmatch (Depends-on): Add arg-nonnull.
34371         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
34372         * modules/getopt-posix (Depends-on): Add arg-nonnull.
34373         (Makefile.am): Insert arg-nonnull.h into getopt.h.
34374         * modules/glob (Depends-on): Add arg-nonnull.
34375         (Makefile.am): Insert arg-nonnull.h into glob.h.
34376         * modules/iconv_open (Depends-on): Add arg-nonnull.
34377         (Makefile.am): Insert arg-nonnull.h into iconv.h.
34378         * modules/inttypes (Depends-on): Add arg-nonnull.
34379         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
34380         * modules/locale (Depends-on): Add arg-nonnull.
34381         (Makefile.am): Insert arg-nonnull.h into locale.h.
34382         * modules/math (Depends-on): Add arg-nonnull.
34383         (Makefile.am): Insert arg-nonnull.h into math.h.
34384         * modules/netdb (Depends-on): Add arg-nonnull.
34385         (Makefile.am): Insert arg-nonnull.h into netdb.h.
34386         * modules/search (Depends-on): Add arg-nonnull.
34387         (Makefile.am): Insert arg-nonnull.h into search.h.
34388         * modules/signal (Depends-on): Add arg-nonnull.
34389         (Makefile.am): Insert arg-nonnull.h into signal.h.
34390         * modules/spawn (Depends-on): Add arg-nonnull.
34391         (Makefile.am): Insert arg-nonnull.h into spawn.h.
34392         * modules/stdio (Depends-on): Add arg-nonnull.
34393         (Makefile.am): Insert arg-nonnull.h into stdio.h.
34394         * modules/stdlib (Depends-on): Add arg-nonnull.
34395         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
34396         * modules/string (Depends-on): Add arg-nonnull.
34397         (Makefile.am): Insert arg-nonnull.h into string.h.
34398         * modules/strings (Depends-on): Add arg-nonnull.
34399         (Makefile.am): Insert arg-nonnull.h into strings.h.
34400         * modules/sys_socket (Depends-on): Add arg-nonnull.
34401         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
34402         * modules/sys_stat (Depends-on): Add arg-nonnull.
34403         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
34404         * modules/sys_time (Depends-on): Add arg-nonnull.
34405         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
34406         * modules/sys_times (Depends-on): Add arg-nonnull.
34407         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
34408         * modules/sys_utsname (Depends-on): Add arg-nonnull.
34409         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
34410         * modules/time (Depends-on): Add arg-nonnull.
34411         (Makefile.am): Insert arg-nonnull.h into time.h.
34412         * modules/unistd (Depends-on): Add arg-nonnull.
34413         (Makefile.am): Insert arg-nonnull.h into unistd.h.
34414         * modules/wchar (Depends-on): Add arg-nonnull.
34415         (Makefile.am): Insert arg-nonnull.h into wchar.h.
34416         * modules/argv-iter (Depends-on): Add arg-nonnull.
34417         * tests/test-canonicalize.c (null_ptr): New function.
34418         (main): Use it.
34419         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
34420         (main): Use it.
34421         * tests/test-memmem.c (null_ptr): New function.
34422         (main): Use it.
34423         Reported by Jim Meyering.
34424
34425 2009-12-10  Bruno Haible  <bruno@clisp.org>
34426
34427         Use spaces for indentation, not tabs.
34428         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
34429         * m4/*.m4: Untabify.
34430         * build-aux/*.h: Untabify.
34431         * tests/**/*.[hc]: Untabify.
34432         * README: New section "Indent with spaces, not TABs", based on
34433         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
34434         * NEWS: Mention the change.
34435
34436 2009-12-10  Bruno Haible  <bruno@clisp.org>
34437
34438         pty test: Fix link error.
34439         * modules/pty-tests (Makefile.am): Add the default LDADD value to
34440         test_pty_LDADD.
34441
34442 2009-12-07  Simon Josefsson  <simon@josefsson.org>
34443
34444         * modules/pty: New file.
34445         * modules/pty-tests: New file.
34446         * m4/pty.m4: New file.
34447         * tests/test-pty.c: New file.
34448         * doc/glibc-headers/pty.texi: Modified.
34449         * doc/glibc-functions/forkpty.texi: Modified.
34450         * doc/glibc-functions/openpty.texi: Modified.
34451
34452 2009-12-10  Bruno Haible  <bruno@clisp.org>
34453
34454         Avoid syntax error in C++ mode.
34455         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
34456
34457 2009-12-10  Bruno Haible  <bruno@clisp.org>
34458
34459         Use sed with option -e.
34460         * gnulib-tool (func_version, func_emit_copyright_notice,
34461         func_emit_initmacro_end, func_import, func_create_testdir): Pass
34462         option -e to sed.
34463         * modules/link-warning (Makefile.am): Likewise.
34464
34465 2009-12-10  Jim Meyering  <meyering@redhat.com>
34466
34467         mgetgroups: do not write bytes beyond end of malloc'd buffer
34468         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
34469         username, we call getgroups with a one-element-shorter buffer,
34470         but still told it the length was original, max_n_groups.
34471
34472 2009-12-09  Eric Blake  <ebb9@byu.net>
34473
34474         cloexec: relax license
34475         * modules/cloexec (Maintainer): Add myself.
34476         (License): Use LGPL, not GPL.
34477
34478         link-warning: optimize generation
34479         * modules/link-warning (Makefile.am): Reduce process usage.
34480
34481 2009-12-09  Bruno Haible  <bruno@clisp.org>
34482
34483         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
34484         workaround was added on 2009-11-17.
34485
34486 2009-12-09  Jim Meyering  <meyering@redhat.com>
34487             Bruno Haible  <bruno@clisp.org>
34488
34489         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
34490         * modules/link-warning (Makefile.am): Make the comment-removing sed
34491         command more robust in the face of bootstrap-prepended comment lines.
34492
34493 2009-12-09  Bruno Haible  <bruno@clisp.org>
34494
34495         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
34496         most one group.
34497
34498 2009-12-09  Simon Josefsson <simon@josefsson.org>
34499             Bruno Haible  <bruno@clisp.org>
34500
34501         * build-aux/link-warning.h: Add copyright notice.
34502         * modules/link-warning (Makefile.am): Generate link-warning.h from
34503         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
34504         * NEWS: Mention change in link-warning module.
34505         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
34506         * modules/dirent (Makefile.am): Add dependency to dirent.h.
34507         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
34508         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
34509         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
34510         * modules/math (Makefile.am): Add dependency to math.h.
34511         * modules/search (Makefile.am): Add dependency to search.h.
34512         * modules/signal (Makefile.am): Add dependency to signal.h.
34513         * modules/spawn (Makefile.am): Add dependency to spawn.h.
34514         * modules/stdio (Makefile.am): Add dependency to stdio.h.
34515         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
34516         * modules/string (Makefile.am): Add dependency to string.h.
34517         * modules/strings (Makefile.am): Add dependency to strings.h.
34518         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
34519         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
34520         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
34521         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
34522         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
34523         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
34524         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
34525         * modules/unistd (Makefile.am): Add dependency to unistd.h.
34526         * modules/wchar (Makefile.am): Add dependency to wchar.h.
34527
34528 2009-12-09  Bruno Haible  <bruno@clisp.org>
34529
34530         fchdir: Optimize away rpl_fstat when possible.
34531         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
34532         REPLACE_OPEN_DIRECTORY.
34533         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
34534
34535 2009-12-09  Bruno Haible  <bruno@clisp.org>
34536
34537         * lib/fchdir.c: Update comment.
34538
34539 2009-12-09  Bruno Haible  <bruno@clisp.org>
34540
34541         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
34542
34543 2009-12-08  Eric Blake  <ebb9@byu.net>
34544
34545         fchdir: avoid memory leak on re-registration.
34546         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
34547
34548 2009-12-08  Jim Meyering  <meyering@redhat.com>
34549
34550         init.sh: avoid Solaris 10 /bin/sh portability problem
34551         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
34552         sourced script:
34553           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
34554           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
34555           bar
34556         tests/init.sh relied on that, accepting a --set-path=DIR argument,
34557         and two tests used that idiom.
34558         * tests/init.sh: Update suggested usage comments.
34559         (path_prepend_): New function, to be used in place
34560         of the --src-path=DIR option.
34561         (setup_): Move PATH-prepending code into path_prepend_.
34562         * tests/test-pread.sh: Adapt to new usage.
34563         * tests/test-xalloc-die.sh: Likewise.
34564
34565 2009-12-08  Simon Josefsson  <simon@josefsson.org>
34566
34567         * doc/gnulib.texi (Glibc pty.h): Add.
34568         * doc/glibc-functions/forkpty.texi: Add.
34569         * doc/glibc-functions/openpty.texi: Add.
34570         Suggested by Bruno Haible.
34571
34572 2009-12-08  Eric Blake  <ebb9@byu.net>
34573
34574         fchdir: fix logic bugs
34575         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
34576         * tests/test-fchdir.c (main): Enhance test.
34577         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
34578         is in use.
34579
34580         dup2: fix logic bugs
34581         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
34582         REPLACE_DUP2 to decide when rpl_dup2 is needed.
34583         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
34584         exists.
34585         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
34586
34587 2009-12-07  Eric Blake  <ebb9@byu.net>
34588
34589         unlink: fix m4 detection
34590         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
34591
34592         unistd-safer: add unit test
34593         * modules/unistd-safer-tests: New file.
34594         * tests/test-dup-safer.c: Likewise.
34595         * tests/test-cloexec.c (setmode): Avoid compiler warning.
34596         * tests/test-dup2.c (setmode): Likewise.
34597         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
34598
34599         cloexec: preserve text vs. binary across dup_cloexec
34600         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
34601         mode.
34602         * modules/dup2-tests (Depends-on): Add binary-io.
34603         * modules/cloexec-tests (Depends-on): Likewise.
34604         * tests/test-dup2.c (setmode, is_mode): New helpers.
34605         (main): Add tests that translation mode is preserved.
34606         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
34607         Reported by Bruno Haible.
34608
34609         mgetgroups: reduce duplicate listings
34610         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
34611         resulting array.
34612         * tests/test-chown.h (test_chown): Simplify client.
34613         * tests/test-lchown.h (test_lchown): Likewise.
34614
34615 2009-12-06  Bruno Haible  <bruno@clisp.org>
34616
34617         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
34618         value.
34619
34620 2009-12-06  Bruno Haible  <bruno@clisp.org>
34621
34622         * lib/progname.c: Include stdio.h, stdlib.h.
34623         (set_program_name): Reject a NULL argument.
34624
34625 2009-12-05  Eric Blake  <ebb9@byu.net>
34626
34627         pipe2-safer: new module
34628         * modules/pipe2-safer: New file.
34629         * lib/unistd-safer.h (pipe2_safer): New prototype.
34630         * lib/unistd--.h (pipe2): New wrapper.
34631         * lib/pipe-safer.c (pipe2_safer): New function.
34632         * modules/pipe (Depends-on): Add pipe2-safer.
34633         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
34634
34635         stdlib-safer: preserve cloexec flag for mkostemp[s]
34636         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
34637         fd_safer_flag.
34638
34639         unistd-safer: allow preservation of cloexec status via flag
34640         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
34641         prototypes.
34642         * lib/dup-safer.c (dup_safer_flag): New function.
34643         * lib/fd-safer.c (fd_safer_flag): Likewise.
34644         * modules/cloexec (configure.ac): Set witness.
34645
34646         test-dup2: enhance test
34647         * modules/dup2-tests (Depends-on): Add cloexec.
34648         * tests/test-dup2.c (main): Enhance test.
34649
34650         cloexec: add dup_cloexec
34651         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
34652         header and comments.
34653         * lib/cloexec.c (set_cloexec_flag): Add comments.
34654         (dup_cloexec): New function, with mingw implementation borrowed
34655         from...
34656         * lib/w32spawn.h (dup_noinherit): ...here.
34657         * modules/execute (Depends-on): Add cloexec.
34658         * modules/pipe (Depends-on): Likewise.
34659         * modules/cloexec (Depends-on): Add dup2.
34660         * modules/cloexec-tests (Files): New file.
34661         * tests/test-cloexec.c: Likewise.
34662
34663         test-xalloc-die: fix test for mingw
34664         * modules/xalloc-die-tests (Files): Add tests/init.sh.
34665         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
34666         directory and .exe suffix off argv[0] output.
34667
34668         test-fseeko: fix test for mingw
34669         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
34670         than undefining fseek, so test will pass on mingw.
34671
34672 2009-12-05  Bruno Haible  <bruno@clisp.org>
34673
34674         * lib/progname.h (set_program_name): Clarify specification.
34675         * lib/progname.c (set_program_name): Likewise.
34676         Reported by Jim Meyering.
34677
34678 2009-12-05  Jim Meyering  <meyering@redhat.com>
34679
34680         maint.mk: backslash-escape parens in default regexp
34681         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
34682         backslash-escape the literal parentheses.
34683
34684         maint.mk: news-date-check: use grep -E
34685         * top/maint.mk (today): Define a Make variable, not a...
34686         (news-date-check): ...shell variable.
34687         (news-date-regexp): Use the Make variable.
34688         Use grep's -E option.  Change the failing diagnostic to mention
34689         the variable, $(news-date-regexp).
34690
34691 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
34692
34693         maintainer-makefile: allow customization of NEWS entry format
34694         * top/maint.mk (news-date-regexp): New overridable variable.
34695         (news-date-check): Use it.
34696
34697 2009-12-04  Eric Blake  <ebb9@byu.net>
34698
34699         mgetgroups: add xgetgroups, and avoid ENOSYS failures
34700         * lib/mgetgroups.h (xgetgroups): New prototype.
34701         * lib/mgetgroups.c (xgetgroups): New wrapper.
34702         (mgetgroups): Handle ENOSYS.
34703         * modules/mgetgroups (Depends-on): Add realloc.
34704         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
34705
34706         mgetgroups: avoid argument promotion issues with -1
34707         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
34708         for invalid gid_t.
34709         * tests/test-chown.h (getegid, test_chown): Likewise.
34710         * tests/test-lchown.h (getegid, test_lchown): Likewise.
34711
34712 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
34713
34714         exclude: Fix header file problems.
34715         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
34716
34717 2009-12-01  Jim Meyering  <meyering@redhat.com>
34718
34719         fts: fts_open: do not let an empty string cause immediate failure
34720         This is required in support of GNU rm, for which the command
34721         "rm A '' B" must process and remove both A and B, in spite of
34722         the empty string argument.
34723         * lib/fts.c (fts_open): Do not let the presence of an empty string
34724         cause fts_open to fail immediately.  Most fts-using tools must be
34725         able to process all arguments, in order, and can be expected to
34726         diagnose such arguments themselves.
34727
34728 2009-11-30  Eric Blake  <ebb9@byu.net>
34729
34730         utimens: fix compilation error
34731         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
34732         Declare variable at right scope.
34733
34734 2009-11-29  Jim Meyering  <meyering@redhat.com>
34735
34736         bootstrap: handle perl-5.11's changed --version output
34737         * build-aux/bootstrap (get_version): Handle perl separately,
34738         since perl-5.11's --version output is different.
34739
34740 2009-11-28  Jim Meyering  <meyering@redhat.com>
34741
34742         userspec: depend on the inttostr module, too
34743         * modules/userspec (Depends-on): Add inttostr.
34744
34745         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
34746         * lib/userspec.c (parse_with_separator): Do not accept a user ID
34747         number of MAXUID when it evaluates to (uid_t) -1.
34748         Likewise for group ID.  Reported by Matt McCutchen in
34749         <http://savannah.gnu.org/bugs/?28113>
34750
34751         userspec: reformat to use spaces, not TABs
34752         * lib/userspec.c: Expand TABs to spaces.
34753         Add Emacs' "indent-tabs-mode: nil" hint.
34754
34755 2009-11-27  Eric Blake  <ebb9@byu.net>
34756
34757         getopt-gnu: flush out another BSD bug
34758         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
34759         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
34760         flush out BSD bug.
34761         * tests/test-getopt.h (test_getopt): End lists with NULL.
34762         * tests/test-getopt_long.h (test_getopt_long): Likewise.
34763         (test_getopt_long_posix): Enhance test.
34764         * modules/getopt-posix-tests (Depends-on): Add stdbool.
34765         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
34766         getopt-gnu.
34767         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34768         Likewise.
34769
34770 2009-11-27  Simon Josefsson  <simon@josefsson.org>
34771
34772         * modules/idpriv-droptemp-tests (Notice): Fix text.
34773
34774 2009-11-27  Jim Meyering  <meyering@redhat.com>
34775
34776         test-xalloc-die: avoid spurious failure due to libtool argv difference
34777         In a libtool-enabled project, this test would fail due to a difference
34778         in the emitted program name, e.g.,
34779         -test-xalloc-die: memory exhausted
34780         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
34781         Use program to avoid that.
34782         * modules/xalloc-die-tests (Depends-on): Add progname.
34783         * tests/test-xalloc-die.c: Include progname.h".
34784         (program_name): Remove decl.
34785         (main): Call set_program_name.
34786         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
34787
34788 2009-11-26  Richard Jones  <rjones@redhat.com>
34789
34790         w32sock: leave win32 error in place.
34791         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
34792
34793 2009-11-26  Eric Blake  <ebb9@byu.net>
34794
34795         init.sh: suggest to use skip_ and fail_ functions in comments
34796         * tests/init.sh: Add a sentence.
34797
34798 2009-11-25  Bruno Haible  <bruno@clisp.org>
34799
34800         init.sh: add documentation in comments
34801         * tests/init.sh: Add some developer and user documentation.
34802
34803 2009-11-26  Jim Meyering  <meyering@redhat.com>
34804
34805         init.sh: accommodate even those who specify bogus srcdir manually
34806         * tests/init.sh: Normally, srcdir is guaranteed by automake and
34807         configure-time tests to be sanitized, so that there is no need to
34808         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
34809         (with no double quotes) suffices.  However, since tests may be
34810         invoked manually, and since you may explicitly set srcdir to the
34811         name of a directory containing spaces, do quote its uses here.
34812         * tests/test-pread.sh: Likewise.
34813         Suggested by Bruno Haible.
34814
34815         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
34816         * tests/test-pread.sh: Write no data into the pipe, because
34817         test-pread actually reads none.  This avoids a diagnostic,
34818         "bash: echo: write error: Broken pipe", that arises in the unusual
34819         event something is ignoring SIGPIPE, and might be interpreted
34820         as some sort of failure.  Reported by Bruno Haible.
34821
34822 2009-11-25  Jim Meyering  <meyering@redhat.com>
34823
34824         test-pread: cover failure with ESPIPE and EINVAL
34825         * tests/test-pread.c (main): Test for failure, too.
34826         * tests/test-pread.sh: Invoke with stdin on a pipe.
34827         Suggested by Eric Blake.
34828
34829         pread: improvement and fix
34830         * modules/pread (Depends-on): Depend on lseek, for portability to
34831         e.g., mingw.  Suggested by Eric Blake.
34832         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
34833
34834         unistd.in.h: correct declaration of pread
34835         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
34836         Reported by Richard W.M. Jones.
34837
34838         test-pread.sh: distribute the test script
34839         * modules/pread-tests (Files): Include test-pread.sh.
34840
34841         test-pread.sh: clean up
34842         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
34843         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
34844         That is unnecessary, since it's always ".".
34845         Suggestion from Eric Blake.
34846
34847         test-pread.sh: make executable
34848         * tests/test-pread.sh: Set executable bit.
34849         Reported by Eric Blake.
34850
34851         correct typo in test-pread.sh
34852         * tests/test-pread.sh: Add #! line.
34853
34854         test pread
34855         * tests/test-pread.c: New file.
34856         * tests/test-pread.sh: Likewise.
34857         * modules/pread-tests: Likewise.
34858
34859         pread: new module
34860         * modules/pread: New file.
34861         * lib/unistd.in.h (pread): Define/declare.
34862         * lib/pread.c (pread): New file.
34863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
34864         * modules/unistd (Makefile.am): Substitute witnesses.
34865         * doc/posix-functions/pread.texi (pread): Update.
34866         * MODULES.html.sh: Add pread.
34867
34868 2009-11-25  Jim Meyering  <meyering@redhat.com>
34869
34870         tests/init.sh: new file to be used via most *.sh tests
34871         * tests/init.sh: New file.
34872
34873 2009-11-25  Eric Blake  <ebb9@byu.net>
34874
34875         utimens: work around older Linux failure with symlinks
34876         * lib/utimens.c (lutimensat_works_really): New variable.
34877         (fdutimens, lutimens): Use it to manage kernels that support
34878         nanosecond times on files, but not on symlinks.
34879         Reported by OndÅ™ej Vašík.
34880
34881         utimes: fix configure grammar
34882         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
34883
34884 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
34885
34886         regex: Fix fastmap for multibyte character ranges.
34887         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
34888         characters when a multibyte character range is included.
34889
34890 2009-11-22  Andy Wingo  <wingo@pobox.com>
34891
34892         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
34893         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
34894
34895 2009-11-24  Bruno Haible  <bruno@clisp.org>
34896
34897         doc: Most *_l functions exist in MacOS X 10.5.
34898         * doc/posix-functions/duplocale.texi: Update platforms list.
34899         * doc/posix-functions/freelocale.texi: Likewise.
34900         * doc/posix-functions/newlocale.texi: Likewise.
34901         * doc/posix-functions/uselocale.texi: Likewise.
34902         * doc/posix-functions/isalnum_l.texi: Likewise.
34903         * doc/posix-functions/isalpha_l.texi: Likewise.
34904         * doc/posix-functions/isblank_l.texi: Likewise.
34905         * doc/posix-functions/iscntrl_l.texi: Likewise.
34906         * doc/posix-functions/isdigit_l.texi: Likewise.
34907         * doc/posix-functions/isgraph_l.texi: Likewise.
34908         * doc/posix-functions/islower_l.texi: Likewise.
34909         * doc/posix-functions/isprint_l.texi: Likewise.
34910         * doc/posix-functions/ispunct_l.texi: Likewise.
34911         * doc/posix-functions/isspace_l.texi: Likewise.
34912         * doc/posix-functions/isupper_l.texi: Likewise.
34913         * doc/posix-functions/iswalnum_l.texi: Likewise.
34914         * doc/posix-functions/iswalpha_l.texi: Likewise.
34915         * doc/posix-functions/iswblank_l.texi: Likewise.
34916         * doc/posix-functions/iswcntrl_l.texi: Likewise.
34917         * doc/posix-functions/iswctype_l.texi: Likewise.
34918         * doc/posix-functions/iswdigit_l.texi: Likewise.
34919         * doc/posix-functions/iswgraph_l.texi: Likewise.
34920         * doc/posix-functions/iswlower_l.texi: Likewise.
34921         * doc/posix-functions/iswprint_l.texi: Likewise.
34922         * doc/posix-functions/iswpunct_l.texi: Likewise.
34923         * doc/posix-functions/iswspace_l.texi: Likewise.
34924         * doc/posix-functions/iswupper_l.texi: Likewise.
34925         * doc/posix-functions/iswxdigit_l.texi: Likewise.
34926         * doc/posix-functions/isxdigit_l.texi: Likewise.
34927         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
34928         * doc/posix-functions/strcasecmp_l.texi: Likewise.
34929         * doc/posix-functions/strcoll_l.texi: Likewise.
34930         * doc/posix-functions/strfmon_l.texi: Likewise.
34931         * doc/posix-functions/strftime_l.texi: Likewise.
34932         * doc/posix-functions/strncasecmp_l.texi: Likewise.
34933         * doc/posix-functions/strxfrm_l.texi: Likewise.
34934         * doc/posix-functions/tolower_l.texi: Likewise.
34935         * doc/posix-functions/toupper_l.texi: Likewise.
34936         * doc/posix-functions/towctrans_l.texi: Likewise.
34937         * doc/posix-functions/towlower_l.texi: Likewise.
34938         * doc/posix-functions/towupper_l.texi: Likewise.
34939         * doc/posix-functions/wcscoll_l.texi: Likewise.
34940         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
34941         * doc/posix-functions/wctrans_l.texi: Likewise.
34942         * doc/posix-functions/wctype_l.texi: Likewise.
34943         * doc/glibc-functions/strptime_l.texi: Likewise.
34944         * doc/glibc-functions/strtod_l.texi: Likewise.
34945         * doc/glibc-functions/strtof_l.texi: Likewise.
34946         * doc/glibc-functions/strtol_l.texi: Likewise.
34947         * doc/glibc-functions/strtold_l.texi: Likewise.
34948         * doc/glibc-functions/strtoll_l.texi: Likewise.
34949         * doc/glibc-functions/strtoul_l.texi: Likewise.
34950         * doc/glibc-functions/strtoull_l.texi: Likewise.
34951         * doc/glibc-functions/wcsftime_l.texi: Likewise.
34952         * doc/glibc-functions/wcstod_l.texi: Likewise.
34953         * doc/glibc-functions/wcstof_l.texi: Likewise.
34954         * doc/glibc-functions/wcstol_l.texi: Likewise.
34955         * doc/glibc-functions/wcstold_l.texi: Likewise.
34956         * doc/glibc-functions/wcstoll_l.texi: Likewise.
34957         * doc/glibc-functions/wcstoul_l.texi: Likewise.
34958         * doc/glibc-functions/wcstoull_l.texi: Likewise.
34959
34960 2009-11-24  Bruno Haible  <bruno@clisp.org>
34961
34962         duplocale: Fix logic bug.
34963         * lib/duplocale.c: Don't include <langinfo.h>.
34964         (_NL_LOCALE_NAME): Remove macro.
34965         (rpl_duplocale): Use setlocale instead of nl_langinfo.
34966         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
34967
34968 2009-11-23  Jim Meyering  <meyering@redhat.com>
34969
34970         test-update-copyright: don't hard-code /usr/bin/perl
34971         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
34972         perl to print the current year.  Gilles Espinasse reported that
34973         the replaced use of perl was hard-coded as /usr/bin/perl.
34974
34975 2009-11-23  Bruno Haible  <bruno@clisp.org>
34976
34977         duplocale: Add support for glibc 2.3.x.
34978         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
34979
34980 2009-11-22  Bruno Haible  <bruno@clisp.org>
34981
34982         vasnprintf: Tiny optimization.
34983         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
34984         MacOS X.
34985
34986 2009-11-22  Bruno Haible  <bruno@clisp.org>
34987
34988         Tests for module 'duplocale'.
34989         * modules/duplocale-tests: New file.
34990         * tests/test-duplocale.c: New file.
34991
34992         New module 'duplocale'.
34993         * m4/duplocale.m4: New file.
34994         * lib/locale.in.h (duplocale): New declaration.
34995         * lib/duplocale.c: New file.
34996         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
34997         gl_LOCALE_H_DEFAULTS): New macros.
34998         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
34999         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
35000         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
35001         REPLACE_DUPLOCALE.
35002         * modules/duplocale: New file.
35003         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
35004
35005 2009-11-22  Bruno Haible  <bruno@clisp.org>
35006
35007         * modules/locale-tests (configure.ac): Test for newlocale function.
35008         * tests/test-locale.c: When the system has extended locale functions,
35009         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
35010
35011         locale: Make locale_t available when possible.
35012         * lib/locale.in.h: Include <xlocale.h> when it exists.
35013         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
35014         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
35015         * modules/locale (Depends-on): Add extensions.
35016         (Makefile.am): Also substitute HAVE_XLOCALE_H.
35017         * doc/posix-headers/locale.texi: Document the problem with locale_t.
35018
35019 2009-11-22  Bruno Haible  <bruno@clisp.org>
35020
35021         Add comments.
35022         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
35023         invocation.
35024         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
35025         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35026         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35027
35028 2009-11-22  Bruno Haible  <bruno@clisp.org>
35029
35030         error: account for the possibility of freopen (stdout).
35031         * lib/error.c: Include <unistd.h>.
35032         (flush_stdout): New function, extracted from error and error_at_line.
35033         Determine stdout's fd dynamically.
35034         (error, error_at_line): Invoke flush_stdout.
35035         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
35036         * modules/error (Depends-on): Add unistd.
35037
35038 2009-11-22  Bruno Haible  <bruno@clisp.org>
35039
35040         diffseq: Add comment.
35041         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
35042
35043 2009-11-22  Jim Meyering  <meyering@redhat.com>
35044
35045         c-stack: avoid defining an unused static function
35046         * lib/c-stack.c (find_stack_direction): Do not define this function
35047         when it will not be used.
35048
35049         diffseq: avoid spurious gcc warnings
35050         * lib/diffseq.h (IF_LINT2): Define.
35051         (compareseq): Use it to initialize two members of "part".
35052         This avoids two used-uninitialized warnings.
35053
35054 2009-11-21  Jim Meyering  <meyering@redhat.com>
35055
35056         c-stack: avoid "ignoring return value of `write'" warning
35057         * lib/c-stack.c: Include "ignore-value.h".
35058         (die): Explicitly ignore each write return value.
35059         * modules/c-stack (Depends-on): Add ignore-value.
35060
35061 2009-11-21  Bruno Haible  <bruno@clisp.org>
35062
35063         diffseq: reduce scope of variable 'best'.
35064         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
35065         variable, earlier used for two different purposes.
35066
35067 2009-11-21  Jim Meyering  <meyering@redhat.com>
35068
35069         diffseq: remove useless assignment to "best"
35070         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
35071         assignment.  At that point "best" is already guaranteed to be zero.
35072
35073 2009-11-20  Eric Blake  <ebb9@byu.net>
35074
35075         build: mention ftp redirector in release announcements
35076         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
35077         values that used to come from cfg.mk; mention FTP redirect URL.
35078         * build-aux/announce-gen: Mention the mirror list.
35079         Suggested by Karl Berry.
35080
35081         nanosleep: improve port to mingw
35082         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
35083         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
35084         LIB_NANOSLEEP, but only when needed.
35085         * modules/select (Link): Document LIBSOCKET.
35086         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
35087         enough.
35088
35089         nanosleep: work around cygwin bug
35090         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
35091         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
35092         bug.
35093         (getnow): Delete, not needed.
35094         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
35095         LIB_CLOCK_GETTIME.
35096         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
35097         clock-time, gettime.
35098         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
35099         bug.
35100         * modules/nanosleep-tests: New test.
35101         * tests/test-nanosleep.c: New file.
35102
35103         sleep: work around cygwin bug
35104         * lib/sleep.c (rpl_sleep): Work around the bug.
35105         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
35106         (gl_PREREQ_SLEEP): Delete unused macro.
35107         * modules/sleep (Depends-on): Add verify.
35108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35109         * modules/unistd (Makefile.am): Substitute witness.
35110         * lib/unistd.in.h (sleep): Update prototype.
35111         * doc/posix-functions/sleep.texi (sleep): Document the bug.
35112         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
35113         * modules/sleep-tests (Depends-on): Check for alarm.
35114
35115 2009-11-20  Jim Meyering  <meyering@redhat.com>
35116
35117         maint.mk: improve sc_prohibit_magic_number_exit
35118         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
35119         so it does not match uses like System.exit(1).
35120         Add comments showing how to correct all offenders.
35121
35122 2009-11-19  Eric Blake  <ebb9@byu.net>
35123
35124         xalloc-die-tests: add missing library
35125         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
35126
35127         test-xvasprintf: silence compiler warnings
35128         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
35129         empty string from gcc.
35130
35131 2009-11-19  Jim Meyering  <meyering@redhat.com>
35132
35133         xfreopen: new module, from coreutils
35134         * modules/xfreopen: New module.
35135         * lib/xfreopen.c: New file.
35136         * lib/xfreopen.h: New file.
35137         * MODULES.html.sh (File stream based Input/Output"): Add it.
35138
35139 2009-11-19  Eric Blake  <ebb9@byu.net>
35140
35141         manywarnings: depend on warnings
35142         * modules/manywarnings (Depends-on): Add warnings.
35143
35144         build: avoid compiler warnings
35145         * lib/select.c (rpl_select): Delete unused variable.
35146         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
35147
35148 2009-11-18  Eric Blake  <ebb9@byu.net>
35149
35150         tests: avoid false negative with --with-packager
35151         * tests/test-version-etc.sh: Discard packager information.
35152         * tests/test-argp-version-etc-1.sh: Likewise.
35153         Reported by Mike Frysinger.
35154
35155         utimens: fix regression on Solaris
35156         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
35157         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
35158         can only change fd timestamps via futimesat.  Instead, use an
35159         additional witness macro to avoid BSD bug.
35160         Reported by Jim Meyering.
35161
35162 2009-11-17  Eric Blake  <ebb9@byu.net>
35163
35164         usleep: use it to simplify tests
35165         * modules/stat-time-tests (Depends-on): Add usleep.
35166         (configure.ac): Drop usleep check.
35167         * modules/chown-tests (Depends-on, configure.ac): Likewise.
35168         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
35169         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
35170         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
35171         * modules/openat-tests (Depends-on, configure.ac): Likewise.
35172         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
35173         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
35174         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
35175         Likewise.
35176         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
35177         * tests/test-lchown.h (nap): Likewise.
35178         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
35179         * tests/test-stat-time.c (nap): Likewise.
35180         * tests/test-utimens-common.h (nap): Update comments.
35181
35182         usleep: new module
35183         * modules/usleep: New file.
35184         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
35185         * lib/usleep.c (usleep): Likewise.
35186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
35187         * modules/unistd (Makefile.am): Substitute witnesses.
35188         * lib/unistd.in.h (usleep): Add declaration.
35189         * doc/pastposix-functions/usleep.texi (usleep): Document this.
35190         * MODULES.html.sh (Date and time): Likewise.
35191         * modules/usleep-tests (Depends-on): New test.
35192         * tests/test-usleep.c: New file.
35193
35194         chown: work around OpenBSD bug
35195         * lib/chown.c (rpl_chown): Work around the bug.
35196         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
35197         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
35198         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
35199         * modules/chown (Depends-on): Add stdbool.
35200         * modules/lchown (Depends-on): Likewise.
35201         * doc/posix-functions/chown.texi (chown): Document the bug.
35202         * doc/posix-functions/lchown.texi (lchown): Likewise.
35203         * tests/test-lchown.h (test_chown): Relax test.
35204
35205         mkstemp: avoid conflict with C++ keyword template
35206         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
35207         * lib/mkostemp.c (mkostemp): Likewise.
35208         * lib/mkostemps.c (mkostemps): Likewise.
35209         * lib/mkstemp.c (mkstemp): Likewise.
35210         * lib/mkstemps.c (mkstemps): Likewise.
35211
35212         xalloc-die-tests: optimize
35213         * tests/test-xalloc-die.sh: Reduce number of processes.
35214
35215 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35216
35217         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
35218         patch from ludo@gnu.org (Ludovic Courtès).
35219
35220 2009-11-17  Jim Meyering  <meyering@redhat.com>
35221
35222         version-etc: use proper license string
35223         * modules/version-etc (License): Use LGPL, not LGPLv3+.
35224         * modules/version-etc-fsf: Likewise.
35225
35226 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35227
35228         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
35229         printed to stdout.  Deal with EOL differences.
35230
35231 2009-11-17  Eric Blake  <ebb9@byu.net>
35232
35233         unsetenv: work around Solaris bug
35234         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
35235         * lib/unsetenv.c (rpl_unsetenv): Work around it.
35236         Reported by Jim Meyering.
35237
35238         vasnprintf: avoid compiler warnings
35239         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
35240         variables.
35241         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
35242
35243 2009-11-17  Simon Josefsson  <simon@josefsson.org>
35244
35245         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
35246         settings since xalloc-die is no longer the self test,
35247         xalloc-die.sh is.
35248
35249 2009-11-17  Jim Meyering  <meyering@redhat.com>
35250
35251         test-xalloc-die.sh: make the code agree with the commit log
35252         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
35253         at the end, just in case you happen to have a test-xalloc-die
35254         program in some other PATH directory.
35255
35256         test-xalloc-die.sh: fix a portability bug
35257         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
35258         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
35259         Otherwise, argv[0] (as often seen in diagnostics) would be too
35260         system-dependent, sometimes with, and sometimes without the leading "./".
35261
35262         version-etc-fsf: relax license to LGPLv3+
35263         * modules/version-etc-fsf (License): Relax license.
35264
35265 2009-11-16  Eric Blake  <ebb9@byu.net>
35266
35267         xalloc-die-tests: avoid printing null pointer
35268         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
35269         shell script.
35270         * tests/test-xalloc-die.c (program_name): Declare.
35271         * tests/test-xalloc-die.sh (tmpfiles): New file.
35272
35273         setenv, unsetenv: work around various bugs
35274         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
35275         (setenv) [HAVE_SETENV]: Work around bugs.
35276         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
35277         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
35278         for bugs.
35279         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
35280         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
35281         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
35282         * modules/stdlib (Makefile.am): Update substitutions.
35283         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
35284         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
35285         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35286         * modules/setenv-tests: New test.
35287         * modules/unsetenv-tests: Likewise.
35288         * tests/test-setenv.c: New file.
35289         * tests/test-unsetenv.c: Likewise.
35290
35291 2009-11-16  Jim Meyering  <meyering@redhat.com>
35292
35293         version-etc: relax license to LGPLv3+
35294         * modules/version-etc (License): Relax license.
35295
35296         better AC_REQUIRE expanded-before-required-warning avoidance
35297         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
35298         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
35299         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
35300         which is no longer needed.
35301
35302 2009-11-16  Eric Blake  <ebb9@byu.net>
35303
35304         test-freading: clean up temporary file
35305         * tests/test-freading.c (main): Remove file on success, and use
35306         ASSERT more liberally.
35307         Reported by Jim Meyering.
35308
35309 2009-11-16  Jim Meyering  <meyering@redhat.com>
35310
35311         avoid new AC_REQUIRE expanded-before-required warnings
35312         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
35313         merely using it.
35314         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
35315         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
35316
35317 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35318
35319         * tests/test-xalloc-die.c: New file.
35320         * modules/xalloc-die-tests: New file.
35321         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
35322         XFAIL_TESTS so it can be appended by modules.
35323
35324 2009-11-15  Simon Josefsson  <simon@josefsson.org>
35325
35326         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
35327         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
35328
35329 2009-11-14  Eric Blake  <ebb9@byu.net>
35330
35331         fnmatch: avoid compiler warning
35332         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
35333         to silence compiler warning about mismatch signedness in ?:.
35334         Reported by Robert Millan.
35335
35336         intprops: add double-inclusion guard
35337         * lib/intprops.h: Allow idempotent includes.
35338         Suggested by Bruce Korb.
35339
35340         openat: detect Solaris fchownat bug
35341         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
35342         penalizing glibc chownat when only lchownat is broken.
35343         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
35344         trailing slash bugs.
35345         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
35346         * modules/openat-tests (Files): Include more files.
35347         (Depends-on): Add mgetgroups, sleep, stat-time.
35348         (configure.ac): Add additional checks.
35349         (Makefile.am): Build new test.
35350         * tests/test-fchownat.c: New file.
35351
35352         lchown: detect Solaris and FreeBSD bug
35353         * lib/lchown.c (rpl_lchown): Work around bug.
35354         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
35355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35356         * modules/unistd (Makefile.am): Populate it.
35357         * lib/unistd.in.h (lchown): Update declaration.
35358         * doc/posix-functions/lchown.texi (lchown): Document the bug.
35359         * modules/lchown-tests: New file.
35360         * tests/test-lchown.h (test_lchown): Likewise.
35361         * tests/test-lchown.c (main): Likewise.
35362
35363         chown: detect Solaris and FreeBSD bug
35364         * lib/chown.c (rpl_chown): Work around bug.
35365         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
35366         (gl_PREREQ_CHOWN): Delete.
35367         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35368         * modules/unistd (Makefile.am): Populate it.
35369         * lib/unistd.in.h (chown): Update declaration.
35370         * lib/lchown.c (chown): Update client.
35371         * modules/lchown (Depends-on): Add lstat.
35372         * doc/posix-functions/chown.texi (chown): Document the bug.
35373         * doc/posix-functions/getgroups.texi (getgroups): Document
35374         getgroups pitfall.
35375         * modules/chown-tests: New file.
35376         * tests/test-chown.h (test_chown): Likewise.
35377         * tests/test-chown.c (main): Likewise.
35378
35379 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
35380
35381         gnulib-tool: correctly detect absence of m4 directories
35382         * gnulib-tool: Avoid extra newline on data passed to wc -l.
35383
35384 2009-11-14  Jim Meyering  <meyering@redhat.com>
35385
35386         maint.mk: Prohibit inclusion of "xalloc.h" without use.
35387         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35388
35389 2009-11-14  John W. Eaton  <jwe@gnu.org>
35390
35391         strftime.h: wrap funtion declaration in extern "C" block
35392         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
35393
35394 2009-11-13  Eric Blake  <ebb9@byu.net>
35395
35396         getgroups: avoid compiler warning
35397         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
35398
35399         getgroups: work around FreeBSD bug
35400         * lib/getgroups.c (rpl_getgroups): Work around the bug.
35401         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
35402         * doc/posix-functions/getgroups.texi (getgroups): Document it.
35403         * tests/test-getgroups.c (main): Fix buffer overrun.
35404
35405         getgroups: avoid compilation failure
35406         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
35407         * modules/getgroups (Depends-on): Add stdint.
35408
35409 2009-11-13  Jim Meyering  <meyering@redhat.com>
35410
35411         test-getgroups: avoid compilation failure
35412         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
35413
35414 2009-11-13  Eric Blake  <ebb9@byu.net>
35415
35416         mgetgroups: new module, taken from coreutils
35417         * modules/mgetgroups: New file.
35418         * lib/mgetgroups.h: Likewise.
35419         * lib/mgetgroups.c (mgetgroups): Likewise.
35420         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
35421         * MODULES.html.sh (Users and groups): Mention it.
35422
35423         getgroups: don't expose GETGROUPS_T to user
35424         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
35425         an element at a time if GETGROUPS_T is wrong size.
35426         * lib/getugroups.h (getugroups): Change signature.
35427         * lib/unistd.in.h (getgroups): Likewise.
35428         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
35429         signature needs fixing.
35430         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
35431         AC_TYPE_GETGROUPS.
35432         * modules/group-member (Depends-on): Add getgroups.
35433         * lib/group-member.c (group_info, get_group_info): Use gid_t.
35434         (group_member): Rely on getgroups replacement.
35435         * lib/getugroups.c (getugroups): Use gid_t.
35436         * tests/test-getgroups.c (main): Likewise.
35437         * NEWS: Mention the signature change.
35438         * doc/posix-functions/getgroups.texi (getgroups): Mention the
35439         problem with signature.
35440         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
35441         GETGROUPS_T is still useful for setgroups.
35442
35443         getgroups, getugroups: provide stubs for mingw
35444         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
35445         * lib/getugroups.c (getugroups): Likewise.
35446         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
35447         function.  Modernize replacement scheme.
35448         (gl_PREREQ_GETGROUPS): Delete.
35449         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
35450         * modules/getgroups (configure.ac): Declare witness.
35451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
35452         * modules/unistd (Depends-on): Substitute witness.
35453         * lib/unistd.in.h (getgroups): Declare replacement.
35454
35455         getgroups: avoid calling exit
35456         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
35457         drop xalloc.
35458         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
35459         dependencies.
35460         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
35461         exiting, in the rare case of malloc failure.
35462
35463         getgroups: fix logic error
35464         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
35465         has more than 20 groups.
35466         * modules/getgroups-tests: New test.
35467         * tests/test-getgroups.c: New file.
35468
35469 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35470
35471         * tests/test-base64.c: Improve.
35472
35473 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35474
35475         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
35476         Blake <ebb9@byu.net>.
35477
35478 2009-11-13  Simon Josefsson  <simon@josefsson.org>
35479
35480         * tests/test-xvasprintf.c: Add %s%s related checks.
35481
35482 2009-11-12  Eric Blake  <ebb9@byu.net>
35483
35484         version-etc: match standards.texi style
35485         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
35486         and use <> only for URLs.
35487
35488 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
35489
35490         fts: do not fail on a submount during traversal
35491         * lib/fts.c (fts_build): Read the stat info again after opening
35492         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
35493         Original report at http://bugzilla.redhat.com/501848.
35494
35495 2009-11-12  Jim Meyering  <meyering@redhat.com>
35496
35497         bootstrap: sync from coreutils
35498         * build-aux/bootstrap (bootstrap_epilogue): New function.
35499         Use git_modules_config in one more place.  This make bootstrap's
35500         --gnulib-srcdir option more useful for testing.
35501
35502         bootstrap: generalize autoheader check
35503         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
35504         AC_CONFIG_HEADERS.
35505
35506 2009-11-11  Eric Blake  <ebb9@byu.net>
35507
35508         mkfifoat: use new modules for Solaris and BSD bugs
35509         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
35510         * lib/mkfifoat.c (mknodat): Split...
35511         * lib/mknodat.c (mknodat): ...into new file.
35512         * modules/mkfifoat (Files): Ship new file.
35513         (Depends-on): Add mkfifo, mknod.
35514         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
35515         (Depends-on): Add symlink.
35516         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
35517         redundant with test_mkfifo.h.
35518         (do_mkfifoat, do_mknodat): New helpers.
35519
35520         mknod: new module
35521         * modules/mknod: New file.
35522         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
35523         * lib/mknod.c (mknod): Likewise.
35524         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35525         defaults.
35526         * modules/sys_stat (Makefile.am): Substitute them.
35527         * lib/sys_stat.in.h (mknod): Declare replacement.
35528         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35529         Document it.
35530         * doc/posix-functions/mknod.texi (mknod): Likewise.
35531         * modules/mknod-tests: New test.
35532         * tests/test-mknod.c: Likewise.
35533
35534         mkfifo: new module
35535         * modules/mkfifo: New file.
35536         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
35537         * lib/mkfifo.c (mkfifo): Likewise.
35538         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
35539         defaults.
35540         * modules/sys_stat (Makefile.am): Substitute them.
35541         * lib/sys_stat.in.h (mkfifo): Declare replacement.
35542         * MODULES.html.sh (Support for systems lacking POSIX:2008):
35543         Document it.
35544         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
35545         * modules/mkfifo-tests: New test.
35546         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
35547         from test-mkfifoat.c.
35548         * tests/test-mkfifo.c: New file.
35549
35550         readlink: detect FreeBSD bug
35551         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
35552         slash on symlink.
35553         * doc/posix-functions/readlink.texi (readlink): Document the bug.
35554         * tests/test-readlink.h (test_readlink): Enhance test.
35555
35556         symlink: detect FreeBSD bug
35557         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
35558         slash on symlink.
35559         * doc/posix-functions/symlink.texi (symlink): Document the bug.
35560         * tests/test-symlink.h (test_symlink): Enhance test.
35561
35562 2009-11-10  Eric Blake  <ebb9@byu.net>
35563
35564         link: detect FreeBSD bug
35565         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
35566         symlink.
35567         * doc/posix-functions/link.texi (link): Document the bug.
35568         * tests/test-link.h (test_link): Enhance test.
35569         * tests/test-linkat.c (main): Update caller.
35570
35571         unlink, remove: detect FreeBSD bug
35572         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
35573         slash on symlink.
35574         * doc/posix-functions/unlink.texi (unlink): Document the bug.
35575         * doc/posix-functions/remove.texi (remove): Likewise.
35576         * tests/test-unlink.h (test_unlink): Enhance test.
35577         * tests/test-remove.c (main): Likewise.
35578
35579 2009-11-09  Eric Blake  <ebb9@byu.net>
35580
35581         rename: detect FreeBSD bug
35582         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
35583         slash on symlink.
35584         * modules/renameat-tests (Depends-on): Add filenamecat.
35585         * tests/test-rename.h (test_rename): Allow one more errno.
35586         * tests/test-renameat.c (main): Likewise.
35587         * doc/posix-functions/rename.texi (rename): Document the bug.
35588
35589         open: detect FreeBSD bug
35590         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
35591         symlink.
35592         * doc/posix-functions/open.texi (open): Document the bug.
35593         * doc/posix-functions/utimes.texi (utimes): Likewise.
35594         * tests/test-open.h (test_open): Add parameters, and test symlink
35595         handling.
35596         * tests/test-open.c (main): Adjust caller.
35597         * tests/test-fcntl-safer.c (main): Likewise.
35598         * modules/open-tests (Depends-on): Add stdbool, symlink.
35599         * modules/fcntl-safer-tests (Depends-on): Likewise.
35600         * tests/test-openat.c (main): Add test-open tests.
35601
35602         stat: detect FreeBSD bug
35603         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
35604         symlink.
35605         * doc/posix-functions/stat.texi (stat): Document the bug.
35606         * tests/test-stat.h (test_stat_func): Add argument.
35607         * tests/test-stat.c (main): Adjust caller.
35608         * tests/test-fstatat.c (main): Likewise.
35609         * modules/stat-tests (Depends-on): Add stdbool, symlink.
35610         Reported by Jim Meyering.
35611
35612 2009-11-09  James Youngman  <jay@gnu.org>
35613
35614         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
35615         * lib/strftime.c: Correct placement of #include "ignore-value.h".
35616
35617 2009-11-08  Jim Meyering  <meyering@redhat.com>
35618
35619         utimens: remove invalid futimesat call
35620         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
35621         It used the file descriptor of the target file as the DIR_FD
35622         parameter and NULL as the file name.  That caused failure with
35623         errno == EFAULT on FreeBSD-8.0-rc2
35624
35625 2009-11-07  Eric Blake  <ebb9@byu.net>
35626
35627         fflush, freadseek: use fseeko, not fseek
35628         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
35629         (clear_ungetc_buffer): Avoid potential problems on large files.
35630         * lib/freadseek.c (freadseek): Likewise.
35631         * modules/freadseek (Depends-on): Add fseeko.
35632         * modules/fseek (configure.ac): Set a witness.
35633         * tests/test-fflush.c (main): Use fseeko.
35634         * tests/test-fpurge.c (fseek): Disable link warning.
35635         * tests/test-freadable.c (fseek): Likewise.
35636         * tests/test-freading.c (fseek): Likewise.
35637         * tests/test-fseeko.c (fseek): Likewise.
35638         * tests/test-ftell.c (fseek): Likewise.
35639         * tests/test-ftello.c (fseek): Likewise.
35640         * tests/test-fwritable.c (fseek): Likewise.
35641         * tests/test-fwriting.c (fseek): Likewise.
35642
35643 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35644
35645         * modules/memchr (Depends-on): Drop getpagesize dependency.
35646
35647 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35648
35649         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
35650         Reported by Ludovic Courtès.
35651         * build-aux/pmccabe2html: Improve example usage.
35652         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
35653
35654 2009-11-06  Jim Meyering  <meyering@redhat.com>
35655
35656         do-release-commit-and-tag: New module.
35657         Automate the release-commit and tag process.
35658         * build-aux/do-release-commit-and-tag: New script, from coreutils.
35659         * modules/do-release-commit-and-tag: New file.
35660         * MODULES.html.sh (Support for maintaining and releasing): Add it.
35661
35662 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35663
35664         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
35665         because test-select.c uses inet_pton.
35666
35667 2009-11-06  Simon Josefsson  <simon@josefsson.org>
35668
35669         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
35670         GETADDRINFO_LIB.  Bump serial number.
35671         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
35672         Suggested by Eric Blake <ebb9@byu.net>.
35673
35674 2009-11-05  Eric Blake  <ebb9@byu.net>
35675
35676         strtod: detect darwin bug
35677         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
35678         Reported by Leo Davis.
35679
35680         freopen-safer: new module
35681         * modules/freopen-safer: New module.
35682         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
35683         * lib/freopen-safer.c (freopen_safer): New file.
35684         * lib/stdio-safer.h (freopen_safer): New declaration.
35685         * lib/stdio--.h (freopen): New override.
35686         * MODULES.html.sh (File stream based Input/Output): Mention it.
35687         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
35688         freopen-safer module.
35689         * doc/posix-functions/stderr.texi (stderr): Likewise.
35690         * doc/posix-functions/stdin.texi (stdin): Likewise.
35691         * doc/posix-functions/stdout.texi (stdout): Likewise.
35692         * modules/freopen-safer-tests: New test.
35693         * tests/test-reopen-safer.c: New file.
35694
35695 2009-11-05  Jim Meyering  <meyering@redhat.com>
35696
35697         maint.mk: Prohibit inclusion of "close-stream.h" without use.
35698         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
35699
35700 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35701
35702         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
35703
35704 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35705
35706         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
35707
35708 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35709
35710         Fix link error.
35711         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35712         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35713
35714 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35715
35716         * tests/test-func.c: Also test value of __func__.
35717
35718 2009-11-05  Simon Josefsson  <simon@josefsson.org>
35719
35720         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
35721         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
35722
35723 2009-11-05  Bruno Haible  <bruno@clisp.org>
35724
35725         Fix link error.
35726         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
35727         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35728         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
35729
35730 2009-11-05  Bruno Haible  <bruno@clisp.org>
35731
35732         Tests for module 'inet_pton'.
35733         * modules/inet_pton-tests: New file.
35734         * tests/test-inet_pton.c: New file.
35735
35736 2009-11-05  Bruno Haible  <bruno@clisp.org>
35737
35738         Tests for module 'inet_ntop'.
35739         * modules/inet_ntop-tests: New file.
35740         * tests/test-inet_ntop.c: New file.
35741
35742 2009-11-04  Eric Blake  <ebb9@byu.net>
35743
35744         stdlib-safer: wrap all mkstemp variants
35745         * modules/mkostemp (configure.ac): Set witness.
35746         * modules/mkostemps (configure.ac): Likewise.
35747         * modules/mkstemps (configure.ac): Likewise.
35748         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
35749         (mkstemps_safer): Wrap more functions.
35750         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
35751         wrapping.
35752         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
35753         (mkstemps_safer): Implement the wrappers.
35754
35755         mkstemps, mkostemps: new modules
35756         * modules/mkostemps: New module.
35757         * modules/mkstemps: Likewise.
35758         * lib/mkostemps.c (mkostemps): New file.
35759         * lib/mkstemps.c (mkstemps): Likewise.
35760         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
35761         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
35762         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
35763         * modules/stdlib (Makefile.am): Substitute them.
35764         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
35765         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
35766         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
35767         * doc/gnulib.texi (Glibc stdlib.h): Include them.
35768         * MODULES.html.sh (File system functions): Mention them.
35769
35770         tempname: resync from glibc
35771         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
35772         same values for __GT_FILE as glibc.  Abort even when assertions
35773         are disabled.
35774         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
35775         match its value otherwise.  Allow idempotent inclusion.
35776         * lib/mkdtemp.c (mkdtemp): Adjust caller.
35777         * lib/mkostemp.c (mkostemp): Likewise.
35778         * lib/mkstemp.c (mkstemp): Likewise.
35779         * lib/tmpfile.c (tmpfile): Likewise.
35780         * NEWS: Document this.
35781
35782         utimens: fix use of futimens on older Linux
35783         * lib/utimens.c (fdutimens): Use updated, rather than original,
35784         timespec to avoid bug in older Linux kernel.
35785         Reported by Simon Josefsson.
35786
35787 2009-11-04  Bruno Haible  <bruno@clisp.org>
35788
35789         Make num_processors more flexible and consistent.
35790         * lib/nproc.h (enum nproc_query): New type.
35791         (num_processors): Add a 'query' argument.
35792         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
35793         (num_processors): Add a 'query' argument. Test the value of the
35794         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
35795         mingw, count the number of CPUs available for the current process.
35796         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
35797         Check for sched_getaffinity and sched_getaffinity_np.
35798         * modules/nproc (Depends-on): Add c-ctype, extensions.
35799         * NEWS: Mention the change.
35800
35801 2009-11-03  Bruno Haible  <bruno@clisp.org>
35802
35803         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
35804
35805 2009-11-03  Jim Meyering  <meyering@redhat.com>
35806
35807         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
35808         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
35809         if it is defined.
35810
35811 2009-11-02  Eric Blake  <ebb9@byu.net>
35812
35813         mktime, timegm: share common declaration
35814         * lib/mktime-internal.h: New file.
35815         * lib/mktime.c: Use it rather than open-coding a declaration.
35816         * lib/timegm.c: Likewise.
35817         * modules/mktime (Files): Ship it.
35818         * modules/timegm (Files): Likewise.
35819         Suggested by Bruno Haible.
35820
35821         test-update-copyright: update test to match script changes
35822         * tests/test-update-copyright.sh: Avoid hard-coding perl
35823         location.  Don't update *.bak created by earlier runs.
35824
35825 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
35826             Simon Josefsson  <simon@josefsson.org>
35827             Bruno Haible  <bruno@clisp.org>
35828
35829         Fix link error on Solaris 8.
35830         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
35831         also in libnsl. Define also INET_PTON_LIB.
35832         * modules/inet_pton (Link): New section.
35833
35834 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35835             Bruno Haible  <bruno@clisp.org>
35836
35837         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
35838         * modules/inet_ntop (Link): New section.
35839         Reported by Boyan Kasarov <bkasarov@gmail.com>.
35840
35841 2009-11-02  Eric Blake  <ebb9@byu.net>
35842
35843         maint: avoid compiler warnings in m4 macros
35844         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
35845         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
35846
35847 2009-11-02  Simon Josefsson  <simon@josefsson.org>
35848
35849         * m4/pmccabe2html.m4: Remove file.
35850         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
35851         function.  Change maintainer.
35852         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
35853         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
35854         Courtès).
35855
35856 2009-10-31  Eric Blake  <ebb9@byu.net>
35857
35858         fseeko: fix m4 regression
35859         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
35860         regression from 2009-10-27.
35861         Reported by Ralf Wildenhues.
35862
35863 2009-10-31  Jim Meyering  <meyering@redhat.com>
35864
35865         inttostr: aesthetics and improved (compile-time) safety
35866         Define inttype_is_signed rather than inttype_is_unsigned,
35867         since the sole use is via "#if inttype_is_signed".
35868         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
35869         inttype_is_unsigned.
35870         * lib/offtostr.c (inttype_is_signed): Likewise.
35871         * lib/uinttostr.c (inttype_is_signed): Likewise.
35872         * lib/umaxtostr.c (inttype_is_signed): Likewise.
35873         * lib/inttostr.c (inttostr): Use verify to cross-check the
35874         inttype_is_signed value and the signedness of the actual type.
35875         * modules/inttostr (Depends-on): Add verify.
35876
35877 2009-10-30  Eric Blake  <ebb9@byu.net>
35878
35879         build: avoid compiler warnings
35880         * lib/fchmodat.c (lchmod): Mark unused variables.
35881         * lib/getopt.c (_getopt_initialize): Likewise.
35882         * lib/mktime.c (__mktime_internal): Provide prototype.
35883         * lib/inttostr.c (inttostr): Avoid compiler warning even with
35884         older gcc that do not understand #pragma GCC diagnostic.
35885         * lib/uinttostr.c (inttype_is_unsigned): Define.
35886         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
35887
35888 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
35889
35890         stat: fix compilation on AIX
35891         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
35892         only see struct stat64.
35893
35894 2009-10-30  Eric Blake  <ebb9@byu.net>
35895
35896         exclude: make more robust
35897         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
35898         rather than masking a coding bug.
35899         Suggested by Bruno Haible.
35900
35901 2009-10-30  Jim Meyering  <meyering@redhat.com>
35902
35903         perl scripts: remove #!/usr/bin/perl in favor of more portable...
35904         Rather than putting #!/usr/bin/perl on the first line,
35905         start with a variant of what's recommended by "man perlrun" that
35906         invokes the first "perl" program from your shell's search path.
35907         * build-aux/gitlog-to-changelog: Replace #!... as above.
35908         Add a "Local Variables" perl mode setting.
35909         Prompted by a patch from Ludovic Courtès.
35910         Improved by Eric Blake.
35911         * build-aux/useless-if-before-free: Likewise.
35912         * build-aux/announce-gen: Likewise.
35913         * build-aux/update-copyright: Likewise.
35914
35915 2009-10-29  Eric Blake  <ebb9@byu.net>
35916
35917         filenamecat-lgpl: adjust clients
35918         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
35919         filenamecat.
35920         * modules/renameat (Depends-on): Likewise.
35921
35922         filenamecat: split into filenamecat-lgpl
35923         * modules/filenamecat-lgpl: New module.
35924         * modules/filenamecat (Files): Move library-safe files into
35925         filenamecat-lgpl.
35926         (Depends-on): Add filenamecat-lgpl.
35927         (configure.ac): Declare witness.
35928         * lib/filenamecat.h (file_name_concat): Only declare when using
35929         GPL module.
35930         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
35931         Move...
35932         * lib/filenamecat-lgpl.c: ...into new file.
35933         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
35934         (gl_FILE_NAME_CONCAT): Use it.
35935         * MODULES.html.sh (File system functions): Mention new module.
35936
35937         argp: avoid memory leak
35938         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
35939         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
35940         base_name, since the latter malloc()s and can call exit().
35941         Leak introduced 2006-07-03.
35942
35943         dirname-lgpl: adjust clients that don't need full dirname
35944         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
35945         * modules/filenamecat (Depends-on): Likewise.
35946         * modules/linkat (Depends-on): Likewise.
35947         * modules/mkancesdirs (Depends-on): Likewise.
35948         * modules/mkdir (Depends-on): Likewise.
35949         * modules/openat (Depends-on): Likewise.
35950         * modules/savewd (Depends-on): Likewise.
35951         * modules/rename (Depends-on): Likewise.
35952         (License): Relax license.
35953         * modules/mkdir-tests (Depends-on): Drop progname.
35954         (Makefile.am): Delete unneeded LDADD.
35955         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
35956
35957         dirname: split into dirname-lgpl
35958         * modules/dirname-lgpl: New module.
35959         * modules/dirname (Files): Move library-safe files into
35960         dirname-lgpl.
35961         (Depends-on): Add dirname-lgpl.
35962         (configure.ac): Declare witness.
35963         * modules/double-slash-root (License): Relax license.
35964         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
35965         module.
35966         * lib/dirname.c (dir_len, mdir_name): Move...
35967         * lib/dirname-lgpl.c: ...into new file.
35968         * lib/basename.c (last_component, base_len): Move...
35969         * lib/basename-lgpl.c: ...into new file.
35970         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
35971         (gl_DIRNAME): Use it.
35972         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
35973         Mention new module.
35974         * modules/dirname-tests (Depends-on): Add progname.
35975         * tests/test-dirname.c (program_name): Delete.
35976
35977         mkdir: make safe for libraries
35978         * modules/mkdir (Depends-on): Drop xalloc.
35979         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
35980         exit.
35981
35982         tests: avoid some compiler warnings
35983         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
35984         literals.
35985         * tests/test-memchr.c (main): Avoid type mismatch.
35986         * tests/test-arpa_inet.c (main): Avoid unused parameters.
35987         * tests/test-base64.c (main): Likewise.
35988         * tests/test-getdelim.c (main): Likewise.
35989         * tests/test-gethostname.c (main): Likewise.
35990         * tests/test-getline.c (main): Likewise.
35991         * tests/test-netinet_in.c (main): Likewise.
35992         * tests/test-select.c (open_server_socket, main): Likewise.
35993         * tests/test-select-stdin.c (main): Likewise.
35994         * tests/test-sockets.c (main): Likewise.
35995         * tests/test-strsignal.c (main): Likewise.
35996         * tests/test-sys_select.c (main): Likewise.
35997         * tests/test-sys_socket.c (main): Likewise.
35998         * tests/test-u64.c (main): Likewise.
35999         * tests/test-xfprintf-posix.c (main): Likewise.
36000         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
36001
36002         sockets: avoid compiler warning
36003         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
36004
36005         maint: detect usage(1) and other suspicious exits
36006         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
36007
36008 2009-10-29  Jim Meyering  <meyering@redhat.com>
36009
36010         timespec: long-to-int truncation could make timespec_cmp malfunction
36011         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
36012         a multiple of 2^32 nanoseconds as no difference.
36013
36014 2009-10-28  Jim Meyering  <meyering@redhat.com>
36015
36016         fprintftime: wrap macro code argument in "do {...} while(0)"
36017         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
36018         cpy macro must be a statement that can be followed by a semicolon.
36019         Now that the else clause contains a comment and is hence longer
36020         than one line, I require curly braces.  That in turn requires
36021         that we wrap this code block in the standard do...while(0).
36022
36023         fprintftime: remove stray semicolon from previous change
36024         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
36025
36026         fprintftime: avoid a warning about ignored fwrite return value
36027         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
36028         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
36029         that is unsafe.
36030         * modules/fprintftime (Depends-on): Add ignore-value.
36031
36032         exclude: avoid an unwarranted warning
36033         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
36034
36035 2009-10-27  Eric Blake  <ebb9@byu.net>
36036
36037         fseek: avoid compilation failure when fflush is replaced
36038         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
36039         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
36040         module is in use.
36041         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
36042         module is not in use; since REPLACE_FSEEK worked otherwise.
36043         (GNULIB_FTELLO): Likewise for ftell.
36044         Reported by Ian Beckwith and others.
36045
36046 2009-10-27  Bruno Haible  <bruno@clisp.org>
36047
36048         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
36049         Reported by Jim Meyering.
36050
36051 2009-10-27  Jim Meyering  <jim@meyering.net>
36052             Bruno Haible  <bruno@clisp.org>
36053
36054         Avoid warning despite dropping the return value of fwrite.
36055         * lib/unicodeio.c: Include ignore-value.h.
36056         (fwrite_success_callback): Explicitly ignore fwrite's return value.
36057         * modules/unicodeio (Depends-on): Add ignore-value.
36058
36059 2009-10-26  Eric Blake  <ebb9@byu.net>
36060
36061         areadlinkat: fix fallback path
36062         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
36063         pointer and zero.
36064
36065 2009-10-22  Pádraig Brady  <P@draigBrady.com>
36066
36067         Use a better IO block size for modern systems
36068         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
36069         * lib/md2.c: Likewise.
36070         * lib/md4.c: Likewise.
36071         * lib/md5.c: Likewise.
36072         * lib/sha1.c: Likewise.
36073         * lib/sha256.c: Likewise.
36074         * lib/sha512.c: Likewise.
36075
36076 2009-10-22  Eric Blake  <ebb9@byu.net>
36077
36078         tests: avoid several compiler warnings
36079         * tests/test-getcwd.c (main): Avoid buffer underflow.
36080         * tests/test-getdate.c (main): String literals are not safe with
36081         putenv, so use setenv.  Declare unused argument.
36082         * modules/getdate-tests (Depends-on): Add setenv.
36083         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
36084         problems with string literals in char *.
36085         * tests/test-hash.c (main): Avoid shadowing declaration.
36086         (insert_new): Treat string literals as char const *.
36087         * tests/test-getopt.h (test_getopt): Likewise.
36088         (getopt_loop): Alter types to minimize casting elsewhere.
36089         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
36090         (test_getopt_long_posix): Likewise.
36091         (do_getopt_long): Add wrapper to minimize casting.
36092         * tests/test-atexit.c (clear_temp_file): Use void.
36093         * tests/test-areadlink-with-size.c (main): Declare unused
36094         arguments.
36095         * tests/test-areadlink.c (main): Likewise.
36096         * tests/test-areadlinkat-with-size.c (main): Likewise.
36097         * tests/test-areadlinkat.c (main): Likewise.
36098         * tests/test-canonicalize-lgpl.c (main): Likewise.
36099         * tests/test-canonicalize.c (main): Likewise.
36100         * tests/test-dirent-safer.c (main): Likewise.
36101         * tests/test-dirname.c (main): Likewise.
36102         * tests/test-dup2.c (main): Likewise.
36103         * tests/test-fchdir.c (main): Likewise.
36104         * tests/test-fcntl-h.c (main): Likewise.
36105         * tests/test-fcntl-safer.c (main): Likewise.
36106         * tests/test-fdopendir.c (main): Likewise.
36107         * tests/test-fdutimensat.c (main): Likewise.
36108         * tests/test-fflush.c (main): Likewise.
36109         * tests/test-filenamecat.c (main): Likewise.
36110         * tests/test-filevercmp.c (main): Likewise.
36111         * tests/test-fopen-safer.c (main): Likewise.
36112         * tests/test-fopen.c (main): Likewise.
36113         * tests/test-fpending.c (main): Likewise.
36114         * tests/test-fpurge.c (main): Likewise.
36115         * tests/test-freading.c (main): Likewise.
36116         * tests/test-fstatat.c (main): Likewise.
36117         * tests/test-fsync.c (main): Likewise.
36118         * tests/test-futimens.c (main): Likewise.
36119         * tests/test-getndelim2.c (main): Likewise.
36120         * tests/test-gettimeofday.c (main): Likewise.
36121         * tests/test-getopt.c (main): Likewise.
36122         * tests/test-i-ring.c (main): Likewise.
36123         * tests/test-inttypes.c (main): Likewise.
36124         * tests/test-link.c (main): Likewise.
36125         * tests/test-lstat.c (main): Likewise.
36126         * tests/test-math.c (main): Likewise.
36127         * tests/test-md5.c (main): Likewise.
36128         * tests/test-memchr2.c (main): Likewise.
36129         * tests/test-memrchr.c (main): Likewise.
36130         * tests/test-mkdir.c (main): Likewise.
36131         * tests/test-mkdirat.c (main): Likewise.
36132         * tests/test-mkfifoat.c (main): Likewise.
36133         * tests/test-open.c (main): Likewise.
36134         * tests/test-openat-safer.c (main): Likewise.
36135         * tests/test-openat.c (main): Likewise.
36136         * tests/test-quotearg.c (main): Likewise.
36137         * tests/test-rawmemchr.c (main): Likewise.
36138         * tests/test-readlink.c (main): Likewise.
36139         * tests/test-remove.c (main): Likewise.
36140         * tests/test-rename.c (main): Likewise.
36141         * tests/test-renameat.c (main): Likewise.
36142         * tests/test-rmdir.c (main): Likewise.
36143         * tests/test-sha1.c (main): Likewise.
36144         * tests/test-signal.c (main): Likewise.
36145         * tests/test-sigaction.c (main): Likewise.
36146         * tests/test-stat.c (main): Likewise.
36147         * tests/test-stat-time.c (main): Likewise.
36148         * tests/test-stddef.c (main): Likewise.
36149         * tests/test-stdint.c (main): Likewise.
36150         * tests/test-stdio.c (main): Likewise.
36151         * tests/test-stdlib.c (main): Likewise.
36152         * tests/test-strchrnul.c (main): Likewise.
36153         * tests/test-strerror.c (main): Likewise.
36154         * tests/test-string.c (main): Likewise.
36155         * tests/test-strtod.c (main): Likewise.
36156         * tests/test-strverscmp.c (main): Likewise.
36157         * tests/test-symlink.c (main): Likewise.
36158         * tests/test-symlinkat.c (main): Likewise.
36159         * tests/test-sys_stat.c (main): Likewise.
36160         * tests/test-sys_time.c (main): Likewise.
36161         * tests/test-time.c (main): Likewise.
36162         * tests/test-unistd.c (main): Likewise.
36163         * tests/test-unlink.c (main): Likewise.
36164         * tests/test-unlinkat.c (main): Likewise.
36165         * tests/test-utimens.c (main): Likewise.
36166         * tests/test-utimensat.c (main): Likewise.
36167         * tests/test-version-etc.c (main): Likewise.
36168         * tests/test-wchar.c (main): Likewise.
36169         * tests/test-wctype.c (main): Likewise.
36170         * tests/test-xprintf-posix.c (main): Likewise.
36171         * tests/test-posixtm.c (main): Likewise.
36172         (STREQ): Delete unused macro.
36173         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
36174         shadowed variables.
36175         * tests/test-memchr.c (main): Likewise.
36176
36177 2009-10-21  Eric Blake  <ebb9@byu.net>
36178
36179         areadlinkat: avoid failure on older glibc
36180         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
36181         rather than mis-comparing 0 against FUNC_RESULT of char*.
36182
36183 2009-10-21  Bruno Haible  <bruno@clisp.org>
36184
36185         * modules/stpncpy (License): Relicense under LGPLv2+.
36186         Reported by David Lutterkort <lutter@redhat.com>.
36187
36188 2009-10-20  Eric Blake  <ebb9@byu.net>
36189
36190         utimensat: work around Solaris 9 bug
36191         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
36192         has trailing slash bugs.
36193         * tests/test-lutimens.h (test_lutimens): Enhance test.
36194         * tests/test-utimens.h (test_utimens): Likewise.
36195         * doc/posix-functions/utime.texi (utime): Enhance documentation.
36196         * doc/posix-functions/utimes.texi (utimes): Likewise.
36197         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36198         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
36199         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
36200         * doc/posix-functions/futimens.texi (futimens): Likewise.
36201
36202         fdutimensat: new module
36203         * modules/fdutimensat: New file.
36204         * lib/fdutimensat.c (fdutimensat): Likewise.
36205         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
36206         * MODULES.html.sh (File system functions): Mention module.
36207         * modules/fdutimensat-tests: New test.
36208         * tests/test-fdutimensat.c: Likewise.
36209
36210         doc: regenerate INSTALL
36211         * doc/INSTALL: Reflect recent autoconf update.
36212         * doc/INSTALL.ISO: Likewise.
36213         * doc/INSTALL.UTF-8: Likewise.
36214
36215 2009-10-20  Pádraig Brady  <P@draigBrady.com>
36216
36217         acl: warn if ACL support is not detected
36218         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
36219
36220 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
36221
36222         * lib/nproc.h: Add extern "C" block for C++.
36223
36224 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
36225             Bruno Haible  <bruno@clisp.org>
36226
36227         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
36228         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
36229         * doc/posix-functions/isalpha.texi: Likewise.
36230         * doc/posix-functions/isblank.texi: Likewise.
36231         * doc/posix-functions/iscntrl.texi: Likewise.
36232         * doc/posix-functions/isdigit.texi: Likewise.
36233         * doc/posix-functions/isgraph.texi: Likewise.
36234         * doc/posix-functions/islower.texi: Likewise.
36235         * doc/posix-functions/isprint.texi: Likewise.
36236         * doc/posix-functions/ispunct.texi: Likewise.
36237         * doc/posix-functions/isspace.texi: Likewise.
36238         * doc/posix-functions/isupper.texi: Likewise.
36239         * doc/posix-functions/isxdigit.texi: Likewise.
36240
36241 2009-10-18  Bruno Haible  <bruno@clisp.org>
36242
36243         Tests for module 'isblank'.
36244         * modules/isblank-tests: New file.
36245         * tests/test-isblank.c: New file.
36246
36247         New module 'isblank'.
36248         * lib/isblank.c: New file.
36249         * m4/isblank.m4: New file.
36250         * modules/isblank: New file.
36251         * doc/posix-functions/isblank.texi: Mention the new module.
36252
36253 2009-10-18  Bruno Haible  <bruno@clisp.org>
36254
36255         New module 'ctype'.
36256         * lib/ctype.in.h: New file.
36257         * m4/ctype.m4: New file.
36258         * modules/ctype: New file.
36259         * doc/posix-headers/ctype.texi: Mention the new module.
36260
36261 2009-10-18  Jim Meyering  <meyering@redhat.com>
36262
36263         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
36264         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
36265         right after its initialization, rather than farther down.
36266         Keeping these in close proximity makes it easier to ensure
36267         that each such variable is initialized.  E.g.,
36268
36269             LIB_CLOCK_GETTIME=
36270             AC_SUBST([LIB_CLOCK_GETTIME])
36271
36272         This change also increments these serial numbers.
36273         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
36274         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36275         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36276
36277 2009-10-18  Bruno Haible  <bruno@clisp.org>
36278
36279         Don't let environment variables perturb build.
36280         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
36281         (gl_PREREQ_GETHRXTIME): ... not here.
36282
36283 2009-10-18  Bruno Haible  <bruno@clisp.org>
36284
36285         Avoid symlink attack in localcharset module.
36286         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
36287         (O_NOFOLLOW): Define fallback.
36288         (get_charset_aliases): Don't open the file if it is a symbolic link.
36289         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
36290         gl_FCNTL_H.
36291         (gl_FCNTL_H): Require it.
36292         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
36293         * modules/localcharset (Files): Add m4/fcntl_h.m4.
36294         Reported by Fergal Glynn <fglynn@veracode.com>.
36295
36296 2009-10-18  Bruno Haible  <bruno@clisp.org>
36297
36298         Implement nproc for mingw.
36299         * lib/nproc.c: Include <windows.h>
36300         (num_processors): On native Windows platforms, try GetSystemInfo.
36301
36302 2009-10-18  Bruno Haible  <bruno@clisp.org>
36303
36304         Implement nproc for IRIX.
36305         * lib/nproc.c: Include <sys/sysmp.h>.
36306         (num_processors): On IRIX systems, try sysmp.
36307         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
36308
36309 2009-10-18  Bruno Haible  <bruno@clisp.org>
36310
36311         Implement nproc for HP-UX.
36312         * lib/nproc.c: Include <sys/pstat.h>
36313         (num_processors): On HP-UX systems, try pstat_getdynamic.
36314         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
36315         pstat_getdynamic.
36316
36317 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
36318             Bruno Haible  <bruno@clisp.org>
36319
36320         Implement nproc for NetBSD, OpenBSD.
36321         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
36322         (ARRAY_SIZE): New macro.
36323         (num_processors): On BSD systems, try sysctl of HW_NCPU.
36324         * m4/nproc.m4: New file.
36325         * modules/nproc (Files): Add m4/nproc.m4.
36326         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
36327         (Makefile.am): Instead, augment lib_SOURCES.
36328
36329 2009-10-18  Bruno Haible  <bruno@clisp.org>
36330
36331         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
36332         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
36333         sys/param.h.
36334
36335 2009-10-16  Eric Blake  <ebb9@byu.net>
36336
36337         utimensat: new module
36338         * modules/utimensat: New file.
36339         * lib/utimensat.c (utimensat): Likewise.
36340         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36341         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
36342         so we can work around Linux bugs.
36343         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36344         * modules/sys_stat (Makefile.am): Substitute them.
36345         * lib/sys_stat.in.h (utimensat): Declare it.
36346         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36347         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36348         * modules/utimensat-tests: New test.
36349         * tests/test-utimensat.c: Likewise.
36350
36351         utimens: let lutimens work on non-symlinks
36352         * lib/utimens.c (lutimens): Fall back to utimens rather than
36353         failing with ENOSYS, when file is not a symlink.
36354         (utimens): Reduce redirection.
36355         * tests/test-lutimens.h (test_lutimens): Update test to cover
36356         non-symlinks.
36357         * tests/test-utimens.h (test_utimens): Update test to cover
36358         symlinks.
36359         * tests/test-utimens.c (main): Update caller.
36360
36361         utimens: cache whether utimensat syscall works
36362         * lib/utimens.c (utimensat_works_really): New cache variable.
36363         (fdutimens, lutimens): Use it to avoid failing syscall.
36364
36365         test-stat-time, test-utimens: improve portability
36366         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
36367         ext4 on alpha, and for cygwin.
36368         * tests/test-utimens-common.h: New file.
36369         (nap): Factor delays into single function.
36370         * tests/test-lutimens.h (test_lutimens): Use new header.
36371         * tests/test-futimens.h (test_futimens): Likewise.
36372         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
36373         timestamps to occur from same machine, as was done previously for
36374         test_utimens.
36375         * modules/utimens-tests (Files): Ship new file.
36376         * modules/futimens-tests (Files): Likewise.
36377         Reported in part by Jim Meyering.
36378
36379         sys_stat: sort replacement declarations
36380         * lib/sys_stat.in.h: Sort declarations.
36381         * lib/futimens.c (futimens): Fix typo.
36382
36383 2009-10-15  Jim Meyering  <meyering@redhat.com>
36384
36385         don't let environment settings perturb build
36386         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
36387         could cause a configure-time and/or build-time malfunction.
36388         Typically, a configure-time function-in-library test is performed
36389         via code like this:
36390
36391           LIB_VAR=
36392           AC_SUBST([LIB_VAR])
36393           prefix_saved_LIBS=$LIBS
36394             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
36395                        [test "$ac_cv_search_FUNC" = "none required" ||
36396                         LIB_VAR=$ac_cv_search_FUNC])
36397           LIBS=$prefix_saved_LIBS
36398
36399         However, in each of the files affected by this change, the LIB_VAR=
36400         initialization was omitted.  Thus, when set in the environment, its
36401         value would propagate into generated Makefiles when FUNC is not found
36402         in LIB_NAME.
36403         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
36404         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
36405         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
36406
36407 2009-10-14  Eric Blake  <ebb9@byu.net>
36408
36409         fchdir: avoid infinite recursion in mingw
36410         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
36411         recursing.
36412
36413         test-stat-time: port to mingw
36414         * tests/test-stat-time.c (force_unlink): Return a value.
36415         (test_ctime) [W32]: Fix compilation error.
36416         (nap): Don't call usleep with too large an argument.  Use
36417         force_unlink.
36418         * doc/pastposix-functions/usleep.texi (usleep): Document the
36419         portability issue.
36420
36421 2009-10-13  Jim Meyering  <meyering@redhat.com>
36422
36423         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
36424         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
36425         * modules/pipe-filter-ii: Likewise.
36426         * modules/sys_socket-tests: Likewise.
36427         * modules/tsearch-tests: Likewise.
36428         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
36429         (check): Depend on it.
36430
36431 2009-10-12  Eric Blake  <ebb9@byu.net>
36432
36433         utimens-tests: port to NFS file systems
36434         * tests/test-utimens.h (test_utimens): Refactor utimecmp
36435         comparisons to avoid spurious failures from timestamp drift
36436         between NFS machines.
36437
36438 2009-10-12  Eric Blake  <ebb9@byu.net>
36439
36440         stat-time-tests: minor cleanups
36441         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
36442         * tests/test-stat-time.c (nap): Separate assignment from call.
36443         Suggested by Paolo Bonzini and Bruno Haible.
36444
36445         sys_stat: guarantee struct timespec
36446         * lib/sys_stat.in.h (includes): Always include <time.h>
36447         * modules/sys_stat (Depends-on): Add time.
36448         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
36449         mode_t permission values.
36450         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
36451         get at subsecond timestamps.
36452
36453 2009-10-10  Eric Blake  <ebb9@byu.net>
36454
36455         futimens: new module
36456         * modules/futimens: New file.
36457         * lib/futimens.c (futimens): Likewise.
36458         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
36459         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
36460         we can work around Linux bugs.
36461         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36462         * modules/sys_stat (Makefile.am): Substitute them.
36463         * lib/sys_stat.in.h (futimens): Declare it.
36464         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36465         * doc/posix-functions/futimens.texi (futimens): Likewise.
36466         * modules/futimens-tests: New test.
36467         * tests/test-futimens.c: Likewise.
36468
36469         utimens: introduce fdutimens
36470         * lib/utimens.h (fdutimens): New prototype.
36471         * lib/utimens.c (gl_futimens): Move guts...
36472         (fdutimens): ...to new interface.
36473         * tests/test-utimens.c (do_fdutimens): Use it.
36474
36475         utimens: add UTIME_NOW and UTIME_OMIT support
36476         * lib/utimens.c (validate_timespec, update_timespec): New helper
36477         functions.
36478         (gl_futimens, lutimens): Use them.
36479         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
36480         stdbool, sys_stat.
36481         (Link): Mention resulting library dependency.
36482         * modules/utimecmp (Link): Likewise.
36483         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
36484         (Makefile.am): Pick up library dependency.
36485         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
36486         definition.
36487         * tests/test-sys_stat.c: Test the definitions.
36488         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
36489         * NEWS: Document library dependency.
36490
36491         utimecmp: support symlink timestamps
36492         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
36493         hashing when possible.  Use pathconf when available.
36494         (SYSCALL_RESOLUTION): Recognize tighter resolution.
36495         * modules/utimecmp (Depends-on): Add lstat.
36496
36497         utimens: add lutimens interface
36498         * lib/utimens.c (lutimens): New function.
36499         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
36500         * lib/utimens.h (lutimens): Declare new interface.
36501         * tests/test-utimens.c (main): Enhance test.
36502         * tests/test-lutimens.h (test_lutimens): New file.
36503         * modules/utimens-tests (Files): Distribute it.
36504         (Depends-on): Add symlink.
36505         (configure.ac): Check for usleep.
36506
36507         utimens: validate futimens usage
36508         * lib/utimens.c (gl_futimens): Require valid fd up front, using
36509         fewer syscalls on failure later on.  Avoid compiler warning on
36510         mingw.
36511         * modules/utimens (Depends-on): Add dup2.
36512
36513         utimens: add test
36514         * modules/utimens-tests: New test.
36515         * tests/test-utimens.h: New file.
36516         * tests/test-futimens.h: Likewise.
36517         * tests/test-utimens.c: Likewise.
36518
36519         doc: mention timestamp portability issues
36520         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
36521         instead.
36522         * doc/posix-functions/utime.texi (utime): Likewise.
36523         * doc/posix-functions/utimes.texi (utimes): Likewise.
36524         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
36525         instead.
36526         * doc/posix-functions/futimens.texi (futimens): Mention utimens
36527         module.
36528         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
36529         Mention weakness with symlink timestamps.
36530         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
36531         to utimensat/futimens instead.
36532         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
36533
36534         test-dup2: enhance test
36535         * tests/test-dup2.c (main): Also check AT_FDCWD.
36536
36537         test-stat-time: avoid more spurious failures
36538         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
36539         xfs; and avoid race if the two timestamps cross quantization edge.
36540
36541         relocatable: prefer 'file system' over 'filesystem'
36542         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
36543         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
36544         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
36545         * doc/relocatable.texi (Enabling Relocatability): Likewise.
36546         * lib/relocatable.c (compute_curr_prefix): Likewise.
36547
36548 2009-10-10  Jim Meyering  <meyering@redhat.com>
36549
36550         stat-time-tests: check for the usleep function
36551         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
36552
36553 2009-10-10  Bruno Haible  <bruno@clisp.org>
36554
36555         * modules/xnanosleep: Put the Link section after the Include section.
36556
36557 2009-10-09  Eric Blake  <ebb9@byu.net>
36558
36559         dup2: work around FreeBSD 6.1 bug
36560         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
36561         * doc/posix-functions/dup2.texi (dup2): Document it.
36562         Reported by Nelson H. F. Beebe and Jim Meyering.
36563
36564         test-stat-time: port to buggy NFS clients
36565         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
36566         (test_ctime): Also skip test if mtime and ctime are skewed.
36567
36568         maint: prefer 'file system' over 'filesystem'
36569         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
36570         * doc/posix-functions/lstat.texi (lstat): Likewise.
36571         * lib/file-has-acl.c (file_has_acl): Likewise.
36572         * lib/fwriteerror.c [TEST]: Likewise.
36573         * tests/test-areadlink.h (test_areadlink): Likewise.
36574         * tests/test-areadlinkat-with-size.c (main): Likewise.
36575         * tests/test-areadlinkat.c (main): Likewise.
36576         * tests/test-canonicalize-lgpl.c (main): Likewise.
36577         * tests/test-canonicalize.c (main): Likewise.
36578         * tests/test-fstatat.c (main): Likewise.
36579         * tests/test-linkat.c (main): Likewise.
36580         * tests/test-lstat.h (test_lstat_func): Likewise.
36581         * tests/test-mkdir.h (test_mkdir): Likewise.
36582         * tests/test-readlink.h (test_readlink): Likewise.
36583         * tests/test-remove.c (main): Likewise.
36584         * tests/test-rename.h (test_rename): Likewise.
36585         * tests/test-renameat.c (main): Likewise.
36586         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36587         * tests/test-symlink.h (test_symlink): Likewise.
36588         * tests/test-symlinkat.c (main): Likewise.
36589         * tests/test-unlink.h (test_unlink_func): Likewise.
36590         * tests/test-unlinkat.c (main): Likewise.
36591
36592         maint: make realtime library usage explicit
36593         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
36594         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
36595         * modules/settime (Link): Likewise.
36596         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
36597
36598         test-stat-time: speed up execution
36599         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
36600         warning on mingw.
36601         (nap): New helper function.
36602         (prepare_test): Use it to reduce sleep time.
36603         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
36604         execution.
36605         * modules/stat-time-tests (configure.ac): Check for usleep.
36606
36607 2009-10-09  Jim Meyering  <meyering@redhat.com>
36608
36609         selinux-h: always use getfilecon wrappers
36610         * lib/getfilecon.c: New file.
36611         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
36612         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
36613         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
36614         (fgetfilecon): Provide a stub.
36615         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
36616         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
36617         file unconditionally.
36618         When <selinux/selinux.h> is found, arrange to use wrappers.
36619         * modules/selinux-h (Files): Add getfilecon.c.
36620         (Makefile.am): Substitute include-next-related bits
36621         into the now-always-generated selinux/selinux.h file.
36622         * doc/glibc-functions/lgetfilecon.texi: New file.
36623         * doc/glibc-functions/fgetfilecon.texi: New file.
36624         * doc/glibc-functions/getfilecon.texi: New file.
36625         * doc/glibc-functions/getfilecon-desc.texi: New file.
36626         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
36627         which to pull in the new files.
36628         * MODULES.html.sh (Misc): Add selinux-h.
36629
36630 2009-10-08  Jim Meyering  <meyering@redhat.com>
36631
36632         unistd: fix comment typo
36633         * lib/unistd.in.h (euidaccess): Fix a comment typo.
36634
36635 2009-10-08  Eric Blake  <ebb9@byu.net>
36636
36637         areadlink: use SIZE_MAX consistently
36638         * modules/areadlink (Depends-on): Add stdint.
36639         * modules/areadlink-with-size (Depends-on): Likewise.
36640         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
36641         gives NULL; drop sys/types, since unistd gives size_t; and add
36642         stdint for SIZE_MAX.
36643         (SIZE_MAX): Rely on headers.
36644         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
36645         and add stdint.
36646         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
36647         (SIZE_MAX): Likewise.
36648         (INITIAL_BUF_SIZE): Turn into enum.
36649         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
36650
36651 2009-10-08  Jim Meyering  <meyering@redhat.com>
36652
36653         areadlinkat: avoid compilation failure
36654         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
36655         Fix typo in comment.
36656
36657 2009-10-07  Eric Blake  <ebb9@byu.net>
36658
36659         areadlinkat-with-size: new module
36660         * modules/areadlinkat-with-size: New module.
36661         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
36662         * lib/areadlink.h (areadlinkat): Declare it.
36663         * MODULES.html.sh (File system functions): Mention it.
36664         * modules/areadlinkat-with-size-tests: New test.
36665         * tests/test-areadlinkat-with-size.c: New file.
36666
36667         xreadlinkat: new module
36668         * modules/xreadlinkat: New module.
36669         * lib/xreadlinkat.c (xreadlinkat): New file.
36670         * lib/xreadlink.h (xreadlinkat): Declare it.
36671         * MODULES.html.sh (File system functions): Mention it.
36672
36673         areadlinkat: new module
36674         * lib/at-func.c (FUNC_FAIL): New define.
36675         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
36676         * modules/areadlinkat: New module.
36677         * lib/linkat.c (areadlinkat): Move...
36678         * lib/areadlinkat.c (areadlinkat): ...to new file.
36679         * lib/areadlink.h (areadlinkat): Declare it.
36680         * modules/linkat (Depends-on): Add areadlinkat.
36681         * MODULES.html.sh (File system functions): Mention it.
36682         * modules/areadlinkat-tests: New test.
36683         * tests/test-areadlinkat.c: New file.
36684
36685         areadlink, areadlink-with-size: add tests
36686         * modules/areadlink-tests: New test.
36687         * modules/areadlink-with-size-tests: Likewise.
36688         * tests/test-areadlink.h: New file.
36689         * tests/test-areadlink.c: Likewise.
36690         * tests/test-areadlink-with-size.c: Likewise.
36691
36692         maint: minor cleanups
36693         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
36694         _UNUSED_PARAMETER_ instead.
36695         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
36696         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
36697         * modules/linkat-tests (Files): Distribute test-link.h.
36698
36699         openat, utimens: whitespace cleanup
36700         * lib/openat.c: Prefer space throughout, rather than mix of 8
36701         spaces vs. tabs.
36702         * lib/at-func.c: Likewise.
36703         * lib/utimens.c: Likewise.
36704
36705         openat: avoid using wrong fd
36706         * lib/openat.c (openat_permissive): Reject user's fd if saving the
36707         working directory chooses same fd.
36708         * lib/at-func.c (AT_FUNC_NAME): Likewise.
36709
36710         mkdir, mkdirat: fix cygwin 1.5.x bug
36711         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
36712         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
36713         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
36714         bug.
36715         (gl_PREREQ_MKDIR): Delete unused macro.
36716         * modules/mkdir (Files): Track file rename.
36717         (configure.ac): Update macro name.
36718         * modules/openat (Depends-on): Add mkdir.
36719         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
36720
36721         mkdir, mkdirat: add tests
36722         * modules/mkdir-tests: New test.
36723         * tests/test-mkdir.h: New file.
36724         * tests/test-mkdir.c: Likewise.
36725         * tests/test-mkdirat.c: Likewise.
36726         * modules/openat-tests (Files): Add new files.
36727         (Makefile.am): Run new test.
36728
36729 2009-10-06  Eric Blake  <ebb9@byu.net>
36730
36731         doc: tweak *at function documentation
36732         * doc/posix-functions/faccessat.texi (faccessat): Mention
36733         known issue with replacement.
36734         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
36735         * doc/posix-functions/linkat.texi (linkat): Likewise.
36736         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
36737         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
36738         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36739         * doc/posix-functions/renameat.texi (renameat): Likewise.
36740         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36741
36742         openat: fix GNU/Hurd bug in unlinkat
36743         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
36744         broken.
36745         * doc/posix-functions/unlink.texi (unlink): Document this.
36746         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
36747
36748         fdopendir: fix GNU/Hurd bug
36749         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
36750         allowing non-directory fds.
36751         * lib/fdopendir.c (rpl_fdopendir): Work around it.
36752         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
36753         * modules/dirent (Makefile.am): Substitute it.
36754         * lib/dirent.in.h (fdopendir): Declare replacement.
36755         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
36756         * tests/test-fdopendir.c (main): Test something other than
36757         /dev/null, since on Hurd that behaves like a directory.
36758
36759         test-symlink: port to GNU/Hurd
36760         * tests/test-symlink.h (test_symlink): Relax expected errno.
36761
36762         doc: tweak more cygwin information
36763         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
36764         now compatible with glibc.
36765         * doc/posix-functions/getopt.texi (getopt): Likewise.
36766
36767         getopt-gnu: add another test
36768         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
36769         guarantee behavior relied on by m4.
36770         * tests/test-getopt.c (main): Use it.
36771         * modules/getopt-posix-tests (Depends-on): Add setenv.
36772         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
36773
36774         getopt: fix compilation on darwin
36775         * lib/getopt.in.h (includes): Leave breadcrumbs during system
36776         include.
36777         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
36778         Reported by Ludovic Courtès.
36779
36780 2009-10-06  Bruno Haible  <bruno@clisp.org>
36781
36782         * modules/size_max (Description): Discourage its use.
36783         Reported by Simon Josefsson.
36784
36785 2009-10-06  Jim Meyering  <meyering@redhat.com>
36786
36787         linkat: avoid compilation failure
36788         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
36789
36790 2009-10-05  Eric Blake  <ebb9@byu.net>
36791
36792         linkat: support Linux 2.6.17
36793         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
36794         linkat on Linux, but allow cache variable override.
36795         * lib/linkat.c (rpl_linkat): Define override.
36796         * modules/linkat (Depends-on): Add symlinkat.
36797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
36798         * modules/unistd (Makefile.am): Substitute it.
36799         * lib/unistd.in.h (linkat): Declare replacement.
36800         Reported by Pádraig Brady.
36801
36802         quotearg: port test to systems with C.UTF-8 locale
36803         * tests/test-quotearg.c (struct result_strings): Add another
36804         member, differentiating between C.ASCII and C.UTF-8 handling.
36805         (compare_strings): Add parameter.
36806         (main): Adjust all callers.
36807
36808         getopt: avoid clash with FreeBSD _getopt_internal
36809         * lib/getopt.in.h (_getopt_internal): Override the name.
36810         * lib/getopt_int.h (includes): Pick up any overrides.
36811         Reported by Reuben Thomas.
36812
36813         hash: allow C89 compilation
36814         * lib/hash.c (check_tuning): Move declaration before statement.
36815         Reported by Reuben Thomas.
36816
36817 2009-10-05  Karl Berry  <karl@gnu.org>
36818
36819         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
36820
36821 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
36822             Bruno Haible  <bruno@clisp.org>
36823
36824         * lib/uname.c (uname): Use a table-driven algorithm to compute
36825         Windows NT versions.
36826
36827 2009-10-04  Bruno Haible  <bruno@clisp.org>
36828
36829         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
36830         program_invocation_short_name.
36831         * modules/progname (configure.ac): Test for presence of
36832         program_invocation_short_name.
36833         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
36834
36835 2009-10-04  Bruno Haible  <bruno@clisp.org>
36836
36837         * lib/progname.c (set_program_name): Fix comment.
36838         Reported by Jim Meyering.
36839
36840 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36841             Bruno Haible  <bruno@clisp.org>
36842
36843         * lib/uname.c: Include <string.h>.
36844         (uname): Do only one call to GetVersionEx in the common case.
36845
36846 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
36847             Bruno Haible  <bruno@clisp.org>
36848
36849         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
36850         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
36851         (uname): Add support for Windows CE and various non-x86 CPU types.
36852
36853 2009-10-03  Bruno Haible  <bruno@clisp.org>
36854
36855         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
36856         invocation to tests/configure.ac.
36857         Reported by Ian Beckwith <ianb@erislabs.net>.
36858
36859 2009-10-02  Eric Blake  <ebb9@byu.net>
36860
36861         fchdir: avoid compiler warning
36862         * lib/fchdir.c (canonicalize_file_name)
36863         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
36864
36865         test-open: support mingw errno values
36866         * tests/test-open.h (test_open): Relax test.
36867         * tests/test-fopen.h (test_fopen): Likewise.
36868         * tests/test-openat-safer.c (main): Likewise.
36869
36870         open: fix opening directory on mingw
36871         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
36872
36873         test-open: on GNU/Hurd, /dev/null is a directory
36874         * tests/test-fopen.h (main): Rename...
36875         (test_fopen): ...to this.  Use a guaranteed non-directory when
36876         confirming open behavior on trailing slash.
36877         * tests/test-openat-safer.c (main): Likewise.
36878         * tests/test-open.h (main): Likewise....
36879         (test_open): ...to this.
36880         * tests/test-fopen.c (main): Adjust caller.
36881         * tests/test-fopen-safer.c (main): Likewise.
36882         * tests/test-open.c (main): Likewise.
36883         * tests/test-fcntl-safer.c (main): Likewise.
36884         Reported by Samuel Thibault.
36885
36886         rename, fchdir: don't ignore chdir failure
36887         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
36888         * lib/rename.c (rpl_rename) [W32]: Likewise.
36889         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
36890         an empty destination directory if source cannot be renamed,
36891         although there is still possibility for failure.
36892         * doc/posix-functions/rename.texi (rename): Document the race.
36893         Reported by Jim Meyering.
36894
36895         maint: cleanup whitespace in recent commits
36896         * lib/rename.c (rpl_rename): Remove tabs.
36897         * tests/test-link.h (test_link): Likewise.
36898         * lib/fchdir.c (get_name): Likewise.
36899         Reported by Jim Meyering.
36900
36901 2009-10-02  Ben Pfaff  <blp@gnu.org>
36902
36903         relocatable-prog-wrapper: Add missing dependency on
36904         double-slash-root.
36905         * modules/relocatable-prog-wrapper: Add dependency.
36906         Reported by Ian Beckwith <ianb@erislabs.net>.
36907
36908 2009-10-02  Eric Blake  <ebb9@byu.net>
36909
36910         renameat: fix Solaris bugs
36911         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
36912         needed fixing.
36913         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
36914         * modules/stdio (Makefile.am): Substitute it.
36915         * lib/stdio.in.h (renameat): Declare replacement.
36916         * lib/renameat.c (rpl_renameat): Implement fix.
36917
36918         renameat: new module
36919         * modules/renameat: New file.
36920         * lib/renameat.c (renameat): Likewise.
36921         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
36922         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
36923         * modules/stdio (Makefile.am): Substitute them.
36924         * lib/stdio.in.h (renameat): Declare it.
36925         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36926         * doc/posix-functions/renameat.texi (renameat): Likewise.
36927         * modules/renameat-tests: New test.
36928         * tests/test-renameat.c: Likewise.
36929
36930         rename: fix mingw bugs
36931         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
36932         directory overwrite bugs.
36933
36934         rename: fix another cygwin 1.5 bug
36935         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
36936         checks.
36937         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
36938         unnecessary cygwin workarounds.  Also work around bug with moving
36939         full directory onto an empty one.
36940         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
36941
36942         rename-dest-slash: merge into rename module
36943         * modules/rename-dest-slash (Status): Mark obsolete.
36944         (Depends-on): Add rename.
36945         (Files): Let rename do it all.
36946         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
36947         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
36948         * m4/rename-dest-slash.m4: ...so this file can be deleted.
36949         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
36950         * lib/rename.c (rpl_rename): Update comments.
36951
36952         rename: fix cygwin 1.5.x bugs
36953         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
36954         * lib/rename.c (rpl_rename): Work around them.
36955         * modules/rename (Depends-on): Add same-inode.
36956
36957         rename: fix Solaris 10 bug
36958         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
36959         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
36960         was the only bug.
36961
36962         rename: fix Solaris 9 bug
36963         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
36964         on non-directory.  Avoid calling exit.
36965         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
36966         strdup.
36967         * modules/rename-tests (Depends-on): Drop lstat.
36968         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
36969         (gl_PREREQ_RENAME): Delete unused macro.
36970
36971         rename-dest-slash: fix NetBSD bug
36972         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
36973         links.
36974         * modules/rename-dest-slash (Depends-on): Add same-inode.
36975
36976         rename-tests: new test, exposes several platform bugs
36977         * modules/rename-tests: New file.
36978         * tests/test-rename.h: Likewise.
36979         * tests/test-rename.c: Likewise.
36980         * doc/posix-functions/rename.texi (rename): Improve documentation,
36981         including bugs that will eventually be fixed in gnulib.
36982
36983 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
36984
36985         * lib/uname.c: Include <stdlib.h>
36986         (uname): Assume version info is available.
36987
36988 2009-10-02  Jim Meyering  <meyering@redhat.com>
36989
36990         gnu-web-doc-update: correct --help output
36991         * build-aux/gnu-web-doc-update: Make --help output relevant.
36992
36993         gnu-web-doc-update: add standard options
36994         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
36995
36996         gnu-web-doc-update: New module.
36997         Use this script to automatically update the on-line web documentation
36998         for your GNU project at http://www.gnu.org/software/$pkg/manual/
36999         * modules/gnu-web-doc-update: New file, from coreutils.
37000         * build-aux/gnu-web-doc-update: New script.
37001
37002 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
37003
37004         link: LoadLibrary is not needed.
37005         * lib/link.c: Use GetModuleHandle.
37006
37007 2009-10-01  Eric Blake  <ebb9@byu.net>
37008
37009         getopt: bump serial number
37010         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
37011         change.
37012
37013         tests: tighten link, rmdir, and remove tests
37014         * tests/test-link.h (includes): No need to use <config.h> here.
37015         Clean up if directory hard link was created, otherwise test for
37016         trailing '.'.
37017         * tests/test-linkat.c (main): Simplify.
37018         * tests/test-remove.c (main): Enhance test for trailing '.'.
37019         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37020
37021 2009-10-01  Jim Meyering  <meyering@redhat.com>
37022
37023         maint.mk: requiring "make major" was annoying, for a "minor" release.
37024         What is intended is "stable", to contrast with alpha and beta,
37025         so require "make stable", not "make major".
37026         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
37027         (get_tool_versions): Likewise.
37028         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
37029
37030 2009-09-30  Ben Pfaff  <blp@gnu.org>
37031
37032         Fix broken build of replacement for Windows tmpfile().
37033         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
37034         flags argument added along with the 'mkostemp' module.
37035
37036 2009-09-28  Bruno Haible  <bruno@clisp.org>
37037
37038         Avoid identifier clash with POSIX function 'remove' defined as a macro.
37039         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
37040         to 'remove_elt'.
37041         (gl_list_remove): Update.
37042         * lib/gl_list.c (gl_list_remove): Update.
37043         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
37044         to 'remove_elt'.
37045         (gl_oset_remove): Update.
37046         * lib/gl_list.c (gl_oset_remove): Update.
37047         Reported by Eric Blake.
37048
37049 2009-09-28  Eric Blake  <ebb9@byu.net>
37050
37051         doc: mention yet more cygwin 1.7 status
37052         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
37053         cygwin.
37054         * doc/glibc-functions/execvpe.texi (execvpe): New file.
37055         * doc/gnulib.texi (Glibc unistd.h): Mention it.
37056
37057         argp: fix test failure
37058         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
37059         that are not upper-case.  Pass correct range to tolower.
37060
37061 2009-09-27  Jim Meyering  <meyering@redhat.com>
37062
37063         test-yesno: work around sparc-dash here-document infelicity
37064         Without this change, the literal \177 byte in a here document
37065         would make dash 0.5.5.1-3 access uninitialized memory.
37066         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
37067         Instead, use a marker, "@", and filter through tr to create the desired
37068         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
37069
37070 2009-09-27  Bruno Haible  <bruno@clisp.org>
37071
37072         Disable untested support for new flavours of ACLs on AIX.
37073         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
37074         progress.
37075         * lib/set-mode-acl.c (qset_acl): Likewise.
37076
37077 2008-12-07  Bruno Haible  <bruno@clisp.org>
37078
37079         Add support for new flavours of ACLs on AIX. (Untested.)
37080         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
37081         (file_has_acl): Add support for newer AIX.
37082         * lib/set-mode-acl.c (qset_acl): Likewise.
37083         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
37084         Rainer Tammer <tammer@tammer.net>.
37085
37086 2009-09-26  Eric Blake  <ebb9@byu.net>
37087
37088         argp: fix compilation of getopt
37089         * lib/getopt.in.h (includes): Use different guard than glibc.
37090         Reported by Sergey Poznyakoff.
37091
37092         doc: mention more cygwin 1.7 status
37093         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
37094         bug.
37095         * doc/posix-functions/execl.texi (execl): Likewise.
37096         * doc/posix-functions/execle.texi (execle): Likewise.
37097         * doc/posix-functions/execlp.texi (execlp): Likewise.
37098         * doc/posix-functions/execv.texi (execv): Likewise.
37099         * doc/posix-functions/execve.texi (execve): Likewise.
37100         * doc/posix-functions/execvp.texi (execvp): Likewise.
37101         * doc/glibc-functions/canonicalize_file_name.texi
37102         (canonicalize_file_name): Cygwin 1.7 now provides this.
37103         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
37104         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
37105         on AT_SYMLINK_NOFOLLOW.
37106
37107 2009-09-24  Eric Blake  <ebb9@byu.net>
37108
37109         test-linkat: make test more robust
37110         * tests/test-linkat.c (main): Avoid collision with EEXIST.
37111
37112         getopt: fix inclusion guards for cygwin
37113         * modules/getopt-posix (Depends-on): Add include-next.
37114         (Makefile.am): Substitute more items in replacement header.
37115         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
37116         <getopt.h>.
37117         * lib/getopt.in.h (includes): Use split inclusion guard, and
37118         prefer <getopt.h> over include <unistd.h> when one is present.
37119         (option): Also override name of 'struct option'.
37120
37121         same-inode: revert prior change; it is not yet ready
37122         * NEWS: Undo mention of this change.
37123         * lib/same-inode.h (same-inode.h): Undo tri-state change.
37124         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37125         * lib/cycle-check.c (cycle_check): Likewise.
37126         * lib/same.c (same_name): Likewise.
37127         * lib/at-func2.c (at_func2): Likewise.
37128
37129 2009-09-23  Eric Blake  <ebb9@byu.net>
37130
37131         linkat: new module
37132         * modules/linkat: New file.
37133         * lib/at-func2.c (at_func2): Likewise.
37134         * lib/linkat.c (linkat): Likewise.
37135         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
37136         * lib/openat-priv.h (at_func2): Add declaration.
37137         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37138         * modules/unistd (Makefile.am): Substitute them.
37139         * lib/unistd.in.h (linkat): Declare it.
37140         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37141         * doc/posix-functions/linkat.texi (linkat): Likewise.
37142         * doc/posix-functions/link.texi (link): Tweak wording.
37143         * tests/test-link.c (main): Move guts...
37144         * tests/test-link.h (test_link): ...into new file.
37145         * modules/linkat-tests: New test.
37146         * tests/test-linkat.c: Likewise.
37147         * modules/link-tests (Files): Ship new file.
37148         (Depends-on): Add stdbool.
37149
37150         dirname: add library-safe mdir_name
37151         * lib/dirname.h (mdir_name): New prototype.
37152         * lib/dirname.c (dir_name): Move guts...
37153         (mdir_name): ...to new function that avoids xalloc_die.
37154
37155         fchdir: another mingw fix
37156         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
37157         * lib/fchdir.c (get_name): New helper method; skips canonicalize
37158         on mingw (where it has not yet been ported), and make it optional
37159         elsewhere.
37160         (_gl_register_fd): Use it.
37161
37162         same-inode: make SAME_INODE tri-state, to port to mingw
37163         * NEWS: Mention this change.
37164         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
37165         st_ino always being 0.
37166         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
37167         * lib/cycle-check.c (cycle_check): Likewise.
37168         * lib/same.c (same_name): Likewise.
37169
37170         lstat: avoid mingw compilation error
37171         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
37172         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
37173         lstat ourselves.
37174         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
37175         was adequate.
37176         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
37177         the checks for lstat.
37178         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
37179
37180         link: fix test failure on Solaris 9
37181         * lib/link.c (rpl_link): Don't assume link will catch bogus
37182         trailing slash on source.
37183
37184         test-symlinkat: enhance test
37185         * tests/test-readlink.c (main): Move guts...
37186         * tests/test-readlink.h (test_readlink): ...into new file.
37187         * tests/test-symlink.c (main): Move guts...
37188         * tests/test-symlink.h (test_symlink): ...into new file.
37189         * tests/test-symlinkat.c (main): Use new files for further
37190         coverage.
37191         (do_symlink, do_readlink): New helper functions.
37192         * modules/symlink-tests (Files): Ship new file.
37193         (Depends-on): Add stdbool.
37194         * modules/readlink-tests (Files): Ship new file.
37195         (Depends-on): Add stdbool.
37196         * modules/symlinkat-tests (Files): Use new files.
37197
37198 2009-09-23  Eric Blake  <ebb9@byu.net>
37199
37200         readlink: document portability issue with symlink length
37201         * doc/posix-functions/lstat.texi (lstat): Mention that some file
37202         systems have bogus st_size on symlinks, and mention the
37203         areadlink-with-size module.
37204         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
37205         * doc/posix-functions/readlink.texi (readlink): Mention the
37206         areadlink module, and ERANGE failure.
37207         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37208         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
37209
37210         readlink: fix Solaris 9 bug with trailing slash
37211         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
37212         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
37213         * doc/posix-functions/readlink.texi (readlink): Document this.
37214         * modules/readlink-tests: New test.
37215         * tests/test-readlink.c: Likewise.
37216
37217         readlink: fix cygwin 1.5.x bug with return type
37218         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
37219         * lib/unistd.in.h (readlink): Use ssize_t.
37220         * lib/readlink.c (readlink): Likewise.
37221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37222         * modules/unistd (Makefile.am): Substitute it.
37223         * lib/unistd.in.h (readlink): Declare replacement.
37224         * doc/posix-functions/readlink.texi (readlink): Document this.
37225
37226         symlink: use throughout gnulib
37227         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
37228         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
37229         symlink is not used.
37230         * modules/symlinkat (Depends-on): Add symlink.
37231         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37232         * modules/canonicalize-tests (Depends-on): Likewise.
37233         * modules/lstat-tests (Depends-on): Likewise.
37234         * modules/openat-tests (Depends-on): Likewise.
37235         * modules/remove-tests (Depends-on): Likewise.
37236         * modules/rmdir-tests (Depends-on): Likewise.
37237         * modules/unlink-tests (Depends-on): Likewise.
37238         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
37239         * tests/test-canonicalize.c (symlink): Likewise.
37240         * tests/test-fstatat.c (symlink): Likewise.
37241         * tests/test-lstat.c (symlink): Likewise.
37242         * tests/test-remove.c (symlink): Likewise.
37243         * tests/test-rmdir.c (symlink): Likewise.
37244         * tests/test-unlink.c (symlink): Likewise.
37245         * tests/test-unlinkat.c (symlink): Likewise.
37246
37247         symlink: new module, for Solaris 9 bug
37248         * modules/symlink: New file.
37249         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
37250         * lib/symlink.c: Likewise.
37251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37252         * modules/unistd (Makefile.am): Substitute them.
37253         * lib/unistd.in.h (symlink): Declare replacement.
37254         * MODULES.html.sh (File system functions): Mention it.
37255         * doc/posix-functions/symlink.texi (symlink): Likewise.
37256         * modules/symlink-tests: New test.
37257         * tests/test-symlink.c: Likewise.
37258
37259 2009-09-23  Bruno Haible  <bruno@clisp.org>
37260
37261         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
37262         when needed.
37263         Test case: gnulib-tool --import --with-tests atexit inttypes.
37264         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
37265
37266 2009-09-23  Bruno Haible  <bruno@clisp.org>
37267
37268         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
37269         subcommand, not in a subshell.
37270
37271 2009-09-22  Eric Blake  <ebb9@byu.net>
37272
37273         unistd: sort replacement declarations
37274         * lib/unistd.in.h: Sort declarations.
37275
37276         open, openat: minor optimization
37277         * lib/open.c (open): If open succeeded, len is non-zero.
37278         * lib/openat.c (rpl_openat): Likewise.
37279
37280         link-follow: ensure correct result
37281         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
37282         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
37283         distinguish between possible failures.
37284
37285 2009-09-21  Eric Blake  <ebb9@byu.net>
37286
37287         fts: avoid compiler warning
37288         * lib/fts.c (dirent_inode_sort_may_be_useful)
37289         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
37290
37291 2009-09-19  Bruno Haible  <bruno@clisp.org>
37292
37293         * lib/progreloc.c (canonicalize_file_name): New declaration.
37294
37295 2009-09-19  Eric Blake  <ebb9@byu.net>
37296
37297         link: fix quoting
37298         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
37299
37300         openat: fix openat bugs on Solaris 9
37301         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
37302         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
37303         * modules/openat (Depends-on): Add open.
37304         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
37305         * modules/fcntl-h (Makefile.am): Substitute it.
37306         * lib/fcntl.in.h (openat): Declare replacement.
37307         * doc/posix-functions/openat.texi (openat): Document this.
37308
37309         openat: move fstatat and unlinkat into correct files
37310         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
37311         compiled.
37312         * lib/openat.c (fstatat, unlinkat): Move...
37313         * lib/fstatat.c (fstatat): ...into correct files.
37314         * lib/unlinkat.c (unlinkat): Likewise.
37315
37316         openat: fix unlinkat bugs on Solaris 9
37317         * lib/unlinkat.c (unlinkat): New file.
37318         * modules/openat (Depends-on): Add unlink.
37319         (Files): Distribute it.
37320         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
37321         trailing slash behavior is broken.
37322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37323         * modules/unistd (Makefile.am): Substitute it.
37324         * lib/unistd.in.h (unlinkat): Declare replacement.
37325         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
37326
37327         openat: fix fstatat bugs on Solaris 9
37328         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
37329         stat.
37330         * doc/posix-functions/fstatat.texi (fstatat): Document this.
37331
37332         test-unlinkat: enhance test, to expose Solaris 9 bug
37333         * tests/test-unlink.c (main): Factor guts...
37334         * tests/test-unlink.h (test_rmdir_func): ...into new file.
37335         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
37336         * tests/test-rmdir.c (main): Adjust caller.
37337         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
37338         (unlinker): New helper function.
37339         (rmdirat): Enhance check.
37340         * modules/rmdir-tests (Depends-on): Add stdbool.
37341         * modules/unlink-tests (Depends-on): Likewise.
37342         (Files): Add test-unlink.h.
37343         * modules/openat-tests (Files): Likewise.
37344         (Depends-on): Add unlinkdir.
37345
37346         test-fstatat: new test, to expose Solaris 9 bugs
37347         * tests/test-stat.c (main): Factor guts...
37348         * tests/test-stat.h (test_stat_func): ...into new file.
37349         * tests/test-lstat.c (main): Factor guts...
37350         * tests/test-lstat.h (test_lstat_func): ...into new file.
37351         * tests/test-fstatat.c: New file.
37352         * modules/stat-tests (Files): Add test-stat.h.
37353         * modules/lstat-tests (Files): Add test-lstat.h.
37354         (Depends-on): Add stdbool.
37355         * modules/openat-tests (Depends-on): Add pathmax.
37356         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
37357         (Makefile.am): Run new test.
37358
37359         remove: new module, for mingw and Solaris 9 bugs
37360         * modules/remove: New file.
37361         * lib/remove.c: Likewise.
37362         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
37363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
37364         * modules/stdio (Makefile.am): Use them.
37365         * lib/stdio.in.h (remove): Declare replacement.
37366         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37367         * doc/posix-functions/remove.texi (remove): Likewise.
37368         * modules/remove-tests: New test.
37369         * tests/test-remove.c: Likewise.
37370
37371         unlink: new module, for Solaris 9 bug
37372         * modules/unlink: New file.
37373         * lib/unlink.c: Likewise.
37374         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
37375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37376         * modules/unistd (Makefile.am): Use them.
37377         * lib/unistd.in.h (stat): Declare replacement.
37378         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37379         * doc/posix-functions/unlink.texi (unlink): Likewise.
37380         * modules/unlink-tests: New test.
37381         * tests/test-unlink.c: Likewise.
37382
37383         lstat: fix Solaris 9 bug
37384         * lib/lstat.c (lstat): Also check for trailing slash on
37385         non-symlink, non-directories.  Use stat module to simplify logic.
37386         * doc/posix-functions/lstat.texi (lstat): Document it.
37387         * modules/lstat-tests (Depends-on): Add errno, same-inode.
37388         (configure.ac): Check for symlink.
37389         * tests/test-lstat.c (main): Add more tests.
37390
37391         stat: add as dependency to other modules
37392         * modules/chown (Depends-on): Add stat.
37393         * modules/euidaccess (Depends-on): Likewise.
37394         * modules/fchdir (Depends-on): Likewise.
37395         * modules/isdir (Depends-on): Likewise.
37396         * modules/link (Depends-on): Likewise.
37397         * modules/lstat (Depends-on): Likewise.
37398         * modules/mkdir-p (Depends-on): Likewise.
37399         * modules/modechange (Depends-on): Likewise.
37400         * modules/open (Depends-on): Likewise.
37401         * modules/readlink (Depends-on): Likewise.
37402         * modules/same (Depends-on): Likewise.
37403
37404         stat: fix Solaris 9 bug
37405         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
37406         slash.
37407         * lib/stat.c (rpl_stat): Work around it.
37408         * doc/posix-functions/stat.texi (stat): Update documentation.
37409
37410         stat: new module, for mingw bug
37411         * modules/stat: New file.
37412         * lib/stat.c: Likewise.
37413         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37414         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37415         * modules/sys_stat (Makefile.am): Use them.
37416         * lib/sys_stat.in.h (stat): Declare replacement.
37417         * lib/openat.c (fstatat): Deal with lstat and stat being function
37418         macros.
37419         * modules/openat (Depends-on): Add inline.
37420         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37421         * doc/posix-functions/stat.texi (stat): Likewise.
37422         * modules/stat-tests: New test.
37423         * tests/test-stat.c: Likewise.
37424
37425 2009-09-19  Jim Meyering  <meyering@redhat.com>
37426
37427         syntax-check: detect unnecessary inclusion of canonicalize.h
37428         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
37429
37430 2009-09-19  Eric Blake  <ebb9@byu.net>
37431
37432         canonicalize-lgpl: adjust clients to use correct header
37433         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37434         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
37435         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
37436         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
37437         * lib/progreloc.c (includes): Likewise.
37438
37439 2009-09-19  Jim Meyering  <meyering@redhat.com>
37440
37441         test-posixtm.c: correct a comment
37442         * tests/test-posixtm.c: Correct first-line comment.
37443         Spotted by Eric Blake.
37444
37445 2009-09-16  Jim Meyering  <meyering@redhat.com>
37446
37447         posixtm-tests: make T const-correct; add a test case
37448         * tests/test-posixtm.c (T): Declare const.
37449         Add a test for -(2^31+1).
37450         Remove useless can-succeed-only-in-2002 test.
37451
37452         posixtm-tests: adjust the sole failing test
37453         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
37454         expected output matches what mktime now produces.  Cross-checked via
37455         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
37456
37457         posixtm: move #ifdef'd tests into a new module
37458         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
37459         * tests/test-posixtm.c: ... this new file.
37460         * modules/posixtm-tests: New module.
37461
37462 2009-09-19  Eric Blake  <ebb9@byu.net>
37463
37464         openat: simplify use of at-func.c
37465         * lib/at-func.c (includes): Include prerequisites here, to
37466         simplify requirements on client files.
37467         * lib/openat-priv.h: Add double-inclusion guard.
37468         * lib/faccessat.c (includes): Simplify.
37469         * lib/fchmodat.c (includes): Likewise.
37470         * lib/fchownat.c (includes): Likewise.
37471         * lib/mkdirat.c (includes): Likewise.
37472         * lib/mkfifoat.c (includes): Likewise.
37473         * lib/symlinkat.c (includes): Likewise.
37474
37475         openat: allow return of fd 0
37476         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
37477         * modules/save-cwd (Depends-on): Replace fcntl-safer with
37478         unistd-safer.
37479         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
37480         <fcntl.h>; this module does not leak fds.
37481         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
37482         must be allowed to return 0, leaving openat_safer to add the
37483         safety.
37484         (openat_permissive): Avoid writing to just-opened fd 2 if
37485         restoring the current directory fails.
37486         * lib/openat-die.c (openat_restore_fail): Add comment.
37487         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
37488         (save_cwd): Guarantee safe fd, but without use of open_safer.
37489         * tests/test-openat.c: New test.
37490         * modules/openat-tests (Files, Makefile.am): Distribute and build
37491         new file.
37492
37493         relocatable-prog-wrapper: fix build
37494         * modules/relocatable-prog-wrapper (Files): Update name of
37495         canonicalize m4 file, broken on 2009-09-17.
37496         Reported by emad hajjar <aleppos@hotmail.com>.
37497
37498 2009-09-19  Bruno Haible  <bruno@clisp.org>
37499
37500         * lib/safe-alloc.h: Use the standard header with GPL copyright.
37501         * lib/safe-alloc.c: Likewise.
37502         Reported by Ian Beckwith <ianb@erislabs.net>.
37503
37504 2009-09-18  Bruno Haible  <bruno@clisp.org>
37505
37506         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
37507         Reported by <erobles@sensacd.com.mx>.
37508
37509 2009-09-17  Eric Blake  <ebb9@byu.net>
37510
37511         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
37512         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
37513         slashes when checking if last component is missing.
37514         * tests/test-canonicalize.c (main): Test this.
37515
37516         canonicalize, canonicalize-lgpl: honor // if distinct from /
37517         * modules/canonicalize (Files): Add double-slash-root.m4.
37518         * modules/canonicalize-lgpl (Files): Likewise.
37519         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37520         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
37521         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
37522         fallback definition.
37523         (canonicalize_filename_mode): Use it to protect //.
37524         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
37525         (__realpath): Likewise.
37526         * tests/test-canonicalize.c (main): Test this.
37527         * tests/test-canonicalize-lgpl.c (main): Likewise.
37528         * modules/canonicalize-tests (Depends-on): Add same-inode.
37529         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37530
37531         canonicalize-lgpl: fix glibc bug with trailing slash
37532         * m4/canonicalize-lgpl.m4: Move contents...
37533         * m4/canonicalize.m4: ...here.
37534         (gl_CANONICALIZE_LGPL): Factor realpath check...
37535         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
37536         glibc 2.3.5 bug, fixed 2005-04-27.
37537         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
37538         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
37539         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
37540         * modules/canonicalize-lgpl (Files): Manage file rename.
37541         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37542         * modules/stdlib (Makefile.am): Substitute witness.
37543         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
37544         is needed.
37545         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
37546         replacement is required.
37547         * lib/canonicalize.c (canonicalize_file_name): Likewise.
37548         * doc/glibc-functions/canonicalize_file_name.texi
37549         (canonicalize_file_name): Document this.
37550         * doc/posix-functions/realpath.texi (realpath): Likewise.
37551
37552         canonicalize-lgpl: reject non-directory with trailing slash
37553         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
37554         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
37555         catches failures in glibc 2.3.5.
37556         * tests/test-canonicalize.c (main): Likewise.
37557
37558         canonicalize-lgpl: use native realpath if it works
37559         * lib/canonicalize-lgpl.c (realpath): Guard with
37560         FUNC_REALPATH_WORKS.
37561         * lib/stdlib.in.h (realpath): Make declaration optional based on
37562         HAVE_REALPATH.
37563         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
37564         native realpath works.
37565         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
37566         * modules/stdlib (Makefile.am): Substitute witness.
37567
37568         canonicalize, canonicalize-lgpl: use <stdlib.h>
37569         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
37570         (Include): Mention <stdlib.h>.
37571         (configure.ac): Mention functions we provide.
37572         * modules/canonicalize (configure.ac): Likewise.
37573         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
37574         realpath if canonicalize_file_name is missing.
37575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
37576         * modules/stdlib (Makefile.am): Substitute witnesses.
37577         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
37578         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
37579         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
37580         * NEWS: Document this.
37581         * doc/glibc-functions/canonicalize_file_name.texi
37582         (canonicalize_file_name): Likewise.
37583         * doc/posix-functions/realpath.texi (realpath): Likewise.
37584         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
37585
37586         test-canonicalize: consolidate into single C program
37587         * tests/test-canonicalize.sh: Delete; move setup into...
37588         * tests/test-canonicalize.c (main): ...the program, making it
37589         easier to run in debugger.  Add some tests.
37590         * modules/canonicalize-tests (Files): Remove unused file.
37591         (Depends-on): Add progname.
37592         (configure.ac, Makefile.am): Simplify.
37593
37594         test-canonicalize-lgpl: consolidate into single C program
37595         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
37596         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
37597         easier to run in debugger.  Add some tests.
37598         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
37599         (configure.ac, Makefile.am): Simplify.
37600
37601         canonicalize: avoid resolvepath
37602         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
37603         unnecessary checks.
37604         * lib/canonicalize.c (includes): Simplify.
37605         (canonicalize_file_name): Drop resolvepath implementation.
37606         * modules/canonicalize (Depends-on): Drop filenamecat.
37607
37608         canonicalize: don't lose errno
37609         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
37610         over calls to free.
37611
37612         canonicalize: simplify errno handling
37613         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
37614         assignment.
37615
37616         canonicalize, canonicalize-lgpl: update module dependencies
37617         * modules/canonicalize (Depends-on): Add extensions, lstat,
37618         pathmax, stdlib.
37619         (Files): Drop pathmax.h.
37620         (configure.ac): Adjust macro name.
37621         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
37622         lstat, stdlib, sys_stat.
37623         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
37624         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
37625         extensions.
37626         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
37627         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
37628         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
37629         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
37630         declaration, if available.
37631         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
37632         we can rely on the readlink module.
37633         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
37634         (includes): Use <unistd.h> unconditionally.
37635
37636 2009-09-17  Eric Blake  <ebb9@byu.net>
37637
37638         maint: make Include sections of modules consistent
37639         * modules/alloca: Use only header name; no need to list #include.
37640         * modules/alloca-opt: Likewise.
37641         * modules/arpa_inet: Likewise.
37642         * modules/canon-host: Likewise.
37643         * modules/configmake: Likewise.
37644         * modules/dirent: Likewise.
37645         * modules/eealloc: Likewise.
37646         * modules/environ: Likewise.
37647         * modules/fchdir: Likewise.
37648         * modules/fcntl: Likewise.
37649         * modules/fcntl-h: Likewise.
37650         * modules/gethrxtime: Likewise.
37651         * modules/gettime: Likewise.
37652         * modules/ignore-value: Likewise.
37653         * modules/inet_ntop: Likewise.
37654         * modules/inet_pton: Likewise.
37655         * modules/inttypes: Likewise.
37656         * modules/isnand-nolibm: Likewise.
37657         * modules/isnanf-nolibm: Likewise.
37658         * modules/mbchar: Likewise.
37659         * modules/mbfile: Likewise.
37660         * modules/mbiter: Likewise.
37661         * modules/mbuiter: Likewise.
37662         * modules/netdb: Likewise.
37663         * modules/netinet_in: Likewise.
37664         * modules/nproc: Likewise.
37665         * modules/pagealign_alloc: Likewise.
37666         * modules/poll: Likewise.
37667         * modules/printf-frexp: Likewise.
37668         * modules/pthread: Likewise.
37669         * modules/putenv: Likewise.
37670         * modules/random_r: Likewise.
37671         * modules/relocatable-prog: Likewise.
37672         * modules/search: Likewise.
37673         * modules/select: Likewise.
37674         * modules/selinux-h: Likewise.
37675         * modules/settime: Likewise.
37676         * modules/signal: Likewise.
37677         * modules/size_max: Likewise.
37678         * modules/socklen: Likewise.
37679         * modules/ssize_t: Likewise.
37680         * modules/stdarg: Likewise.
37681         * modules/stdbool: Likewise.
37682         * modules/stddef: Likewise.
37683         * modules/stdint: Likewise.
37684         * modules/stdio: Likewise.
37685         * modules/stdlib: Likewise.
37686         * modules/string: Likewise.
37687         * modules/strings: Likewise.
37688         * modules/sys_file: Likewise.
37689         * modules/sys_ioctl: Likewise.
37690         * modules/sys_select: Likewise.
37691         * modules/sys_socket: Likewise.
37692         * modules/sys_stat: Likewise.
37693         * modules/sys_time: Likewise.
37694         * modules/sys_times: Likewise.
37695         * modules/sys_utsname: Likewise.
37696         * modules/sys_wait: Likewise.
37697         * modules/sysexits: Likewise.
37698         * modules/time: Likewise.
37699         * modules/times: Likewise.
37700         * modules/tmpfile: Likewise.
37701         * modules/trim: Likewise.
37702         * modules/unistd: Likewise.
37703         * modules/wchar: Likewise.
37704         * modules/wctype: Likewise.
37705
37706 2009-09-17  Bruno Haible  <bruno@clisp.org>
37707
37708         Make getdate.y compile on QNX and NetBSD 5 / i386.
37709         * m4/getdate.m4 (gl_GETDATE): Conditionally define
37710         TIME_T_FITS_IN_LONG_INT.
37711         * lib/getdate.y (long_time_t): New type.
37712         (relative_time): Change type of 'seconds' field to long_time_t.
37713         (get_date): Update types of local variables. Check against overflow
37714         during conversion from long_time_t to time_t.
37715         Reported by Matt Kraai <kraai@ftbfs.org>
37716         and Hasso Tepper <hasso@netbsd.org>.
37717
37718 2009-09-17  Bruno Haible  <bruno@clisp.org>
37719
37720         * modules/COPYING: Update copyright years.
37721         * modules/README: Likeiwse.
37722         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
37723         Reported by Ian Beckwith <ianb@erislabs.net>.
37724
37725 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37726
37727         * users.txt: Update references for gnuit package.
37728
37729 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
37730
37731         * m4/getdelim.m4: Fix typo in copyright line.
37732
37733 2009-09-17  Bruno Haible  <bruno@clisp.org>
37734
37735         * lib/atoll.c: Use the standard header with GPL copyright.
37736         * lib/argz.in.h: Likewise.
37737         * lib/glob.c: Likewise.
37738         * lib/glob-libc.h: Likewise.
37739         * lib/random_r.c: Likewise.
37740         * lib/siglist.h: Likewise.
37741         * lib/strsignal.c: Likewise.
37742         Reported by Ian Beckwith <ianb@erislabs.net>.
37743
37744 2009-09-17  Eric Blake  <ebb9@byu.net>
37745
37746         rmdir: ensure correct dependency order
37747         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
37748
37749 2009-09-17  Bruno Haible  <bruno@clisp.org>
37750
37751         Disable assertion that fails on NetBSD 5 / i386.
37752         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
37753         Reported by Sam Steingold <sds@gnu.org>
37754         and Hasso Tepper <hasso@netbsd.org>.
37755
37756 2009-09-16  Eric Blake  <ebb9@byu.net>
37757
37758         unlinkdir: port to mingw
37759         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
37760         on which no one can unlink a directory.
37761
37762         stdlib: sort witness names
37763         * modules/stdlib (Makefile.am): Sort replacements.
37764         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
37765         * lib/stdlib.in.h: Likewise.
37766
37767         parse-duration-tests: avoid link failure
37768         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
37769         LIBINTL.
37770         Reported by Tom G. Christensen.
37771
37772         openat-tests: ensure unlinkat behaves like rmdir
37773         * tests/test-rmdir.c (main): Factor guts...
37774         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
37775         * modules/rmdir-tests (Files): Ship new file.
37776         * modules/openat-tests: New test.
37777         * tests/test-unlinkat.c: Likewise.
37778
37779         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
37780         * modules/rmdir-errno (Status, Notice): Now obsolete.
37781
37782         rmdir: work around cygwin 1.5.x and mingw bugs
37783         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
37784         * lib/rmdir.c (rmdir): Work around it.
37785         * modules/rmdir (Status, Notice): No longer obsolete.
37786         (Files): Add dos.m4.
37787         (Depends-on): Add unistd.
37788         (configure.ac): Set witnesses.
37789         (License): Relax to LGPLv2+.
37790         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
37791         * modules/unistd (Makefile.am): Substitute witnesses.
37792         * lib/unistd.in.h (rmdir): Declare replacement.
37793         * doc/posix-functions/rmdir.texi (rmdir): Document this.
37794         * modules/rmdir-tests: New tests.
37795         * tests/test-rmdir.c: Likewise.
37796
37797 2009-09-15  Eric Blake  <ebb9@byu.net>
37798
37799         fchdir: improve use of replacement functions
37800         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
37801         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
37802         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
37803         REPLACE_CLOSEDIR.
37804         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
37805         * modules/sys_stat (Makefile.am): Substitute correct witness.
37806         * modules/dirent (Makefile.am): Likewise.
37807         * modules/unistd (Makefile.am): Likewise.
37808         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
37809         * lib/unistd.in.h (dup): Likewise.
37810         * lib/sys_stat.in.h (fstat): Likewise.
37811
37812         maint: ignore gnulib-tool temp files
37813         * .gitignore: Ignore files created during gnulib-tool --test.
37814
37815 2009-09-13  Jim Meyering  <meyering@redhat.com>
37816
37817         posixtm: don't reject a time that specify "60" as the number of seconds
37818         * lib/posixtm.c (posixtime): The code to reject invalid dates
37819         would also reject a time specified with the .60 suffix.
37820         But POSIX allows that, in order to accommodate leap seconds.
37821         So don't reject it.
37822         (main): Adjust tests accordingly.
37823         * modules/posixtm (Depends-on): Add stpcpy.
37824
37825 2009-09-11  Jim Meyering  <meyering@redhat.com>
37826
37827         announce-gen: include [$release_type] in emitted Subject:
37828         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
37829         e.g., [stable] in the emitted Subject: line.
37830
37831 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37832
37833         Remove obsolete macros from several modules.
37834         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
37835         obsolete Autoconf macros with their modern counterparts.
37836         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
37837         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
37838         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
37839         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
37840         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
37841         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
37842         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
37843         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
37844         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
37845         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
37846         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
37847         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
37848         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
37849         * m4/sockets.m4 (gl_SOCKETS): Likewise.
37850         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
37851         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
37852         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37853         * m4/time_r.m4 (gl_TIME_R): Likewise.
37854         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
37855         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
37856         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37857
37858         Fix copyright header in build-aux scripts.
37859         * build-aux/git-version-gen: Fix copyright header to match GPLv3
37860         recommendation.
37861         * build-aux/ncftpput-ftp: Likewise.
37862         * build-aux/update-copyright: Likewise.
37863
37864 2009-09-09  Eric Blake  <ebb9@byu.net>
37865
37866         test-link: allow Linux choice of errno
37867         * tests/test-link.c (main): Relax test for alternate error.
37868
37869         strndup: fix improper m4 caching
37870         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
37871         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
37872         (gl_PREREQ_STRNDUP): Delete.
37873         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
37874         * modules/string (Makefile.am): Substitute it.
37875         * lib/string.in.h (strndup): Modernize prototype.
37876
37877         getcwd: port to mingw
37878         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
37879         different from the POSIX assumptions made throughout the getcwd
37880         module; fortunately, the mingw getcwd does not need replacement.
37881         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
37882         * modules/getcwd-tests: New test.
37883         * tests/test-getcwd.c: Likewise.
37884
37885         link: fix platform bugs
37886         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
37887         * lib/link.c (link): Work around them.  Fix related mingw bug.
37888         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
37889         * modules/unistd (Makefile.am): Substitute it.
37890         * lib/unistd.in.h (link): Declare replacement.
37891         * doc/posix-functions/link.texi (link): Document this.
37892         * modules/link (Depends-on): Add strdup-posix, sys_stat.
37893
37894         test-link: consolidate into single C program, test more cases
37895         * tests/test-link.sh: Delete.
37896         * tests/test-link.c: Test more error conditions.  Exposes bugs on
37897         at least Cygwin and Solaris.
37898         * modules/link-tests (Files): Remove unused file.
37899         (Depends-on): Add errno, sys_stat.
37900         (Makefile.am): Simplify.
37901
37902 2009-09-08  Bruno Haible  <bruno@clisp.org>
37903
37904         Work around towlower, towupper bug on mingw.
37905         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
37906         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
37907         * doc/posix-functions/towlower.texi: Mention the mingw bug.
37908         * doc/posix-functions/towupper.texi: Likewise.
37909         Reported by Eric Blake.
37910
37911 2009-09-08  Jim Meyering  <meyering@redhat.com>
37912
37913         build: don't try to run autoheader if we don't use it
37914         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
37915         is not used in configure.ac.
37916
37917 2009-09-08  Eric Blake  <ebb9@byu.net>
37918
37919         euidaccess: fix compilation error
37920         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
37921
37922         rawmemchr: relax license
37923         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
37924         okay.
37925         Reported by Jim Meyering.
37926
37927         mkfifoat: new module
37928         * modules/mkfifoat: New file.
37929         * lib/mkfifoat.c: Likewise.
37930         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
37931         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37932         * modules/sys_stat (Makefile.am): Use them.
37933         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
37934         * MODULES.html.sh (File system functions): Mention module.
37935         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
37936         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
37937         * modules/mkfifoat-tests: New test.
37938         * tests/test-mkfifoat.c: Likewise.
37939
37940         strchrnul: relax license
37941         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
37942         okay.
37943         Reported by Jim Meyering.
37944
37945 2009-09-08  Eric Blake  <ebb9@byu.net>
37946
37947         fstatat: fix compilation on Solaris
37948         * lib/fstatat.c (includes): Add fcntl.h.
37949         Reported by Pádraig Brady.
37950
37951 2009-09-07  Eric Blake  <ebb9@byu.net>
37952
37953         rename: modernize replacement
37954         * modules/rename (Depends-on): Add stdio.
37955         (configure.ac): Declare witness.
37956         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
37957         stdio take care of replacement.
37958         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
37959         * modules/stdio (Makefile.am): Substitute them.
37960         * lib/stdio.in.h (rename): Declare replacement.
37961         * lib/rename.c (includes): Allow cross-compilation to non-windows
37962         machines.
37963         * doc/posix-functions/rename.texi (rename): Improve
37964         documentation.
37965
37966         stdio: sort witness names
37967         * modules/stdio (Makefile.am): Sort replacements.
37968         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37969         * lib/stdio.in.h: Likewise.
37970
37971         getcwd: minor cleanups
37972         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
37973         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
37974
37975         openat: provide more convenience names
37976         * modules/faccessat (configure.ac): Add C witness.
37977         * lib/unistd.in.h (readlinkat): Fix typo.
37978         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
37979         convenience wrappers.
37980         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
37981         wrappers in syntax checks.
37982
37983 2009-09-06  Eric Blake  <ebb9@byu.net>
37984
37985         doc: fix comments in recent patches
37986         * lib/faccessat.c: Mention correct function.
37987         * lib/fchmodat.c: Likewise.
37988         * lib/fchownat.c: Likewise.
37989         * lib/symlinkat.c: Likewise.
37990         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
37991         constants.
37992
37993         faccessat, symlinkat: continue cleanup of previous patch
37994         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
37995         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
37996         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
37997         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
37998         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
37999         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
38000         set.
38001
38002 2009-09-06  Bruno Haible  <bruno@clisp.org>
38003
38004         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
38005         (fstatat): Declare if GNULIB_FSTATAT is set.
38006         (mkdirat): Declare if GNULIB_MKDIRAT is set.
38007         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
38008         (unlinkat): Declare if GNULIB_UNLINKAT is set.
38009         * modules/fcntl-h (Files): Remove m4/openat.m4.
38010         * modules/sys_stat (Files): Remove m4/openat.m4.
38011         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
38012         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
38013         * modules/unistd (Files): Remove m4/openat.m4.
38014         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
38015         GNULIB_OPENAT.
38016         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
38017         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
38018         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
38019         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
38020         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
38021         gl_OPENAT_DEFAULTS.
38022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
38023         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
38024         Don't require gl_OPENAT_DEFAULTS.
38025         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
38026         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
38027         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
38028         (gl_OPENAT_DEFAULTS): Remove macro.
38029
38030 2009-09-06  Bruno Haible  <bruno@clisp.org>
38031
38032         * modules/openat (configure.ac): Remove unneeded witness.
38033
38034 2009-09-06  Bruno Haible  <bruno@clisp.org>
38035
38036         Set errno to ENOSYS when a function is entirely unsupported.
38037         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
38038         EOPNOTSUPP.
38039         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38040         * modules/chown (Depends-on): Remove errno.
38041
38042 2009-09-06  Bruno Haible  <bruno@clisp.org>
38043
38044         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
38045
38046 2009-09-06  Bruno Haible  <bruno@clisp.org>
38047
38048         * lib/sys_stat.in.h: Fix preprocessor command indentation.
38049
38050 2009-09-06  Ben Pfaff  <blp@gnu.org>
38051             Bruno Haible  <bruno@clisp.org>
38052
38053         Work around a glibc bug in strtok_r.
38054         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
38055         Undefine if UNDEFINE_STRTOK_R is set.
38056         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
38057         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38058         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
38059         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
38060         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
38061         UNDEFINE_STRTOK_R.
38062         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
38063
38064 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
38065
38066         exclude: minor fix
38067         * lib/exclude.c: Include wctype.h
38068
38069 2009-09-06  Akim Demaille  <demaille@gostai.com>
38070
38071         bootstrap: improve error message
38072         * build-aux/bootstrap (find_tool): Upon failure, report the list
38073         of candidates.
38074         Honor the initial value of the envvar.
38075
38076 2009-09-05  Eric Blake  <ebb9@byu.net>
38077
38078         symlinkat: new module
38079         * modules/symlinkat: New file.
38080         * lib/symlinkat.c: Likewise.
38081         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
38082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38083         * modules/unistd (Makefile.am): Use them.
38084         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
38085         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
38086         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
38087         * MODULES.html.sh (File system functions): Mention module.
38088         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38089         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38090         * modules/symlinkat-tests: New test.
38091         * tests/test-symlinkat.c: Likewise.
38092
38093         test-openat-safer: add more checks
38094         * tests/test-openat-safer.c (main): Check more code paths.
38095
38096 2009-09-05  Jim Meyering  <meyering@redhat.com>
38097
38098         syntax-check: detect unnecessary inclusion of openat.h
38099         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
38100
38101 2009-09-05  Bruno Haible  <bruno@clisp.org>
38102
38103         Support towlower, towupper.
38104         * doc/posix-functions/towlower.texi: Mention module wctype.
38105         * doc/posix-functions/towupper.texi: Likewise.
38106         * lib/wctype.in.h (towlower, towupper): New functions.
38107         * tests/test-wctype.c: Include stdio.h, stdlib.h.
38108         (ASSERT): New macro.
38109         (e): New variable.
38110         (main): Test also towlower, towupper. Test WEOF argument.
38111         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38112
38113 2009-09-05  Bruno Haible  <bruno@clisp.org>
38114
38115         Fix conversion behaviour when the input is invalid.
38116         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
38117         mark occurring in first pass of indirect conversion.
38118         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
38119         input.
38120         Found by clang's static analyzer.
38121
38122 2009-09-05  Bruno Haible  <bruno@clisp.org>
38123
38124         * tests/test-striconveh.c (main): Test indirect conversion on platforms
38125         where direct conversion is possible.
38126
38127 2009-09-04  Eric Blake  <ebb9@byu.net>
38128
38129         openat: fail with ENOENT on empty name
38130         * lib/openat-proc.c (openat_proc_name): Special-case the empty
38131         buffer.
38132
38133         link-follow: fix logic bug in prior patch
38134         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
38135         reversed sense of yes and no in prior patch.  Avoid confusing
38136         compilation failure with desired semantics.
38137
38138         link-follow: accomodate mingw and cross-compilation
38139         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
38140         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
38141         cross-compilation results to -1, to make linkat easier to
38142         implement when cross-compiling.  Trivially support mingw.
38143         * modules/link-follow (configure.ac): Call new name.
38144         * NEWS: Mention this.
38145
38146 2009-09-03  Eric Blake  <ebb9@byu.net>
38147
38148         faccessat: compile replacement
38149         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
38150         needed.
38151
38152         fts: fix compilation error
38153         * lib/fts.c (includes): Re-add "openat.h", for
38154         openat_needs_fchdir.
38155
38156         faccessat: new module
38157         * modules/faccessat: New file.
38158         * lib/faccessat.c: Likewise.
38159         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
38160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38161         * modules/unistd (Makefile.am): Use it.
38162         * lib/unistd.in.h (faccessat): Declare it.
38163         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
38164         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
38165         * MODULES.html.sh (File system functions): Mention it.
38166         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
38167         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38168
38169         euidaccess: prefer POSIX over non-standard implementation
38170         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
38171         * lib/euidaccess.c (euidaccess): Use it if available.
38172
38173         openat: make template easier to use
38174         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
38175         AT_FUNC_F2 to be undefined.
38176         (VALIDATE_FLAG): New macro; use it to reject bad flags.
38177         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
38178         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
38179         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
38180         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
38181         Likewise.
38182         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
38183         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
38184         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
38185         Likewise.
38186
38187         openat: declare in POSIX headers
38188         * NEWS: Mention this.
38189         * modules/openat (configure.ac): Declare witnesses.
38190         (Depends-on): Add fcntl-h, sys_stat, unistd.
38191         (Include): Mention correct headers.
38192         * modules/fcntl-h (Depends-on): Add link-warning.
38193         (Files): Add openat.m4.
38194         (Makefile.am): Substitute witnesses.
38195         * modules/sys_stat (Files, Makefile.am): Likewise.
38196         * modules/unistd (Files, Makefile.am): Likewise.
38197         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
38198         (gl_OPENAT_DEFAULTS): New macro.
38199         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
38200         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
38201         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
38202         (SYS_STAT_H): Remove unused variable.
38203         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
38204         * lib/fcntl--.h (includes): Remove unneeded header.
38205         * lib/openat-safer.c (includes): Likewise.
38206         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
38207         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
38208         appropriate headers.
38209         (__OPENAT_PREFIX): Delete.
38210         * lib/fcntl.in.h (openat): Provide declaration.
38211         (AT_FDCWD): Fix Solaris bug.
38212         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
38213         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
38214         * lib/fchmodat.c (includes):  Adjust to find declaration.
38215         * lib/fchownat.c (includes): Likewise.
38216         * lib/mkdirat.c (includes): Likewise.
38217         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
38218         still visible.
38219
38220 2009-09-02  Eric Blake  <ebb9@byu.net>
38221
38222         errno: use consistently
38223         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
38224         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
38225         * lib/canonicalize.c (ELOOP): Likewise.
38226         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
38227         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
38228         * lib/lchown.c (EOPNOTSUPP): Likewise.
38229         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
38230         * lib/savewd.c (ESTALE): Likewise.
38231         * lib/settime.c (ENOSYS): Likewise.
38232         * lib/utimens.c (ENOSYS): Likewise.
38233         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
38234         * lib/chdir-safer.c (ELOOP): Likewise.
38235         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
38236         * modules/c-stack (Depends-on): Add errno.
38237         * modules/canonicalize (Depends-on): Likewise.
38238         * modules/chdir-safer (Depends-on): Likewise.
38239         * modules/fdopendir (Depends-on): Likewise.
38240         * modules/inet_ntop (Depends-on): Likewise.
38241         * modules/inet_pton (Depends-on): Likewise.
38242         * modules/lchown (Depends-on): Likewise.
38243         * modules/openat (Depends-on): Likewise.
38244         * modules/savewd (Depends-on): Likewise.
38245         * modules/settime (Depends-on): Likewise.
38246         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
38247
38248         fts: avoid leaking fds
38249         * modules/fts (Depends-on): Add cloexec.
38250         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
38251         flag.
38252
38253         fts: make directory fds more robust
38254         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
38255         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
38256
38257         backupfile, chdir-long, fts, savedir: make safer
38258         * lib/backupfile.c (includes): Use "dirent--.h", since
38259         numbered_backup can write to stderr during readdir.
38260         * lib/savedir.c (includes): Likewise.
38261         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
38262         emulation can write to stderr on failure.
38263         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
38264         * lib/getcwd.c: Document why opendir_safer is unused.
38265         * lib/glob.c: Likewise.
38266         * lib/scandir.c: Likewise.
38267         * lib/openat-proc.c: Likewise, for open_safer.
38268         * modules/backupfile (Depends-on): Add dirent-safer.
38269         * modules/savedir (Depends-on): Likewise.
38270         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
38271         * modules/chdir-long (Depends-on): Add openat-safer.
38272
38273         openat-safer: new module
38274         * modules/openat-safer: New file.
38275         * lib/openat-safer.c: Likewise.
38276         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
38277         * lib/fcntl-safer.h (openat_safer): Declare.
38278         * lib/fcntl--.h (openat): Override.
38279         * MODULES.html.sh (File descriptor based I/O): Mention it.
38280         * lib/openat.h: Add double-inclusion guards.
38281         * lib/openat.c (includes): Only include "fcntl-safer.h", not
38282         "fcntl--.h", so we can implement openat.
38283         * modules/openat-safer-tests: New test.
38284         * tests/test-openat-safer.c: New file.
38285
38286         dirent-safer: new module
38287         * modules/dirent-safer: New file.
38288         * lib/dirent--.h: Likewise.
38289         * lib/dirent-safer.h: Likewise.
38290         * lib/opendir-safer.c: Likewise.
38291         * m4/dirent-safer.m4: Likewise.
38292         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
38293         * modules/dirent-safer-tests: New test.
38294         * tests/test-dirent-safer.c: New file.
38295         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
38296
38297         fdopendir: optimize on mingw
38298         * lib/unistd.in.h (_gl_directory_name): New prototype.
38299         * lib/fchdir.c (_gl_directory_name): Implement it.
38300         (fchdir): Use it to simplify implementation.
38301         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
38302         fchdir, when available, to avoid calling [f]chdir().
38303
38304         fdopendir: split into its own module
38305         * lib/openat.c (fdopendir): Move...
38306         * lib/fdopendir.c: ...into new file.
38307         * modules/fdopendir: New module.
38308         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
38309         * modules/openat (Depends-on): Add fdopendir.
38310         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
38311         fdopendir here.
38312         * modules/savedir (Depends-on): Only need fdopendir, not full
38313         openat.
38314         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
38315         * lib/openat.h (fdopendir): Drop prototype.
38316         * lib/dirent.in.h (fdopendir): Provide prototype.
38317         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
38318         * modules/dirent (Makefile.am): Substitute them.
38319         * MODULES.html.sh (File system functions): Mention it.
38320         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
38321         * modules/fdopendir-tests: New file.
38322         * tests/test-fdopendir.c: Likewise.
38323
38324         fchdir: use more consistent macro convention
38325         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
38326         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
38327         REPLACE_FCHDIR, rather than relying on config.h macros.
38328         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
38329         inside a single make-time REPLACE_FCHDIR block, rather than using
38330         the config.h FCHDIR_REPLACEMENT.
38331         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
38332         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
38333         Manage fstat replacement.
38334         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
38335         REPLACE_FCHDIR.
38336         * modules/sys_stat (Files): Add m4/unistd_h.m4.
38337         (Makefile.am): Substitute REPLACE_FCHDIR.
38338         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
38339         FCHDIR_REPLACEMENT.
38340         * lib/dup-safer.c (dup_safer): Likewise.
38341         * lib/dup2.c (rpl_dup2): Likewise.
38342         * lib/dup3.c (rpl_dup3): Likewise.
38343         * lib/open.c (rpl_open): Likewise.
38344
38345         fchdir: simplify error handling, and support dup3
38346         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
38347         stdbool, malloc-posix, realloc-posix.
38348         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
38349         (ensure_dirs_slot): Return false on allocation failure.
38350         (rpl_dup2): Delete.
38351         (_gl_register_dup): New function.
38352         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
38353         (_gl_register_fd): Close fd on allocation failure.
38354         * lib/fcntl.in.h (_gl_register_fd): Update signature.
38355         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
38356         prototype.
38357         (rpl_dup2_fchdir): Delete prototype.
38358         * lib/open.c (open): Update caller.
38359         * lib/dup2.c (dup2): Track fchdir metadata.
38360         * lib/dup3.c (dup3): Likewise.
38361         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
38362         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
38363
38364 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38365
38366         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
38367         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
38368         don't pass arguments to AC_OUTPUT.
38369
38370 2009-09-02  Bruno Haible  <bruno@clisp.org>
38371
38372         * modules/mkdtemp (License): Relicense under LGPLv2+.
38373         Reported by Paolo Bonzini.
38374
38375 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38376
38377         Replace uses of obsolete autoconf macros in Jim's modules.
38378         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
38379         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
38380         can evoke a warning from autoconf when run with -Wobsolete
38381         enabled.  They were declared obsolete for good reasons (see
38382         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
38383         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
38384         should not continue using the deprecated macros.
38385         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
38386         obsolete Autoconf macros with modern counterparts.
38387         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38388         * m4/dos.m4 (gl_AC_DOS): Likewise.
38389         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
38390         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
38391         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
38392         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
38393         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
38394         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
38395         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
38396         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
38397         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
38398         Likewise.
38399         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
38400         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
38401         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
38402         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
38403         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
38404         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
38405
38406 2009-09-01  Eric Blake  <ebb9@byu.net>
38407
38408         fchdir: fix off-by-one bug in previous patch
38409         * lib/fchdir.c (rpl_fstat): Use correct bounds.
38410         (_gl_unregister_fd): Delete useless if.
38411
38412 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
38413
38414         maint.mk: sort the list of syntax-check rules
38415         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
38416         easier to get a sense of progress when the rules are run sequentially
38417         and take a long time.
38418
38419 2009-09-01  Simon Josefsson  <simon@josefsson.org>
38420
38421         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
38422         * modules/netinet_in: Likewise.
38423         * modules/sys_file: Likewise.
38424         * modules/sys_ioctl: Likewise.
38425         * modules/sys_select: Likewise.
38426         * modules/sys_socket: Likewise.
38427         * modules/sys_stat: Likewise.
38428         * modules/sys_time: Likewise.
38429         * modules/sys_times: Likewise.
38430         * modules/sys_utsname: Likewise.
38431         * modules/sys_wait: Likewise.
38432
38433 2009-09-01  Jim Meyering  <meyering@redhat.com>
38434
38435         fts: help ensure that return values are not ignored
38436         * lib/fts_.h (__GNUC_PREREQ): Define.
38437         (__attribute_warn_unused_result__): Define.
38438         (fts_children, fts_close, fts_open, fts_read): Declare with
38439         __attribute_warn_unused_result__.
38440
38441         fts: fts_close now fails also when closing a dir file descriptor fails
38442         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
38443         and propagate to caller, along with errno.
38444
38445         announce-gen: correct formatting in --help output
38446         * build-aux/announce-gen (usage): Move the one-line description in
38447         --help output "up", to where it belongs, just after Usage:.
38448
38449 2009-08-31  Eric Blake  <ebb9@byu.net>
38450
38451         fchdir: port to mingw
38452         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
38453         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
38454         opened, then use a substitute.
38455         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
38456         replacement.
38457         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
38458         (_gl_register_fd): No need to check stat if open already filters
38459         all directories.
38460         (fchdir): Fix error condition to match POSIX.
38461         * modules/fchdir (Depends-on): Add sys_stat.
38462         * doc/posix-functions/open.texi (open): Document the limitation.
38463         * modules/fchdir-tests: New file.
38464         * tests/test-fchdir.c: Likewise.
38465
38466         canonicalize: allow cross-testing from cygwin to mingw
38467         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
38468         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
38469         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
38470         Likewise.
38471         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
38472         target does not support symlinks.
38473         * tests/test-canonicalize-lgpl.sh: Likewise.
38474
38475         chown: avoid compilation warning on mingw
38476         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
38477         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
38478         mingw.
38479         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
38480         * modules/chown (Depends-on): Add errno.
38481
38482 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
38483
38484         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
38485         command.
38486
38487 2009-08-31  Jim Meyering  <meyering@redhat.com>
38488
38489         canonicalize: remove useless initialization
38490         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
38491         initialization of local, "end".
38492
38493 2009-08-30  Bruno Haible  <bruno@clisp.org>
38494
38495         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
38496         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
38497         ENOSYS.
38498
38499 2009-08-30  Bruno Haible  <bruno@clisp.org>
38500
38501         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
38502         /usr/xpg4/bin/tr when it exists.
38503         * tests/test-pipe-filter-gi1.sh: Likewise.
38504
38505 2009-08-30  Bruno Haible  <bruno@clisp.org>
38506
38507         Work around deficient /usr/bin/id program on Solaris.
38508         * tests/test-file-has-acl.sh (ID): New variable.
38509         * tests/test-set-mode-acl.sh (ID): Likewise.
38510         * tests/test-copy-acl.sh (ID): Likewise.
38511         * tests/test-copy-file.sh (ID): Likewise.
38512
38513 2009-08-30  Bruno Haible  <bruno@clisp.org>
38514
38515         New module 'xstriconveh'.
38516         * lib/xstriconveh.h: New file.
38517         * lib/xstriconveh.c: New file.
38518         * modules/xstriconveh: New file.
38519
38520 2009-08-30  Bruno Haible  <bruno@clisp.org>
38521
38522         Make it easier to use mem_cd_iconveh.
38523         * lib/striconveh.h (iconveh_t): New type.
38524         (iconveh_open, iconveh_close): New declarations.
38525         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38526         with a single 'const iconveh_t *' argument.
38527         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
38528         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
38529         with a single 'const iconveh_t *' argument.
38530         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
38531         * tests/test-striconveh.c (main): Update.
38532         * NEWS: Mention the change.
38533
38534 2009-08-30  Bruno Haible  <bruno@clisp.org>
38535
38536         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
38537         problem.
38538
38539 2009-08-30  Bruno Haible  <bruno@clisp.org>
38540
38541         Work around iconv_open problem on Solaris.
38542         * lib/iconv_open-solaris.gperf: New file.
38543         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
38544         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
38545         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
38546         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
38547         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
38548         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
38549
38550 2009-08-29  Jim Meyering  <meyering@redhat.com>
38551
38552         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
38553         * top/maint.mk (cvs-check): Remove target; it was just an alias
38554         to the better-named vc-diff-check.
38555         (maintainer-distcheck): Remove rule.  It was used only from
38556         the (alpha/beta/major) target, and all of its commands but one
38557         were coreutils-specific.
38558         (vc-dist): Remove rule.
38559         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
38560         Run vc-diff-check, not vc-dist.
38561         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
38562
38563 2009-08-27  Bruno Haible  <bruno@clisp.org>
38564
38565         * tests/test-bitrotate.c (main): Remove test that uses a shift count
38566         of 0.
38567
38568 2009-08-27  Bruno Haible  <bruno@clisp.org>
38569
38570         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
38571         compilers.
38572         * doc/func.texi: Document the SunPRO C bug.
38573
38574 2009-08-27  Bruno Haible  <bruno@clisp.org>
38575
38576         Fix link error on Solaris.
38577         * tests/test-parse-duration.c (xstrdup): Remove function.
38578
38579 2009-08-26  Pádraig Brady  <P@draigbrady.com>
38580
38581         ignore-value: handle pointer types, too
38582         * lib/ignore-value.h (__attribute__): Remove definition.
38583         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
38584         of a more concise and more-often effective "(void) i" statement.
38585         (ignore_ptr): New function to suppress warnings from functions that
38586         return pointers, and to make it explicit that one function doesn't
38587         handle all cases.
38588
38589 2009-08-25  Bruno Haible  <bruno@clisp.org>
38590
38591         dup2: work around a Linux bug.
38592         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
38593         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
38594         * doc/posix-functions/dup2.texi: Mention the Linux bug.
38595         Reported by Simon Josefsson.
38596
38597 2009-08-25  Jim Meyering  <meyering@redhat.com>
38598
38599         libguestfs uses gnulib
38600         * users.txt: Add libguestfs.
38601
38602 2009-08-24  Eric Blake  <ebb9@byu.net>
38603
38604         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
38605         * lib/pipe2.c (includes): Add binary-io.h.
38606         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
38607
38608 2009-08-24  Bruno Haible  <bruno@clisp.org>
38609
38610         Tolerate declared but missing accept4 syscall.
38611         * lib/accept4.c (accept4): Invoke original accept4 function first, if
38612         available.
38613         * lib/sys_socket.in.h (accept4): If the function is already present,
38614         override it.
38615         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
38616         * modules/accept4 (Makefile.am): Compile accept4.c always.
38617         Reported by Paolo Bonzini and Eric Blake.
38618
38619 2009-08-23  Bruno Haible  <bruno@clisp.org>
38620
38621         New module 'accept4'.
38622         * lib/sys_socket.in.h (accept4): New declaration.
38623         * lib/accept4.c: New file.
38624         * m4/accept4.m4: New file.
38625         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
38626         GNULIB_ACCEPT4, HAVE_ACCEPT4.
38627         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
38628         HAVE_ACCEPT4.
38629         * modules/accept4: New file.
38630         * doc/glibc-functions/accept4.texi: Mention the new module.
38631
38632 2009-08-24  Jim Meyering  <meyering@redhat.com>
38633
38634         progname: also set global program_invocation_name, when possible
38635         Before this change, a libtool-enabled program that calls glibc's
38636         error function would report the program name as
38637         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
38638         * modules/progname (configure.ac): Check for a declaration of
38639         program_invocation_name.
38640         * lib/progname.c:  Include <errno.h>.
38641         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
38642         Set program_invocation_name.
38643
38644 2009-08-23  Bruno Haible  <bruno@clisp.org>
38645
38646         * lib/dup3.c: Include <string.h>.
38647
38648 2009-08-23  Bruno Haible  <bruno@clisp.org>
38649
38650         * lib/dup3.c (dup3): Test only once whether the system actually exists.
38651         * lib/pipe2.c (pipe2): Likewise.
38652         Suggested by Eric Blake.
38653
38654 2009-08-23  Bruno Haible  <bruno@clisp.org>
38655
38656         Tolerate declared but missing dup3 syscall.
38657         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
38658         * lib/unistd.in.h (dup3): If the function is already present,
38659         override it.
38660         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
38661         * modules/dup3 (Makefile.am): Compile dup3.c always.
38662         Reported by Paolo Bonzini.
38663
38664 2009-08-23  Bruno Haible  <bruno@clisp.org>
38665
38666         Tolerate declared but missing pipe2 syscall.
38667         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
38668         available.
38669         * lib/unistd.in.h (pipe2): If the function is already present,
38670         override it.
38671         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
38672         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
38673         Reported by Paolo Bonzini.
38674
38675 2009-08-23  Bruno Haible  <bruno@clisp.org>
38676
38677         * lib/pipe2.c (pipe2): Move #ifs inside function.
38678
38679 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38680
38681         quotearg: document limitations of quote_these_too
38682         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
38683         those limitations are created.
38684         * lib/quotearg.h (set_char_quoting): Document that digits and
38685         letters that are special after backslash are not permitted.
38686         (quotearg_char): Cross-reference set_char_quoting documentation.
38687
38688 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
38689
38690         quotearg: implement custom_quoting_style
38691         * lib/quotearg.c: (struct quoting_options): Add left_quote and
38692         right_quote fields.
38693         (set_custom_quoting): New public function.
38694         (quotearg_buffer_restyled): Add left_quote and right_quote
38695         arguments, handle them very much like locale quoting, and update
38696         all uses.
38697         (quotearg_n_custom): New public function.
38698         (quotearg_n_custom_mem): New public function.
38699         (quotearg_custom): New public function.
38700         (quotearg_custom_mem): New public function.
38701         * lib/quotearg.h: Prototype and document new public functions.
38702         (enum quoting_style): For escape_quoting_style and
38703         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
38704         ignored even though they're otherwise like c_quoting_style.
38705         Add custom_quoting_style member and document with comparison to
38706         clocale_quoting_style.
38707         * tests/test-quotearg.c (custom_quotes): New array.
38708         (custom_results): New array.
38709         (main): Extend to test custom quoting.
38710
38711 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38712
38713         quotearg: fix right quote escaping when it's in quote_these_too
38714         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
38715         quote, be sure to prepend only one backslash.
38716         * tests/test-quotearg.c (use_quote_double_quotes): New function.
38717         (main): Test it.
38718
38719 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
38720
38721         quotearg-tests: test escaping of embedded locale quotes
38722         * tests/test-quotearg.c (struct result_strings): Add member for
38723         new input.
38724         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
38725         (inputs): Add new input.
38726         (results_g): Add expected results.
38727         (flag_results): Likewise.
38728         (locale_results): Likewise.
38729         (compare_strings): Check those.
38730
38731 2009-08-23  Bruno Haible  <bruno@clisp.org>
38732
38733         Tests for module 'dup3'.
38734         * modules/dup3-tests: New file.
38735         * tests/test-dup3.c: New file.
38736
38737         New module 'dup3'.
38738         * lib/unistd.in.h (dup3): New declaration.
38739         * lib/dup3.c: New file.
38740         * m4/dup3.m4: New file.
38741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
38742         HAVE_DUP3.
38743         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
38744         * modules/dup3: New file.
38745         * doc/glibc-functions/dup3.texi: Mention the new module.
38746
38747 2009-08-23  Bruno Haible  <bruno@clisp.org>
38748
38749         Tweak the dup2 test.
38750         * tests/test-dup2.c (main): Create the test file empty. Verify that an
38751         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
38752         the test file is still empty. Fix argument order of lseek.
38753
38754 2009-08-23  Bruno Haible  <bruno@clisp.org>
38755
38756         Avoid test link errors when the modules getopt-gnu, gettext are used.
38757         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
38758         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38759
38760 2009-08-23  Bruno Haible  <bruno@clisp.org>
38761
38762         Fix getdtablesize() on mingw.
38763         * lib/getdtablesize.c (getdtablesize): Implement differently.
38764         * lib/unistd.in.h (getdtablesize): Improve comment.
38765
38766 2009-08-23  Bruno Haible  <bruno@clisp.org>
38767
38768         New module 'mkostemp'.
38769         Based on Ulrich Drepper's 2007-08-10 change in glibc.
38770         * lib/stdlib.in.h (mksotemp): New declaration.
38771         * lib/mkostemp.c: New file, from glibc with modifications.
38772         * lib/tempname.h (GT_FILE): Remove outdated comment.
38773         (gen_tempname): Add flags argument.
38774         * lib/tempname.c (__GT_BIGFILE): Remove macro.
38775         (__GT_FILE): Map to 1.
38776         (small_open, large_open): Remove macros.
38777         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
38778         * lib/mkstemp.c (mkstemp): Update.
38779         * lib/mkdtemp.c (mkdtemp): Likewise.
38780         * m4/mkostemp.m4: New file.
38781         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
38782         HAVE_MKOSTEMP.
38783         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
38784         HAVE_MKOSTEMP.
38785         * modules/mkostemp: New file, based on modules/mkstemp.
38786         * doc/glibc-functions/mkostemp.texi: Mention the new module.
38787         * NEWS: Mention the change.
38788
38789 2009-08-23  Bruno Haible  <bruno@clisp.org>
38790
38791         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
38792         Reported by Eric Blake.
38793
38794 2009-08-23  Bruno Haible  <bruno@clisp.org>
38795
38796         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
38797         Reported by Eric Blake.
38798
38799 2009-08-23  Bruno Haible  <bruno@clisp.org>
38800
38801         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
38802         * modules/pipe2 (Depends-on): Likewise.
38803
38804 2009-08-23  Eric Blake  <ebb9@byu.net>
38805
38806         fcntl-h: add O_TTY_INIT support
38807         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
38808         * tests/test-fcntl-h.c (o): Test it.
38809         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38810
38811         fcntl-h: rename from fcntl, in preparation for fcntl(2)
38812         * modules/fcntl: Move <fcntl.h> header replacement...
38813         * modules/fcntl-h: ...to new name, so as not to collide with
38814         like-named function.
38815         * tests/test-fcntl.c: Rename...
38816         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
38817         * modules/fcntl-tests: Rename...
38818         * modules/fcntl-h-tests: ...to this.  Update test file name.
38819         * modules/chdir-long (Depends-on): Update clients.
38820         * modules/chdir-safer (Depends-on): Likewise.
38821         * modules/fcntl-safer (Depends-on): Likewise.
38822         * modules/fts (Depends-on): Likewise.
38823         * modules/mkancesdirs (Depends-on): Likewise.
38824         * modules/mkdir-p (Depends-on): Likewise.
38825         * modules/open (Depends-on): Likewise.
38826         * modules/savewd (Depends-on): Likewise.
38827         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
38828         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38829
38830 2009-08-22  Bruno Haible  <bruno@clisp.org>
38831
38832         * modules/binary-io (License): Relicense under LGPL.
38833         * modules/pipe2 (License): Likewise.
38834
38835 2009-08-22  Bruno Haible  <bruno@clisp.org>
38836
38837         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
38838         return value.
38839         * lib/pipe-filter-gi.c (filter_init): Likewise.
38840         Reported by Eric Blake.
38841
38842 2009-08-22  Bruno Haible  <bruno@clisp.org>
38843
38844         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
38845         * modules/pipe (Depends-on): Add pipe2.
38846
38847 2009-08-22  Bruno Haible  <bruno@clisp.org>
38848
38849         Tests for module 'pipe2'.
38850         * modules/pipe2-tests: New file.
38851         * tests/test-pipe2.c: New file.
38852
38853         New module 'pipe2'.
38854         * lib/unistd.in.h (pipe2): New declaration.
38855         * lib/pipe2.c: New file.
38856         * m4/pipe2.m4: New file.
38857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
38858         HAVE_PIPE2.
38859         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
38860         * modules/pipe2: New file.
38861         * doc/glibc-functions/pipe2.texi: Mention the new module.
38862
38863 2009-08-22  Bruno Haible  <bruno@clisp.org>
38864
38865         Reference some new glibc functions.
38866         * doc/glibc-functions/accept4.texi: New file.
38867         * doc/glibc-functions/dup3.texi: New file.
38868         * doc/glibc-functions/mkostemp.texi: New file.
38869         * doc/glibc-functions/pipe2.texi: New file.
38870         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
38871         (Glibc sys/socket.h): Refer to accept4.
38872         (Glibc unistd.h): Refer to dup3, pipe2.
38873         Reported by Eric Blake.
38874
38875 2009-08-22  Jim Meyering  <meyering@redhat.com>
38876             Bruno Haible  <bruno@clisp.org>
38877
38878         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
38879         This makes it so packages using automake-1.11's silent-rules option
38880         can print e.g., a single "GEN    configmake.h" line, rather than
38881         the 30+ statements that perform the job.  If you want to see the
38882         actual commands, you can still run "make V=1".
38883         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
38884         so that make output is abbreviated when those variables are defined
38885         appropriately.
38886         * modules/argz: Likewise.
38887         * modules/arpa_inet: Likewise.
38888         * modules/byteswap: Likewise.
38889         * modules/configmake: Likewise.
38890         * modules/dirent: Likewise.
38891         * modules/errno: Likewise.
38892         * modules/fcntl: Likewise.
38893         * modules/float: Likewise.
38894         * modules/fnmatch: Likewise.
38895         * modules/getopt-posix: Likewise.
38896         * modules/glob: Likewise.
38897         * modules/iconv_open: Likewise.
38898         * modules/inttypes: Likewise.
38899         * modules/localcharset: Likewise.
38900         * modules/locale: Likewise.
38901         * modules/math: Likewise.
38902         * modules/netdb: Likewise.
38903         * modules/netinet_in: Likewise.
38904         * modules/poll: Likewise.
38905         * modules/posix_spawnp-tests: Likewise.
38906         * modules/sched: Likewise.
38907         * modules/search: Likewise.
38908         * modules/selinux-h: Likewise.
38909         * modules/signal: Likewise.
38910         * modules/spawn: Likewise.
38911         * modules/stdarg: Likewise.
38912         * modules/stdbool: Likewise.
38913         * modules/stddef: Likewise.
38914         * modules/stdint: Likewise.
38915         * modules/stdio: Likewise.
38916         * modules/stdlib: Likewise.
38917         * modules/string: Likewise.
38918         * modules/strings: Likewise.
38919         * modules/sys_file: Likewise.
38920         * modules/sys_ioctl: Likewise.
38921         * modules/sys_select: Likewise.
38922         * modules/sys_socket: Likewise.
38923         * modules/sys_stat: Likewise.
38924         * modules/sys_time: Likewise.
38925         * modules/sys_times: Likewise.
38926         * modules/sys_utsname: Likewise.
38927         * modules/sys_wait: Likewise.
38928         * modules/sysexits: Likewise.
38929         * modules/time: Likewise.
38930         * modules/unistd: Likewise.
38931         * modules/wchar: Likewise.
38932         * modules/wctype: Likewise.
38933
38934 2009-08-22  Jim Meyering  <meyering@redhat.com>
38935
38936         announce-gen: detect write failure
38937         * build-aux/announce-gen: Add Coda at end.
38938         Remove equivalent-but-more-verbose block at top.
38939
38940 2009-08-19  Akim Demaille  <demaille@gostai.com>
38941
38942         bootstrap: --help to stdout.
38943         * bootstrap (usage): Don't send --help to stderr.
38944         Use a here doc instead of a long string.
38945
38946 2009-08-21  Eric Blake  <ebb9@byu.net>
38947
38948         test-popen-safer: split from test-popen
38949         * tests/test-popen.c (main): Move...
38950         * tests/test-popen.h: ...into new file.
38951         * tests/test-popen-safer2.c: New file.
38952         * modules/popen-tests (Files): Add test-popen.h.
38953         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
38954         Suggested by Bruno Haible.
38955
38956         test-fcntl-safer: split from test-open
38957         * tests/test-open.c (main): Move...
38958         * tests/test-open.h: ...into new file.
38959         * tests/test-fcntl-safer.c: New file.
38960         * modules/open-tests (Files): Add test-open.h.
38961         * modules/fcntl-safer-tests: New file.
38962         Suggested by Bruno Haible.
38963
38964         test-fopen-safer: split from test-fopen
38965         * tests/test-fopen.c (main): Move...
38966         * tests/test-fopen.h: ...into new file.
38967         * tests/test-fopen-safer.c: New file.
38968         * modules/fopen-tests (Files): Add test-fopen.h.
38969         * modules/fopen-safer-tests: New file.
38970         Suggested by Bruno Haible.
38971
38972 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
38973
38974         popen-safer: test O_CLOEXEC at run-time.
38975         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
38976
38977 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
38978
38979         fcntl: move more flags to the header
38980         * lib/cloexec.c: Do not define FD_CLOEXEC here.
38981         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
38982         * lib/fcntl.in.h: Do both things here.
38983
38984 2009-08-21  Jim Meyering  <meyering@redhat.com>
38985
38986         consistently remove $@-t before redirecting to it
38987         * modules/argz: Remove $@-t and $@ before redirecting to the former.
38988         * modules/alloca-opt: Likewise.
38989         * modules/byteswap: Likewise.
38990         * modules/fnmatch: Likewise.
38991         * modules/getopt-posix: Likewise.
38992         * modules/glob: Likewise.
38993         * modules/poll: Likewise.
38994         * modules/posix_spawnp-tests: Likewise.
38995         * modules/sys_socket: Likewise.
38996         * modules/sysexits: Likewise.
38997
38998 2009-08-21  Eric Blake  <ebb9@byu.net>
38999
39000         popen: simplify access to original popen
39001         * lib/popen.c (rpl_popen): No need to worry about popen being a
39002         macro.
39003         Reported by Bruno Haible.
39004
39005 2009-08-20  Eric Blake  <ebb9@byu.net>
39006
39007         build: avoid some compiler warnings
39008         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
39009         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
39010         type.
39011         (new_exclude_segment, excluded_file_pattern_p)
39012         (excluded_file_name_p): Reduce scope.
39013         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
39014         old-style declaration.
39015
39016 2009-08-20  Simon Josefsson  <simon@josefsson.org>
39017
39018         * tests/test-exclude1.sh: Handle Windows EOL.
39019         * tests/test-exclude2.sh: Likewise.
39020         * tests/test-exclude3.sh: Likewise.
39021         * tests/test-exclude4.sh: Likewise.
39022         * tests/test-exclude5.sh: Likewise.
39023         * tests/test-exclude6.sh: Likewise.
39024         * tests/test-exclude7.sh: Likewise.
39025
39026 2009-08-19  Akim Demaille  <demaille@gostai.com>
39027
39028         bootstrap: find sha1sum when named gsha1sum.
39029         * bootstrap (find_tool): New.
39030         ($SHA1SUM): New.
39031         Use it.
39032
39033 2009-08-20  Jim Meyering  <meyering@redhat.com>
39034
39035         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
39036         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
39037         expression that converts "." in a file name to "\." in the resulting
39038         regexp.  Start with a dummy statement, so that prior shell variable
39039         definitions are expanded portably.  Reported by Simon Josefsson.
39040
39041 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
39042
39043         Fix polling for writeability of a screen buffer.
39044         * lib/poll.c: Distinguish input and screen buffers for the
39045         Win32 implementation.
39046         * lib/select.c: Likewise.
39047
39048 2009-08-19  Eric Blake  <ebb9@byu.net>
39049
39050         popen-safer: prevent popen from clobbering std descriptors
39051         * modules/popen-safer: New file.
39052         * lib/popen-safer.c: Likewise.
39053         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
39054         * lib/stdio--.h (popen): Provide override.
39055         * lib/stdio-safer.h (popen_safer): Provide declaration.
39056         * tests/test-popen.c (includes): Partially test this.
39057         * modules/popen-safer-tests: New file, for more tests.
39058         * tests/test-popen-safer.c: Likewise.
39059         * MODULES.html.sh (file stream based Input/Output): Mention it.
39060
39061         tests: test some of the *-safer modules
39062         * modules/fopen-safer (Depends-on): Add fopen.
39063         * modules/fcntl-safer (Depends-on): Add fcntl.
39064         * modules/stdlib-safer (Depends-on): Add stdlib.
39065         (configure.ac): Set indicator.
39066         * modules/unistd-safer (configure.ac): Likewise.
39067         * modules/tmpfile-safer (configure.ac): Likewise.
39068         (Depends-on): Add tmpfile.
39069         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
39070         active.
39071         * tests/test-fopen.c (includes): Test safer versions when they are
39072         in use.
39073         * tests/test-open.c (includes): Likewise.
39074
39075         popen: fix cygwin 1.5 bug when stdin closed
39076         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
39077         * modules/popen: New file.
39078         * modules/popen-tests: Likewise.
39079         * tests/test-popen.c: Likewise.
39080         * m4/popen.m4: Likewise.
39081         * lib/popen.c: Likewise.
39082         * lib/stdio.in.h (popen): New declaration.
39083         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
39084         * modules/stdio (Makefile.am): Likewise.
39085         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
39086
39087 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
39088
39089         maint.mk: give full control over update-copyright exclusions
39090         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
39091         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
39092         (update-copyright): Don't force inclusion of top-level
39093         ChangeLog.  Don't force exclusion of all COPYING files, but make
39094         them the default exclusion instead.
39095
39096 2009-08-16  Bruno Haible  <bruno@clisp.org>
39097
39098         Fix test failures on Solaris 10.
39099         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
39100         tests when Solaris iconv() is used.
39101         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39102         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39103         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39104         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39105         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39106
39107 2009-08-16  Bruno Haible  <bruno@clisp.org>
39108
39109         Fix test failures on Solaris 10.
39110         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
39111         'tr' program and pass it as first argument.
39112         * tests/test-pipe-filter-gi1.sh: Likewise.
39113         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
39114         program as first argument.
39115         * tests/test-pipe-filter-gi1.c (main): Likewise.
39116
39117 2009-08-16  Eric Blake  <ebb9@byu.net>
39118
39119         fpurge: fix previous commits
39120         * modules/fpurge (Makefile.am): Make replacement conditional,
39121         partially reverting 2007-04-29 change; missed in previous
39122         attempt.
39123         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
39124         is missing.
39125
39126 2009-08-16  Bruno Haible  <bruno@clisp.org>
39127
39128         Clarify fpurge's effect on the file position.
39129         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
39130         * tests/test-fpurge.c (main): Make a second pass for checking the file
39131         position.
39132
39133 2009-08-16  Bruno Haible  <bruno@clisp.org>
39134
39135         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
39136         declaration of fpurge is missing.
39137         * tests/test-fpurge.c (main): Check that the file has not more contents
39138         than expected. Close the file before removing it.
39139
39140 2009-08-15  Eric Blake  <ebb9@byu.net>
39141
39142         fpurge: don't wrap working cygwin implementation
39143         * lib/fpurge.c (fpurge): Fix comment typo.
39144         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
39145         1.7 to avoid replacement.
39146         * tests/test-fpurge.c (main): Enhance test.
39147
39148 2009-08-15  Eric Blake  <ebb9@byu.net>
39149         and Jim Meyering  <meyering@redhat.com>
39150
39151         test-update-copyright: skip if perl is insufficient
39152         * tests/test-update-copyright.sh: Failure to run maintainer tool
39153         should not cause testsuite failure on cygwin 1.5.
39154
39155 2009-08-14  Eric Blake  <ebb9@byu.net>
39156
39157         doc: mention more functions added in cygwin 1.7.0
39158         * doc/posix-headers/limits.texi (limits.h): Update for recent
39159         cygwin additions.
39160         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
39161         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
39162         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
39163         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
39164         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
39165
39166 2009-08-14  Eric Blake  <ebb9@byu.net>
39167
39168         maint.mk: simplify update-copyright rule
39169         * top/maint.mk (update-copyright-local): Delete, and document how
39170         to do it in cfg.mk instead.
39171         (update-copyright-exclude-regexp): Delete, and document how to do
39172         it in .x-update-copyright instead.
39173         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
39174         exclude ChangeLog.
39175
39176 2009-08-14  Bruno Haible  <bruno@clisp.org>
39177
39178         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
39179
39180 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39181
39182         maint.mk: support update-copyright-env
39183         * top/maint.mk (update-copyright-env): Define place-holder.
39184         (update-copyright): Expand $(update-copyright-env) before
39185         invoking update-copyright.
39186
39187 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39188
39189         update-copyright: implement forced reformatting
39190         * build-aux/update-copyright: Implement and document
39191         UPDATE_COPYRIGHT_FORCE.
39192         * tests/test-update-copyright.sh: Test it.
39193
39194 2009-08-14  Eric Blake  <ebb9@byu.net>
39195         and Bruno Haible  <bruno@clisp.org>
39196
39197         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
39198         * tests/test-locale.c: Revert previous patch related to NULL.
39199         * tests/test-stdio.c: Likewise.
39200         * tests/test-stdlib.c: Likewise.
39201         * tests/test-string.c: Likewise.
39202         * tests/test-unistd.c: Likewise.
39203         * modules/time-tests (Depends-on): Add verify.
39204         * modules/wchar-tests (Depends-on): Likewise.
39205         * tests/test-time.c: Test for NULL compliance.
39206         * tests/test-wchar.c: Likewise.
39207         * modules/locale (Depends-on): Add stddef.
39208         * modules/stdio (Depends-on): Likewise.
39209         * modules/stdlib (Depends-on): Likewise.
39210         * modules/string (Depends-on): Likewise.
39211         * modules/time (Depends-on): Likewise.
39212         * modules/unistd (Depends-on): Likewise.
39213         * modules/wchar (Depends-on): Likewise.
39214         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
39215         * lib/stdlib.in.h (includes): Likewise.
39216         * lib/string.in.h (includes): Likewise.
39217         * lib/time.in.h (includes): Likewise.
39218         * lib/unistd.in.h (includes): Likewise.
39219         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
39220         replaced.
39221         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39222         * m4/stddef_h.m4: New file.
39223         * modules/stddef: Likewise.
39224         * lib/stddef.in.h: Likewise.
39225         * modules/stddef-tests: Likewise.
39226         * tests/test-stddef.c: Likewise.
39227         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
39228         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
39229         * doc/posix-headers/locale.texi (locale.h): Likewise.
39230         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
39231         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
39232         * doc/posix-headers/string.texi (string.h): Likewise.
39233         * doc/posix-headers/time.texi (time.h): Likewise.
39234         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
39235         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
39236
39237 2009-08-14  Eric Blake  <ebb9@byu.net>
39238
39239         doc: improve git diff of texinfo files
39240         * .gitattributes: Add rule for *.texi files, with hint on how to
39241         use it.
39242         Copied from m4, and based on a report by Bruno Haible.
39243
39244 2009-08-14  Bruno Haible  <bruno@clisp.org>
39245
39246         Disable multithread support by default on Cygwin 1.5.x for real.
39247         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
39248
39249 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
39250
39251         update-copyright: much ado about intervals
39252         * build-aux/update-copyright: Implement and document
39253         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
39254         of copyright year intervals.
39255         Also, document UPDATE_COPYRIGHT_YEAR.
39256         * tests/test-update-copyright.sh: Test it.
39257
39258         update-copyright: convert 2-digit to 4-digit years
39259         * build-aux/update-copyright: Implement and document.
39260         * tests/test-update-copyright.sh: Update.
39261
39262 2009-08-14  Jim Meyering  <meyering@redhat.com>
39263
39264         test-exclude: avoid coreutils "make check" failure
39265         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
39266         just as in test-argmatch.c.
39267
39268 2009-08-13  Eric Blake  <ebb9@byu.net>
39269
39270         test-dup2: fix bad assumption
39271         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
39272         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
39273
39274         test-version-etc: fix CRLF portability issue
39275         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
39276         recognize \r.
39277         * tests/test-argp-version-etc-1.sh: Likewise.
39278
39279         getopt: update client modules
39280         * modules/argp (Depends-on): Use getopt-gnu.
39281         * modules/git-merge-changelog (Depends-on): Likewise.
39282         * modules/long-options (Depends-on): Likewise.
39283         * modules/xstrtol (Depends-on): Likewise.
39284
39285 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39286
39287         * tests/test-version-etc.sh: Don't fail on different
39288         project/version.  Don't fail on CRLF differences.  Rewrite to use
39289         multiple -e instead of multiple sed forks, suggested by Eric Blake
39290         <ebb9@byu.net>.
39291         * tests/test-argp-version-etc-1.sh: Likewise.
39292
39293 2009-08-13  Simon Josefsson  <simon@josefsson.org>
39294
39295         * tests/test-version-etc.sh: Don't fail on different
39296         project/version.
39297
39298 2009-08-12  Bruno Haible  <bruno@clisp.org>
39299
39300         Tests for modules 'getopt-posix', 'getopt-gnu'.
39301         * modules/getopt-posix-tests: New file.
39302         * tests/test-getopt.c: New file.
39303         * tests/test-getopt.h: New file.
39304         * tests/test-getopt_long.h: New file.
39305
39306         New modules 'getopt-posix', 'getopt-gnu'.
39307         * modules/getopt-gnu: New file, renamed from modules/getopt.
39308         * modules/getopt-posix: New file.
39309         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
39310         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
39311         (gl_GETOPT): Remove macro.
39312         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
39313         Disable the test against BSD systems that declare optreset. Test
39314         against mingw bug. Test against lack of support of optional arguments
39315         on many platforms.
39316         * doc/glibc-headers/getopt.texi: Update module name and list of
39317         relevant platforms.
39318         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
39319         'getopt-gnu' and more portability problems.
39320         * NEWS: Mention the changes.
39321
39322 2009-08-12  Bruno Haible  <bruno@clisp.org>
39323
39324         Ensure that optarg etc. get declared by <unistd.h>.
39325         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
39326         AC_USE_SYSTEM_EXTENSIONS.
39327         * modules/getopt (Depends-on): Add 'extensions'.
39328
39329 2009-08-12  Bruno Haible  <bruno@clisp.org>
39330
39331         Avoid test link errors.
39332         * modules/pipe-filter-ii-tests (Makefile.am): Define
39333         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
39334         * modules/pipe-filter-gi-tests (Makefile.am): Define
39335         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
39336         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39337
39338 2009-08-12  Bruno Haible  <bruno@clisp.org>
39339
39340         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
39341         gl_GETOPT_SUBSTITUTE before.
39342         (gl_GETOPT): Use it.
39343         * m4/argp.m4 (gl_ARGP): Update.
39344         Reported by Sergey Poznyakoff.
39345
39346         * m4/getopt.m4: Reorder macros.
39347         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
39348         (gl_GETOPT_SUBSTITUTE): Remove macro.
39349
39350 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39351
39352         Minor improvement in gitlog-to-changelog
39353
39354         * build-aux/gitlog-to-changelog: New option `--format' makes
39355         output format string configurable.
39356
39357 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39358
39359         Optimize exclude: use hash tables for non-wildcard patterns.
39360
39361         * lib/exclude.c: Include hash.h and mbuiter.h
39362         (struct exclude_pattern, exclude_segment): New data types.
39363         (struct exclude): Rewrite.
39364         (fnmatch_pattern_has_wildcards): New function.
39365         (new_exclude_segment, free_exclude_segment): New functions.
39366         (excluded_file_pattern_p, excluded_file_name_p): New functions.
39367         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
39368         * lib/exclude.h (is_fnmatch_pattern): New prototype.
39369         * modules/exclude: Depend on hash and mbuiter.
39370
39371         * modules/exclude-tests: New file.
39372         * tests/test-exclude.c: New file.
39373         * tests/test-exclude1.sh: New file.
39374         * tests/test-exclude2.sh: New file.
39375         * tests/test-exclude3.sh: New file.
39376         * tests/test-exclude4.sh: New file.
39377         * tests/test-exclude5.sh: New file.
39378         * tests/test-exclude6.sh: New file.
39379         * tests/test-exclude7.sh: New file.
39380
39381 2009-08-12  Bruno Haible  <bruno@clisp.org>
39382
39383         Ensure that getopt() gets declared by <unistd.h>.
39384         * lib/unistd.in.h: Conditionally include getopt.h.
39385         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
39386         Set GNULIB_UNISTD_H_GETOPT.
39387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39388         GNULIB_UNISTD_H_GETOPT.
39389         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
39390
39391 2009-08-12  Bruno Haible  <bruno@clisp.org>
39392
39393         Clarify logic.
39394         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
39395         gl_replace_getopt instead of GETOPT_H.
39396
39397 2009-08-12  Bruno Haible  <bruno@clisp.org>
39398
39399         * m4/getopt.m4: Add comments.
39400
39401 2009-08-12  Bruno Haible  <bruno@clisp.org>
39402
39403         Disable multithread support by default on Cygwin 1.5.x.
39404         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
39405         set gl_use_threads=no if not specified otherwise.
39406
39407 2009-08-11  Bruno Haible  <bruno@clisp.org>
39408
39409         Avoid compilation error on NetBSD 5.0.
39410         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
39411         * tests/test-stdio.c: Likewise.
39412         * tests/test-stdlib.c: Likewise.
39413         * tests/test-string.c: Likewise.
39414         * tests/test-unistd.c: Likewise.
39415         Reported by Greg Troxel <gdt@ir.bbn.com>
39416         at <https://savannah.gnu.org/support/?106973>.
39417
39418 2009-08-11  Bruno Haible  <bruno@clisp.org>
39419
39420         * modules/dup2-tests (Depends-on): Remove close.
39421
39422         Undo 2009-07-19 commit.
39423         * modules/acl-tests (Depends-on): Remove close.
39424         * modules/binary-io-tests (Depends-on): Likewise.
39425         * modules/closein-tests (Depends-on): Likewise.
39426         * modules/flock-tests (Depends-on): Likewise.
39427         * modules/fsync-tests (Depends-on): Likewise.
39428         * modules/lseek-tests (Depends-on): Likewise.
39429         * modules/pipe-tests (Depends-on): Likewise.
39430         * modules/posix_spawn-tests (Depends-on): Likewise.
39431         * modules/posix_spawnp-tests (Depends-on): Likewise.
39432         * modules/stat-time-tests (Depends-on): Likewise.
39433         * modules/yesno-tests (Depends-on): Likewise.
39434
39435 2009-08-10  Bruno Haible  <bruno@clisp.org>
39436
39437         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
39438
39439 2009-08-10  Bruno Haible  <bruno@clisp.org>
39440
39441         Fix a gcc warning.
39442         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
39443
39444 2009-08-10  Bruno Haible  <bruno@clisp.org>
39445
39446         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
39447         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
39448         not only the first time.
39449         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
39450         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
39451         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
39452         is 1, not only the the first time.
39453
39454 2009-08-10  Bruno Haible  <bruno@clisp.org>
39455
39456         Make it possible to use module 'gethostname' without module 'close'.
39457         * lib/unistd.in.h (close): Evoke a link error only if
39458         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39459         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39460         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39461         * modules/unistd (Makefile.am): Substitute
39462         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39463         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
39464         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
39465         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
39466         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39467         * modules/sys_ioctl (Makefile.am): Substitute
39468         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39469         * modules/socket (configure.ac): On native Windows, set
39470         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
39471         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
39472         Reported by Sam Steingold <sds@gnu.org>.
39473
39474 2009-08-10  Bruno Haible  <bruno@clisp.org>
39475
39476         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
39477         * modules/ioctl (configure.ac): Likewise.
39478
39479 2009-08-10  Bruno Haible  <bruno@clisp.org>
39480
39481         Avoid collision between gnulib wrapper and libintl wrapper.
39482         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
39483         already defined in intl/printf.c.
39484         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
39485         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
39486
39487 2009-08-09  Bruno Haible  <bruno@clisp.org>
39488
39489         Make <sys/select.h> really self-contained, also on Solaris 10.
39490         * lib/sys_select.in.h: Include <string.h>.
39491         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
39492         Solaris 10 problem.
39493         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
39494         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
39495         Reported by Jim Meyering.
39496
39497 2009-08-09  Bruno Haible  <bruno@clisp.org>
39498
39499         Avoid warnings from 'aclocal' that are due to a use of macro name
39500         AM_XGETTEXT_OPTION that is not defined in automake.
39501         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
39502         automake.
39503         * modules/error (configure.ac): Likewise.
39504         * modules/propername (configure.ac): Likewise.
39505         * modules/vasprintf (configure.ac): Likewise.
39506         * modules/verror (configure.ac): Likewise.
39507         * modules/xprintf (configure.ac): Likewise.
39508         * modules/xvasprintf (configure.ac): Likewise.
39509
39510 2009-08-08  Bruno Haible  <bruno@clisp.org>
39511
39512         Avoid compilation error in C++ mode.
39513         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
39514         Reported by Sam Steingold <sds@gnu.org>.
39515
39516 2009-08-08  Bruno Haible  <bruno@clisp.org>
39517
39518         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
39519         for the various Unix platforms.
39520         * doc/posix-headers/limits.texi: Update platforms list regarding
39521         HOST_NAME_MAX.
39522         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39523
39524 2009-08-07  Jim Meyering  <meyering@redhat.com>
39525
39526         selinux-at: fix typo in a comment
39527         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
39528         Spotted by Paolo Bonzini.
39529
39530         selinux-at: remove redundant m4 code, add documentation
39531         * modules/selinux-at (configure.ac): Remove redundant code.
39532         LIB_SELINUX is already set via the dependent module, selinux-h.
39533         (Include): Add quotes around selinux-at.h.
39534         * lib/selinux-at.h: Add documentation.
39535         Reported by Bruno Haible in
39536         http://marc.info/?l=gnulib-bug&m=124958988300749
39537
39538 2009-08-07  Bruno Haible  <bruno@clisp.org>
39539
39540         Avoid link error on MacOS X 10.3 and 10.4.
39541         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
39542         on non-ELF systems.
39543         * lib/argp-pv.c (argp_program_version): Likewise.
39544         Reported by Simon Josefsson.
39545
39546 2009-08-07  Simon Josefsson  <simon@josefsson.org>
39547
39548         * tests/test-version-etc.sh: Use $EXEEXT.
39549
39550 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
39551
39552         update-copyright: update documentation to point to maint.mk
39553         * build-aux/update-copyright: Here.
39554
39555 2009-08-06  Jim Meyering  <meyering@redhat.com>
39556
39557         maint.mk: support update-copyright-local
39558         * top/maint.mk (update-copyright-local): Define place-holder.
39559         (update-copyright): Depend on $(update-copyright-local).
39560
39561 2009-08-06  Jim Meyering  <meyering@redhat.com>
39562
39563         selinux-at: new module
39564         Initially written for coreutils, this module will soon be
39565         used by findutils, too.
39566         * MODULES.html.sh [Misc]: Add selinux-at.
39567         * lib/selinux-at.h: New file, from coreutils.
39568         * lib/selinux-at.c: Likewise.
39569         * modules/selinux-at: Likewise.
39570         (License): Change from LGPL to GPL, since it depends
39571         on the GPL'd openat module.
39572
39573         doc: update README
39574         * README: Remove references to cogito.
39575         Remove cvs-repo-updating instructions from 2007.
39576         Don't imply that CVS is better if you have limited disk space.
39577
39578 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39579
39580         update-copyright: support C-style comments
39581         * build-aux/update-copyright: Implement and document.
39582         * tests/test-update-copyright.sh: Test.
39583
39584 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39585
39586         update-copyright: support omitted "(C)"
39587         * build-aux/update-copyright: Implement and document.  Also,
39588         allow variable whitespace before "(C)".
39589         * tests/test-update-copyright.sh: Test.
39590
39591 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39592
39593         update-copyright: don't trip on non-FSF copyright statements
39594         * build-aux/update-copyright: Fix so that the first correctly
39595         formatted FSF copyright statement is recognized no matter what
39596         appears before it.  Update documentation.
39597         * tests/test-update-copyright.sh: Test that.
39598
39599 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39600
39601         update-copyright: clean up code a little
39602         * build-aux/update-copyright: Append "_re" to the name of any
39603         variable holding a regular expression.
39604         Replace "old" and "new" with "stmt" in variable names.
39605         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
39606         handled correctly.
39607         Format code more consistently.
39608
39609 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
39610
39611         update-copyright-tests: improve portability
39612         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
39613         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
39614
39615 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39616
39617         update-copyright: support @copyright{} and &copy;
39618         * build-aux/update-copyright: Implement and document.
39619         * tests/test-update-copyright.sh: Test.
39620
39621 2009-08-04  Jim Meyering  <meyering@redhat.com>
39622
39623         update-copyright-tests: correctly test EOL=\r\n handling
39624         * tests/test-update-copyright.sh: Put \r at the end of some lines
39625         for the dos-eol tests.  Based on a patch by Joel E. Denny.
39626
39627         maint.mk: make update-copyright exclusion list more configurable
39628         * top/maint.mk (update-copyright): Default to excluding COPYING,
39629         but allow an override, in case someone does want to update that file.
39630
39631         maint.mk: don't update copyright date in COPYING
39632         * top/maint.mk (update-copyright): Exclude COPYING.
39633
39634         maint.mk: add a copyright-updating rule
39635         * top/maint.mk (update-copyright): New rule.
39636         Derived from coreutils/Makefile.am.
39637
39638         update-copyright: rename some variables
39639         * build-aux/update-copyright: Rename a few variables for clarity.
39640         Tweak syntax.  List Joel E. Denny as coauthor.
39641
39642 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
39643
39644         update-copyright: fix bug for 2-digit last year and add tests
39645         * build-aux/update-copyright: Fix bug.
39646         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
39647         specified.
39648         * modules/update-copyright-tests: New
39649         * tests/test-update-copyright.sh: New.
39650
39651 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39652
39653         update-copyright: handle leading tabs in line prefix
39654         * build-aux/update-copyright: Count leading tabs as 8 spaces
39655         when computing margin.  This helps with the formatting of
39656         ChangeLogs, for example.
39657         Fix documentation a little.
39658
39659 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39660
39661         update-copyright: support EOL=\r\n
39662         * build-aux/update-copyright: Implement that.
39663
39664 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
39665
39666         update-copyright: automatically format copyright statements
39667         * build-aux/update-copyright: Implement that.
39668         Also, be a little more predictable and safer by always failing
39669         when the full copyright format is not perfectly recognized as an
39670         unbroken whole.  Discussed at
39671         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
39672         Rewrite documentation.
39673
39674 2009-08-03  Bruno Haible  <bruno@clisp.org>
39675
39676         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
39677
39678 2009-08-02  Bruno Haible  <bruno@clisp.org>
39679
39680         Tests for module 'uname'.
39681         * modules/uname-tests: New file.
39682         * tests/test-uname.c: New file.
39683
39684         New module 'uname'.
39685         * lib/uname.c: New file.
39686         * m4/uname.m4: New file.
39687         * modules/uname: New file.
39688         * doc/posix-functions/uname.texi: Mention the new module.
39689
39690 2009-08-02  Bruno Haible  <bruno@clisp.org>
39691
39692         Tests for module 'sys_utsname'.
39693         * modules/sys_utsname-tests: New file.
39694         * tests/test-sys_utsname.c: New file.
39695
39696         New module 'sys_utsname'.
39697         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
39698         * m4/sys_utsname_h.m4: New file.
39699         * modules/sys_utsname: New file.
39700         * doc/posix-headers/sys_utsname.texi: Mention the new module.
39701
39702 2009-08-02  Bruno Haible  <bruno@clisp.org>
39703
39704         Implicitly initialize the sockets library.
39705         * lib/gethostname.c: Include sockets.h.
39706         (rpl_gethostname): Invoke gl_sockets_startup.
39707         * lib/socket.c: Include sockets.h.
39708         (rpl_socket): Invoke gl_sockets_startup.
39709         * modules/gethostname (Depends-on): Add sockets.
39710         * modules/socket (Depends-on): Likewise.
39711         * tests/test-poll.c: Don't include sockets.h.
39712         (main): Don't invoke gl_sockets_startup.
39713         * tests/test-select.c: Don't include sockets.h.
39714         (main): Don't invoke gl_sockets_startup.
39715
39716 2009-08-02  Bruno Haible  <bruno@clisp.org>
39717
39718         Allow multiple calls to gl_sockets_startup.
39719         * lib/sockets.c (initialized_sockets_version): New variable.
39720         (gl_sockets_startup): Do nothing if already called for this or a higher
39721         version.
39722         (gl_sockets_cleanup): Reset initialized_sockets_version.
39723
39724 2009-08-03  Simon Josefsson  <simon@josefsson.org>
39725
39726         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
39727         different project/version.
39728
39729 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
39730             Bruno Haible  <bruno@clisp.org>
39731
39732         Tests for module 'pipe-filter-gi'.
39733         * modules/pipe-filter-gi-tests: New file.
39734         * tests/test-pipe-filter-gi1.sh: New file.
39735         * tests/test-pipe-filter-gi1.c: New file.
39736         * tests/test-pipe-filter-gi2.sh: New file.
39737         * tests/test-pipe-filter-gi2-main.c: New file.
39738         * tests/test-pipe-filter-gi2-child.c: New file.
39739
39740         New module 'pipe-filter-gi'.
39741         * lib/pipe-filter-gi.c: New file.
39742         * modules/pipe-filter-gi: New file.
39743
39744 2009-08-02  Bruno Haible  <bruno@clisp.org>
39745             Paolo Bonzini  <bonzini@gnu.org>
39746
39747         Tests for module 'pipe-filter-ii'.
39748         * modules/pipe-filter-ii-tests: New file.
39749         * tests/test-pipe-filter-ii1.sh: New file.
39750         * tests/test-pipe-filter-ii1.c: New file.
39751         * tests/test-pipe-filter-ii2.sh: New file.
39752         * tests/test-pipe-filter-ii2-main.c: New file.
39753         * tests/test-pipe-filter-ii2-child.c: New file.
39754
39755         New module 'pipe-filter-ii'.
39756         * lib/pipe-filter.h: New file.
39757         * lib/pipe-filter-ii.c: New file.
39758         * lib/pipe-filter-aux.h: New file.
39759         * modules/pipe-filter-ii: New file.
39760
39761 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39762
39763         * lib/gc-libgcrypt.c: Change copyright to FSF.
39764         * lib/gc-gnulib.c: Likewise.
39765
39766 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
39767
39768         * lib/gethostname.c: Include limits.h.
39769
39770 2009-08-02  Simon Josefsson  <simon@josefsson.org>
39771             Bruno Haible  <bruno@clisp.org>
39772
39773         Ensure HOST_NAME_MAX as part of the gethostname module.
39774         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
39775         define also HOST_NAME_MAX.
39776         * tests/test-gethostname.c: Include <limits.h>.
39777         (main): Check also HOST_NAME_MAX.
39778         * doc/posix-headers/limits.texi: Document the mingw problem.
39779
39780 2009-08-02  Bruno Haible  <bruno@clisp.org>
39781
39782         * lib/gethostname.c (gethostname): Fix handling of large len argument.
39783         Add comments.
39784
39785 2009-03-31  Simon Josefsson  <simon@josefsson.org>
39786
39787         * lib/gethostname.c: Add Windows wrapper.
39788         * m4/gethostname.m4: Look for gethostname in -lws2_32.
39789         * modules/gethostname: Depend on sys_socket & errno, for also
39790         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
39791         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
39792
39793 2009-07-31  Jim Meyering  <meyering@redhat.com>
39794
39795         getloadavg: fix symbol name in comment
39796         * lib/getloadavg.c: Correct a typo I introduced when adding
39797         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
39798         Matt Kraai spotted the problem.
39799
39800 2009-07-29  Matt Kraai  <mkraai@beckman.com>
39801
39802         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
39803         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
39804         code also if ! defined N_NAME_POINTER.
39805         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
39806         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
39807         but the n_name member is a 12-byte array.
39808
39809 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
39810
39811         update-copyright: generalize comment handling
39812         * build-aux/update-copyright: Handle copyright statements
39813         within more comment styles.
39814         Document usage.
39815         Report any file with an external copyright holder or parse failure.
39816
39817 2009-07-29  Jim Meyering  <meyering@redhat.com>
39818
39819         mktime: correct setting of REPLACE_MKTIME
39820         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
39821
39822         update-copyright: new module
39823         * modules/update-copyright: New file.
39824         * build-aux/update-copyright: New file.
39825         * MODULES.html.sh (maint+release support): Add update-copyright.
39826
39827 2009-07-27  Bruno Haible  <bruno@clisp.org>
39828
39829         Fix compilation error when <ctime> is used and mktime is replaced.
39830         * lib/time.in.h (mktime): New declaration.
39831         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
39832         REPLACE_MKTIME instead of defining mktime in config.h.
39833         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
39834         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
39835         Reported by Ross McFarland <rwmcfa1@neces.com>.
39836
39837 2009-07-27  Bruno Haible  <bruno@clisp.org>
39838
39839         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
39840         Reported by Matt Kraai <mkraai@beckman.com>.
39841
39842 2009-07-25  Jim Meyering  <meyering@redhat.com>
39843
39844         maint.mk: avoid warnings about missing files
39845         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
39846         diagnostic when .prev-version does not exist.
39847         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
39848         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
39849         nonexistent cfg.mk.
39850         Suggestions from Simon Josefsson.
39851
39852 2009-07-25  Bruno Haible  <bruno@clisp.org>
39853
39854         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
39855         defined as macros. Needed on QNX 6.4.1.
39856         Reported by Matt Kraai <mkraai@beckman.com>.
39857
39858 2009-07-23  Jim Meyering  <meyering@redhat.com>
39859
39860         maint.mk: invoke "make dist" with a working value of XZ_OPT
39861         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
39862
39863 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
39864
39865         Make fseeko.c compile on QNX.
39866         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
39867
39868 2009-07-22  Peter Simons  <simons@cryp.to>
39869
39870         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
39871         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
39872         * lib/md4.h: Likewise.
39873         * lib/md5.h: Likewise.
39874         * lib/sha1.h: Likewise.
39875         * lib/sha256.h: Likewise.
39876         * lib/sha512.h: Likewise.
39877
39878         tests-sha1: don't assign literal string to 'char *' variable
39879         * tests/test-sha1.c (main): Declare locals with "const" to match
39880         attributes of the right hand side.
39881
39882 2009-07-21  Eric Blake  <ebb9@byu.net>
39883
39884         dup2: fix more mingw problems
39885         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
39886         fd to itself.
39887         * doc/posix-functions/dup2.texi (dup2): Document the bug.
39888         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
39889         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
39890         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
39891         care of mingw bugs.
39892
39893 2009-07-21  Jim Meyering  <meyering@redhat.com>
39894
39895         vc-list-files: avoid failure when /bin/sh is dash
39896         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
39897         On some Debian based systems, /bin/sh is a symlink to dash, and running
39898         this command would omit the "/" following each 'tests' prefix:
39899           dash -x build-aux/vc-list-files -C . tests
39900         That is because bash and dash work differently:
39901           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
39902           bash ok
39903           dash odd
39904
39905 2009-07-21  Eric Blake  <ebb9@byu.net>
39906
39907         dup2-tests: test previous patch
39908         * modules/dup2-tests: New file.
39909         * tests/test-dup2.c: Likewise.
39910         * tests/test-open.c (main): Avoid unspecified behavior.
39911         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
39912         test.
39913
39914         dup2: work around mingw and cygwin 1.5 bug
39915         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
39916         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39917         * modules/unistd (Makefile.am): Substitute it.
39918         * lib/unistd.in.h (dup2): Declare the replacement.
39919         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
39920         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
39921         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
39922         * modules/execute (Depends-on): Add dup2.
39923         * modules/fseterr (Depends-on): Likewise.
39924         * modules/pipe (Depends-on): Likewise.
39925         * modules/posix_spawn-internal (Depends-on): Likewise.
39926
39927 2009-07-21  Bruno Haible  <bruno@clisp.org>
39928
39929         * modules/.gitattributes: New file.
39930
39931 2009-07-20  Bruno Haible  <bruno@clisp.org>
39932
39933         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
39934         (main): Use it.
39935
39936 2009-07-20  Eric Blake  <ebb9@byu.net>
39937
39938         test-pipe: make a bit more robust.
39939         * tests/test-pipe.c (myerr): Allow error messages regardless of
39940         what we do to stderr.
39941         (test_pipe): Rearrange to avoid deadlock.
39942         (child_main): Try a larger read, to ensure we avoided deadlock.
39943         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
39944         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
39945         if misused.
39946
39947 2009-07-19  Jim Meyering  <meyering@redhat.com>
39948
39949         fts: avoid false-positive cycle-detection
39950         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
39951         for each new command line argument.
39952
39953 2009-07-19  Bruno Haible  <bruno@clisp.org>
39954
39955         Fix build error on mingw with the modules sys_select and unistd.
39956         * modules/acl-tests (Depends-on): Add close.
39957         * modules/binary-io-tests (Depends-on): Likewise.
39958         * modules/closein-tests (Depends-on): Likewise.
39959         * modules/flock-tests (Depends-on): Likewise.
39960         * modules/fsync-tests (Depends-on): Likewise.
39961         * modules/lseek-tests (Depends-on): Likewise.
39962         * modules/pipe-tests (Depends-on): Likewise.
39963         * modules/posix_spawn-tests (Depends-on): Likewise.
39964         * modules/posix_spawnp-tests (Depends-on): Likewise.
39965         * modules/stat-time-tests (Depends-on): Likewise.
39966         * modules/yesno-tests (Depends-on): Likewise.
39967
39968 2009-07-19  Bruno Haible  <bruno@clisp.org>
39969
39970         Unify conditionals.
39971         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
39972         macros, not at the compiler macros.
39973         * lib/pipe.c: Likewise.
39974         * lib/execute.c: Likewise.
39975         * lib/spawni.c: Likewise.
39976
39977 2009-07-19  Bruno Haible  <bruno@clisp.org>
39978
39979         Fix handling of closed stdin/stdout/stderr on mingw.
39980         * lib/w32spawn.h: Include unistd.h.
39981         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
39982         file descriptor with O_NOINHERIT flag.
39983         (fd_safer_noinherit): New function, based on fd-safer.c.
39984         (dup_safer_noinherit): New function, based on dup-safer.c.
39985         (undup_safer_noinherit): New function.
39986         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
39987         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
39988         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
39989         instead of fd_safer.
39990         * tests/test-pipe.c: Include <windows.h>.
39991         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
39992         result.
39993
39994         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
39995         from main.
39996         (test_pipe): Pass an extra argument for disambiguation.
39997         (main): Invoke parent_main or child_main.
39998
39999         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
40000         consistently.
40001
40002 2009-07-18  Eric Blake  <ebb9@byu.net>
40003
40004         test-pipe: fix mingw build
40005         * tests/test-pipe.c (main): Avoid fcntl on mingw.
40006
40007 2009-07-18  Bruno Haible  <bruno@clisp.org>
40008
40009         * modules/pipe-tests (Makefile.am): Fix typo.
40010
40011 2009-07-18  Eric Blake  <ebb9@byu.net>
40012
40013         error: fix mingw build
40014         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
40015         Reported by Bruno Haible.
40016
40017         error: avoid undefined use of stdout
40018         * lib/error.c (error, error_at_line): Check that fd 1 is open
40019         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
40020         is handling faults and the close_stdout module wants to report the
40021         detection of closed stdout as an error.
40022
40023 2009-07-17  Eric Blake  <ebb9@byu.net>
40024
40025         pipe: be robust in face of closed fds
40026         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
40027         should cause child to misbehave.
40028         * modules/pipe-tests: New module.
40029         * tests/test-pipe.c: New file.
40030         * tests/test-pipe.sh: New file.
40031         Reported by Akim Demaille.
40032
40033 2009-07-14  Bruno Haible  <bruno@clisp.org>
40034
40035         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
40036         Reported by anonymous kc.
40037
40038 2009-07-07  Jim Meyering  <meyering@redhat.com>
40039
40040         maint.mk: don't look for translatable strings in *.m4 or *.mk
40041         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
40042         when searching for translatable strings.
40043
40044 2009-07-05  Jim Meyering  <meyering@redhat.com>
40045
40046         remove superfluous parentheses in STREQ definition
40047         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
40048         * lib/getugroups.c (STREQ): Likewise.
40049         * lib/fnmatch.c (STREQ): Likewise.
40050         Spotted by Bruno Haible.
40051
40052 2009-07-04  Jim Meyering  <meyering@redhat.com>
40053
40054         argv-iter: new module
40055         * MODULES.html.sh: Add argv-iter.
40056         * lib/argv-iter.c, lib/argv-iter.h: New files.
40057         * modules/argv-iter: New file.
40058         * modules/argv-iter-tests: New file.
40059         * tests/test-argv-iter.c: Test it.
40060
40061 2009-07-04  Bruno Haible  <bruno@clisp.org>
40062
40063         Fix assertion.
40064         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
40065         contains more exact copies of a given entry than file2, leave the extra
40066         copies unpaired rather than aborting.
40067         Reported by Eric Blake.
40068
40069 2009-07-02  Bruno Haible  <bruno@clisp.org>
40070
40071         Speedup git-merge-changelog for git cherry-pick.
40072         * lib/git-merge-changelog.c (struct entries_mapping): New type.
40073         (entries_mapping_get): New function, extracted from compute_mapping.
40074         (entries_mapping_reverse_get): New function.
40075         (compute_mapping): Add a 'full' argument. Return the result in a
40076         'struct entries_mapping'.
40077         (main): Update. Access the mappings through entries_mapping_get.
40078         Reported by Eric Blake.
40079
40080 2009-07-02  Bruno Haible  <bruno@clisp.org>
40081
40082         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
40083         best_i.
40084
40085 2009-07-02  Bruno Haible  <bruno@clisp.org>
40086
40087         Speed up approximate search for matching ChangeLog entries.
40088         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
40089         argument. Call fstrcmp_bounded instead of fstrcmp.
40090         (compute_mapping, try_split_merged_entry, main): Update callers.
40091
40092 2009-07-02  Bruno Haible  <bruno@clisp.org>
40093
40094         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
40095
40096 2009-06-30  Bruno Haible  <bruno@clisp.org>
40097
40098         Reduce the number of uc_is_cased calls.
40099         * lib/unicase.h (casing_suffix_context_t): Add
40100         'first_char_except_ignorable' field.
40101         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
40102         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
40103         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
40104         Update initializer.
40105         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
40106         case-ignorable characters.
40107         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
40108         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
40109         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
40110         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
40111         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
40112
40113 2009-06-30  Bruno Haible  <bruno@clisp.org>
40114
40115         Tests for module 'unicase/ignorable'.
40116         * modules/unicase/ignorable-tests: New file.
40117         * tests/unicase/test-ignorable.c: New file, generated by
40118         gen-uni-tables.
40119
40120         Tests for module 'unicase/cased'.
40121         * modules/unicase/cased-tests: New file.
40122         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
40123         * tests/unicase/test-predicate-part1.h: New file, derived from
40124         tests/unictype/test-predicate-part1.h.
40125         * tests/unicase/test-predicate-part2.h: New file, same as
40126         tests/unictype/test-predicate-part2.h.
40127
40128         Fix evaluation of "Before C" condition of FINAL_SIGMA.
40129         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
40130         (output_casing_properties): New function.
40131         (main): Call it.
40132         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
40133         * lib/unicase/cased.c: Include unictype/bitmap.h.
40134         (uc_is_cased): Define through a bitmap lookup.
40135         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
40136         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
40137         (uc_is_case_ignorable): Define through a bitmap lookup.
40138         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
40139         lib/unictype/bitmap.h.
40140         (Depends-on): Add inline. Clean up.
40141         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
40142         lib/unictype/bitmap.h.
40143         (Depends-on): Add inline. Clean up.
40144         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
40145         recognition.
40146         * tests/unicase/test-u16-tolower.c (main): Likewise.
40147         * tests/unicase/test-u32-tolower.c (main): Likewise.
40148
40149 2009-06-30  Bruno Haible  <bruno@clisp.org>
40150
40151         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
40152         * lib/unicase/u16-casemap.c: Likewise.
40153         * lib/unicase/u32-casemap.c: Likewise.
40154
40155 2009-06-29  Bruno Haible  <bruno@clisp.org>
40156
40157         Define u32_casefold as a wrapper around u32_ct_casefold.
40158         * lib/unicase/u32-casefold.c: Update.
40159         * modules/unicase/u32-casefold (Depends-on): Add
40160         unicase/u32-ct-casefold, unicase/empty-prefix-context,
40161         unicase/empty-suffix-context. Clean up.
40162
40163         Define u16_casefold as a wrapper around u16_ct_casefold.
40164         * lib/unicase/u16-casefold.c: Update.
40165         * modules/unicase/u16-casefold (Depends-on): Add
40166         unicase/u16-ct-casefold, unicase/empty-prefix-context,
40167         unicase/empty-suffix-context. Clean up.
40168
40169         Define u8_casefold as a wrapper around u8_ct_casefold.
40170         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
40171         * lib/unicase/u8-casefold.c: Update.
40172         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
40173         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40174
40175         Define u32_totitle as a wrapper around u32_ct_totitle.
40176         * lib/unicase/u32-totitle.c: Update.
40177         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
40178         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40179
40180         Define u16_totitle as a wrapper around u16_ct_totitle.
40181         * lib/unicase/u16-totitle.c: Update.
40182         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
40183         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40184
40185         Define u8_totitle as a wrapper around u8_ct_totitle.
40186         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
40187         functions.
40188         (FUNC): Delegate to U_CT_TOTITLE.
40189         * lib/unicase/u8-totitle.c: Update.
40190         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
40191         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
40192
40193         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
40194         invocation.
40195         * modules/unicase/u32-tolower (Depends-on): Add
40196         unicase/empty-prefix-context, unicase/empty-suffix-context.
40197
40198         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
40199         invocation.
40200         * modules/unicase/u16-tolower (Depends-on): Add
40201         unicase/empty-prefix-context, unicase/empty-suffix-context.
40202
40203         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
40204         * modules/unicase/u8-tolower (Depends-on): Add
40205         unicase/empty-prefix-context, unicase/empty-suffix-context.
40206
40207         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
40208         invocation.
40209         * modules/unicase/u32-toupper (Depends-on): Add
40210         unicase/empty-prefix-context, unicase/empty-suffix-context.
40211
40212         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
40213         invocation.
40214         * modules/unicase/u16-toupper (Depends-on): Add
40215         unicase/empty-prefix-context, unicase/empty-suffix-context.
40216
40217         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
40218         * modules/unicase/u8-toupper (Depends-on): Add
40219         unicase/empty-prefix-context, unicase/empty-suffix-context.
40220
40221         New module 'unicase/u32-ct-casefold'.
40222         * lib/unicase/u32-ct-casefold.c: New file.
40223         * modules/unicase/u32-ct-casefold: New file.
40224
40225         New module 'unicase/u16-ct-casefold'.
40226         * lib/unicase/u16-ct-casefold.c: New file.
40227         * modules/unicase/u16-ct-casefold: New file.
40228
40229         New module 'unicase/u8-ct-casefold'.
40230         * lib/unicase/u8-ct-casefold.c: New file.
40231         * lib/unicase/u-ct-casefold.h: New file, derived from
40232         lib/unicase/u-casefold.h.
40233         * modules/unicase/u8-ct-casefold: New file.
40234
40235         New module 'unicase/u32-ct-totitle'.
40236         * lib/unicase/u32-ct-totitle.c: New file.
40237         * modules/unicase/u32-ct-totitle: New file.
40238
40239         New module 'unicase/u16-ct-totitle'.
40240         * lib/unicase/u16-ct-totitle.c: New file.
40241         * modules/unicase/u16-ct-totitle: New file.
40242
40243         New module 'unicase/u8-ct-totitle'.
40244         * lib/unicase/u8-ct-totitle.c: New file.
40245         * lib/unicase/u-ct-totitle.h: New file, derived from
40246         lib/unicase/u-totitle.h.
40247         * modules/unicase/u8-ct-totitle: New file.
40248
40249         New module 'unicase/u32-ct-tolower'.
40250         * lib/unicase/u32-ct-tolower.c: New file.
40251         * modules/unicase/u32-ct-tolower: New file.
40252
40253         New module 'unicase/u16-ct-tolower'.
40254         * lib/unicase/u16-ct-tolower.c: New file.
40255         * modules/unicase/u16-ct-tolower: New file.
40256
40257         New module 'unicase/u8-ct-tolower'.
40258         * lib/unicase/u8-ct-tolower.c: New file.
40259         * modules/unicase/u8-ct-tolower: New file.
40260
40261         New module 'unicase/u32-ct-toupper'.
40262         * lib/unicase/u32-ct-toupper.c: New file.
40263         * modules/unicase/u32-ct-toupper: New file.
40264
40265         New module 'unicase/u16-ct-toupper'.
40266         * lib/unicase/u16-ct-toupper.c: New file.
40267         * modules/unicase/u16-ct-toupper: New file.
40268
40269         New module 'unicase/u8-ct-toupper'.
40270         * lib/unicase/u8-ct-toupper.c: New file.
40271         * modules/unicase/u8-ct-toupper: New file.
40272
40273         Add context arguments to u*_casemap functions.
40274         * lib/unicase/unicasemap.h: Include unicase.h.
40275         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
40276         suffix_context arguments.
40277         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
40278         functions.
40279         (FUNC): Add prefix_context and suffix_context arguments. Use
40280         uc_is_cased and uc_is_case_ignorable.
40281         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
40282         * lib/unicase/u16-casemap.c: Likewise.
40283         * lib/unicase/u32-casemap.c: Likewise.
40284         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
40285         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40286         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
40287         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40288         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
40289         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
40290
40291         New module 'unicase/u32-suffix-context'.
40292         * lib/unicase/u32-suffix-context.c: New file.
40293         * modules/unicase/u32-suffix-context: New file.
40294
40295         New module 'unicase/u16-suffix-context'.
40296         * lib/unicase/u16-suffix-context.c: New file.
40297         * modules/unicase/u16-suffix-context: New file.
40298
40299         New module 'unicase/u8-suffix-context'.
40300         * lib/unicase/u8-suffix-context.c: New file.
40301         * lib/unicase/u-suffix-context.h: New file.
40302         * modules/unicase/u8-suffix-context: New file.
40303
40304         New module 'unicase/empty-suffix-context'.
40305         * lib/unicase/empty-suffix-context.c: New file.
40306         * modules/unicase/empty-suffix-context: New file.
40307
40308         New module 'unicase/u32-prefix-context'.
40309         * lib/unicase/u32-prefix-context.c: New file.
40310         * modules/unicase/u32-prefix-context: New file.
40311
40312         New module 'unicase/u16-prefix-context'.
40313         * lib/unicase/u16-prefix-context.c: New file.
40314         * modules/unicase/u16-prefix-context: New file.
40315
40316         New module 'unicase/u8-prefix-context'.
40317         * lib/unicase/u8-prefix-context.c: New file.
40318         * lib/unicase/u-prefix-context.h: New file.
40319         * lib/unicase/context.h: New file.
40320         * modules/unicase/u8-prefix-context: New file.
40321
40322         New module 'unicase/empty-prefix-context'.
40323         * lib/unicase/empty-prefix-context.c: New file.
40324         * modules/unicase/empty-prefix-context: New file.
40325
40326         New module 'unicase/ignorable'.
40327         * lib/unicase/ignorable.c: New file.
40328         * modules/unicase/ignorable: New file.
40329
40330         New module 'unicase/cased'.
40331         * lib/unicase/caseprop.h: New file.
40332         * lib/unicase/cased.c: New file.
40333         * modules/unicase/cased: New file.
40334
40335         New functions for case mapping of substrings.
40336         * lib/unicase.h (casing_prefix_context_t): New type.
40337         (unicase_empty_prefix_context): New variable.
40338         (u8_casing_prefix_context, u16_casing_prefix_context,
40339         u32_casing_prefix_context, u8_casing_prefixes_context,
40340         u16_casing_prefixes_context, u32_casing_prefixes_context): New
40341         declarations.
40342         (casing_suffix_context_t): New type.
40343         (unicase_empty_suffix_context): New variable.
40344         (u8_casing_suffix_context, u16_casing_suffix_context,
40345         u32_casing_suffix_context, u8_casing_suffixes_context,
40346         u16_casing_suffixes_context, u32_casing_suffixes_context,
40347         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
40348         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
40349         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
40350         declarations.
40351
40352 2009-06-28  Jim Meyering  <meyering@redhat.com>
40353
40354         boostrap: indent only with spaces
40355         * build-aux/bootstrap: Indent only with spaces, never TABs.
40356
40357         bootstrap: split long lines
40358         * build-aux/bootstrap: Keep line length < 80.
40359
40360         bootstrap: sync from coreutils
40361         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
40362         just as autoreconf does.  Verify a list of prerequisite
40363         package-name,version-number pairs if defined in bootstrap.conf.
40364         Refer to README-prereq, if prerequisites are not satisfied.
40365
40366 2009-06-27  Eric Blake  <ebb9@byu.net>
40367
40368         tests: add test for bogus NULL definition
40369         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
40370         * tests/test-stdlib.c: Likewise.
40371         * tests/test-string.c: Likewise.
40372         * tests/test-locale.c: Likewise.
40373         * tests/test-unistd.c: Likewise.
40374         * modules/stdio-tests (Depends-on): Add verify.
40375         * modules/stdlib-tests (Depends-on): Likewise.
40376         * modules/string-tests (Depends-on): Likewise.
40377         * modules/locale-tests (Depends-on): Likewise.
40378         * modules/unistd-tests (Depends-on): Likewise.
40379
40380 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
40381
40382         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
40383         self-explaining comment.
40384         * m4/selinux-selinux-h: Update serial.
40385         (gl_LIBSELINUX): New macro, adding a warning for missing development
40386         packages to code extracted from...
40387         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
40388         Add warning for missing development packages here, too.
40389
40390 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
40391
40392         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
40393
40394 2009-06-25  Eric Blake  <ebb9@byu.net>
40395
40396         version-etc: fix regression
40397         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
40398         gcc.
40399         (version_etc): Use it, to catch bugs with trailing NULL.
40400         * lib/version-etc.c (version_etc_arn): Delete unused argument.
40401         (version_etc_va): Fix logic bug.
40402         * modules/version-etc-tests: Add test.
40403         * tests/test-version-etc.c: New file.
40404         * tests/test-version-etc.sh: Likewise.
40405
40406 2009-06-25  Sam Steingold  <sds@gnu.org>
40407
40408         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
40409         mbtowc declaration.
40410
40411 2009-06-25  Eric Blake  <ebb9@byu.net>
40412
40413         fpurge: migrate into <stdio.h>
40414         * lib/fpurge.h: Delete...
40415         * lib/stdio.in.h (fpurge): ...and declare here, instead.
40416         * lib/fpurge.c (fpurge): Change declaring header.
40417         * modules/fpurge (Files): Drop deleted file.
40418         (Depends-on): Add stdio.
40419         (configure.ac): Set witness.
40420         * modules/stdio (Makefile.am): Support fpurge macros.
40421         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40422         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
40423         * lib/fflush.c: Update client.
40424         * tests/test-fpurge.c: Likewise.
40425         * NEWS: Mention the change.
40426
40427 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40428
40429         * lib/argp-version-etc.c (program_authors): Add const
40430         qualifier.
40431         * lib/version-etc.c: Fix typos in the comments.
40432         * modules/argp-version-etc: Depends on version-etc.
40433
40434 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40435
40436         argp-version-etc: new module.
40437
40438         * lib/argp-version-etc.c: New file.
40439         * lib/argp-version-etc.h: New file.
40440         * modules/argp-version-etc: New file.
40441         * modules/argp-version-etc-tests: New file.
40442         * tests/test-argp-version-etc.c: New test.
40443         * tests/test-argp-version-etc-1.sh: New test.
40444
40445 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40446
40447         Provide additional interfaces and documentation for version-etc
40448         module.
40449
40450         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
40451         interfaces.
40452         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
40453         prototypes.
40454
40455 2009-06-24  Bruno Haible  <bruno@clisp.org>
40456
40457         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
40458         HAVE_LIB${NAME} macro.
40459         Reported by Sam Steingold <sds@gnu.org>.
40460
40461 2009-06-23  Simon Josefsson  <simon@josefsson.org>
40462
40463         * modules/hash-tests (test_hash_LDADD): Link to libintl when
40464         needed.
40465
40466 2009-06-21  Bruno Haible  <bruno@clisp.org>
40467
40468         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
40469         work.
40470         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
40471         together with LIB${NAME}, LTLIB${NAME}.
40472         Reported by Sam Steingold <sds@gnu.org>.
40473
40474 2009-06-20  Jim Meyering  <meyering@redhat.com>
40475
40476         tests: make sc_require_test_exit_idiom more generic
40477         * top/maint.mk (Exit_witness_file): New overridable variable.
40478         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
40479         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
40480
40481 2009-06-19  Jim Meyering  <meyering@redhat.com>
40482
40483         hash: reverse order of src/dst parameters in an internal interface
40484         * lib/hash.c (transfer_entries): Reverse order of parameters to
40485         put DST before SRC.  Adjust callers.
40486
40487         tests: test-hash: avoid wholesale duplication
40488         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
40489         Instead, use a loop and add a single conditional.
40490
40491         tests: test-hash: allow seed selection via a command line argument
40492         * tests/test-hash.c (get_seed): New function.
40493         (main): Use it.
40494
40495 2009-06-19  Eric Blake  <ebb9@byu.net>
40496
40497         hash: avoid memory leak on allocation failure
40498         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
40499         failure.  Factor repeated algorithm...
40500         (transfer_entries): ...into new helper routine.
40501         (hash_delete): React to hash_rehash return value.
40502
40503         hash: reduce memory pressure in hash_rehash no-op case
40504         * lib/hash.c (next_prime): Avoid overflow.
40505         (hash_initialize): Factor bucket size computation...
40506         (compute_bucket_size): ...into new helper function.
40507         (hash_rehash): Use new function and open coding to reduce memory
40508         pressure, and avoid a memory leak in USE_OBSTACK code.
40509         Reported by Jim Meyering.
40510
40511 2009-06-18  Eric Blake  <ebb9@byu.net>
40512
40513         hash: make rotation more obvious
40514         * modules/hash (Depends-on): Add bitrotate and stdint.
40515         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
40516         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
40517         (SIZE_MAX): Rely on headers for definition.
40518         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
40519         (raw_hasher): Use rotr_sz.
40520         Suggested by Jim Meyering.
40521
40522         hash: fix memory leak in last patch
40523         * lib/hash.c (hash_rehash): Avoid memory leak.
40524
40525         hash: avoid no-op rehashing
40526         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
40527
40528         hash: provide default callback functions
40529         * lib/hash.c (raw_hasher, raw_comparator): New functions.
40530         (hash_initialize): Use them as defaults.
40531         * tests/test-hash.c (main): Test this.
40532
40533         hash: minor optimization
40534         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
40535         when possible.
40536         (hash_initialize): Document this promise.
40537         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
40538         * tests/test-hash.c (hash_compare_strings): Test this.
40539
40540 2009-06-18  Bruno Haible  <bruno@clisp.org>
40541
40542         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
40543         going to be replaced anyway.
40544
40545 2009-06-18  Bruno Haible  <bruno@clisp.org>
40546
40547         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
40548         in one place.
40549         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
40550         be replaced anyway.
40551
40552 2009-06-18  Eric Blake  <ebb9@byu.net>
40553
40554         hash: check for resize before insertion
40555         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
40556         threshold before insertion, so that a pathological hash_rehash
40557         that fills every bucket can still trigger another rehash.
40558
40559 2009-06-18  Jim Meyering  <meyering@redhat.com>
40560
40561         hash-tests: add a loop around the small tests
40562         * tests/test-hash.c (main): Repeat small tests with selected
40563         small initial table sizes.
40564
40565 2009-06-17  Eric Blake  <ebb9@byu.net>
40566
40567         hash: minor cleanups
40568         * lib/hash.h (hash_entry): Make opaque, by moving...
40569         * lib/hash.c (hash_entry): ...here.
40570         (hash_insert): Clarify restrictions on what can be inserted.
40571         (hash_get_next): Clarify when it is safe to remove an element
40572         during traversal.
40573         (check_tuning): Skip verification when tuning is known safe.
40574         (hash_initialize): Clarify restrictions on tuning.
40575
40576 2009-06-17  Jim Meyering  <jim@meyering.net>
40577         and Eric Blake  <ebb9@byu.net>
40578
40579         hash-tests: new module
40580         * modules/hash-tests: New file.
40581         * tests/test-hash.c: New file.
40582
40583 2009-06-17  Eric Blake  <ebb9@byu.net>
40584
40585         strstr-simple: document new module
40586         * MODULES.html.sh: Document new module.
40587
40588         strstr, strcasestr: replace on platforms with broken memchr
40589         * modules/strstr: Split into...
40590         * modules/strstr-simple: ...new module that does not care about
40591         performance, but does care about glibc bug.
40592         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
40593         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
40594         if platform memchr is broken, per Debian bug 521737.
40595         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
40596         memchr.
40597         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
40598         * doc/posix-functions/strstr.texi (strstr): Document the fix.
40599         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
40600         * modules/mountlist (Depends-on): Add strstr-simple.
40601         * modules/gen-uni-tables (Depends-on): Likewise.
40602         * modules/argz (Depends-on): Add strstr.
40603
40604 2009-06-17  Bruno Haible  <bruno@clisp.org>
40605
40606         * modules/posix_spawn-internal (Depends-on): Add errno.
40607
40608 2009-06-17  Bruno Haible  <bruno@clisp.org>
40609
40610         Define missing ESTALE on Interix 3.5.
40611         * lib/errno.in.h (ESTALE): Assign a value if missing.
40612         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
40613         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
40614         missing.
40615         * doc/posix-headers/errno.texi: Mention the Interix bug.
40616         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
40617
40618 2009-06-15  Eric Blake  <ebb9@byu.net>
40619
40620         memchr, memchr2: add valgrind exception
40621         * lib/memchr.valgrind: New file.
40622         * lib/memchr2.valgrind: New file.
40623         * modules/memchr (Files): Distribute valgrind file.
40624         * modules/memchr2 (Files): Likewise.
40625
40626         docs: memchr is no longer obsolete
40627         * MODULES.html.sh: Move memchr from obsolete to string.h section.
40628         * lib/string.in.h (memchr): Simplify logic.
40629
40630 2009-06-14  Jim Meyering  <meyering@redhat.com>
40631
40632         link-follow: fix the "checking..." message to not mention trailing slash
40633         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
40634         never considered trailing slashes.
40635
40636 2009-06-14  Bruno Haible  <bruno@clisp.org>
40637
40638         * m4/memchr.m4: Mention also the bug on IA-64.
40639         * doc/posix-functions/memchr.texi: Likewise.
40640
40641 2009-06-12  Eric Blake  <ebb9@byu.net>
40642
40643         memchr: detect broken x86_64 and alpha implementations
40644         * modules/memchr-tests (Depends-on): Move mmap detection...
40645         * modules/memchr (Depends-on): ...here.
40646         (configure.ac): Set indicator.
40647         * lib/string.in.h (memchr): Declare replacement.
40648         * modules/string (Makefile.am): Trigger replacement.
40649         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40650         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
40651         bugs.
40652         * doc/posix-functions/memchr.texi (memchr): Document the bug.
40653         * modules/getpagesize (License): Relax license.
40654
40655 2009-06-11  Bruno Haible  <bruno@clisp.org>
40656
40657         * lib/idpriv.h: Add more references.
40658
40659 2009-06-08  Bruno Haible  <bruno@clisp.org>
40660
40661         Tests for module 'idpriv-droptemp'.
40662         * modules/idpriv-droptemp-tests: New file.
40663         * tests/test-idpriv-droptemp.sh: New file.
40664         * tests/test-idpriv-droptemp.su.sh: New file.
40665         * tests/test-idpriv-droptemp.c: New file.
40666
40667         New module 'idpriv-droptemp'.
40668         * lib/idpriv-droptemp.c: New file.
40669         * modules/idpriv-droptemp: New file.
40670
40671 2009-06-08  Bruno Haible  <bruno@clisp.org>
40672
40673         Tests for module 'idpriv-drop'.
40674         * modules/idpriv-drop-tests: New file.
40675         * tests/test-idpriv-drop.sh: New file.
40676         * tests/test-idpriv-drop.su.sh: New file.
40677         * tests/test-idpriv-drop.c: New file.
40678
40679         New module 'idpriv-drop'.
40680         * lib/idpriv.h: New file.
40681         * lib-idpriv-drop.c: New file.
40682         * m4/idpriv.m4: New file.
40683         * modules/idpriv-drop: New file.
40684
40685 2009-06-08  Bruno Haible  <bruno@clisp.org>
40686
40687         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
40688         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40689         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40690         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40691         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40692         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40693         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40694
40695 2009-06-08  Eric Blake  <ebb9@byu.net>
40696
40697         test-strstr: use memory fence, when possible
40698         * tests/test-strstr.c (main): Use memory fence, in order to be
40699         more likely to trigger Debian bug 521737.
40700         * modules/strstr-tests (Files): Pull in additional files.
40701
40702         memchr: no longer obsolete, for wider field testing
40703         * modules/memchr (Status, Notice): Delete, this module is no
40704         longer obsolete.
40705         * modules/vasnprintf (Depends-on): Add memchr.
40706
40707 2009-06-07  Jim Meyering  <meyering@redhat.com>
40708
40709         hash: declare some functions with the warn_unused_result attribute
40710         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
40711
40712 2009-06-07  Bruno Haible  <bruno@clisp.org>
40713
40714         * tests/test-alignof.c: Don't test int64_t if it does not exist.
40715         Reported by Eric Blake.
40716
40717 2009-06-06  Eric Blake  <ebb9@byu.net>
40718
40719         test-alignof: fix typo with long double
40720         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
40721         compiler error.
40722
40723 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
40724
40725         Escape non-texinfo { and }s.
40726         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
40727         markup error.
40728
40729 2009-06-04  Jim Meyering  <meyering@redhat.com>
40730
40731         gitlog-to-changelog: don't infloop on an empty commit log
40732         * build-aux/gitlog-to-changelog: Warn about an empty log message.
40733         Reported by Boris Petersen <transacid@centerim.org>.
40734
40735 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
40736
40737         version-etc: extend for packagers
40738         Add three new configure options, intended for packagers:
40739           --with-packager="packager name"
40740           --with-packager-version="packager-specific version"
40741           --with-packager-bug-reports="packager bug reporting"
40742         An example with coreutils:
40743           $ ./configure \
40744             --with-packager=Gentoo \
40745             --with-packager-bug-report=http://bugs.gentoo.org/ \
40746             --with-packager-version="patchset 1.6"
40747           $ ./src/ls --version | head -n2
40748           ls (GNU coreutils) 7.1-dirty
40749           Packaged by Gentoo (patchset 1.6)
40750         Note that the bug reporting info via --help doesn't show up because
40751         coreutils uses its own custom emit_bug_reporting_address() implementation
40752         in src/system.h.  If it didn't, it'd look like:
40753           $ ./src/ls --help | tail -n4
40754           Report bugs to <bug-coreutils@gnu.org>.
40755           Report Gentoo bugs to <http://bugs.gentoo.org/>.
40756           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
40757           General help using GNU software: <http://www.gnu.org/gethelp/>.
40758         * lib/version-etc.c: Print new information, if provided.
40759         * m4/version-etc.m4: New file.
40760         * modules/version-etc (Files): Add m4/version-etc.m4.
40761         (configure.ac): Add gl_VERSION_ETC.
40762
40763 2009-05-31  Bruno Haible  <bruno@clisp.org>
40764
40765         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
40766         and 'int64_t'.
40767         * modules/alignof-tests (Dependencies): Add stdint.
40768         Reported by Eric Blake.
40769
40770 2009-05-31  Bruno Haible  <bruno@clisp.org>
40771
40772         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
40773         restriction due to compiler bugs.
40774         Reported by Eric Blake.
40775
40776 2009-05-31  Simon Josefsson  <simon@josefsson.org>
40777             Bruno Haible  <bruno@clisp.org>
40778
40779         Fix test-alignof failure.
40780         * lib/alignof.h (alignof_slot): New macro.
40781         (alignof_type): New macro, with the same semantics as the previous
40782         'alignof'.
40783         (alignof): Alias to alignof_slot.
40784         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
40785         check that the results are usable as constant expressions.
40786
40787 2009-05-31  Bruno Haible  <bruno@clisp.org>
40788
40789         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
40790         * tests/test-memchr.c (main): Check that memchr does not read past the
40791         first occurrence of the byte.
40792         * tests/test-strstr.c (main): Update comment.
40793         Suggested by Eric Blake.
40794
40795 2009-05-30  Bruno Haible  <bruno@clisp.org>
40796
40797         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
40798         detail how to use dumpbin.
40799         Reported by David Byron <dbyron@dbyron.com>.
40800
40801 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40802
40803         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
40804
40805 2009-06-02  Simon Josefsson  <simon@josefsson.org>
40806
40807         * m4/manywarnings.m4: Add GCC 4.4 warnings.
40808
40809 2009-05-28  Bruno Haible  <bruno@clisp.org>
40810
40811         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
40812         build-aux/ files.
40813
40814 2009-05-28  Simon Josefsson  <simon@josefsson.org>
40815
40816         * gnulib-tool (func_import): Transform license on build-aux/ files too.
40817
40818 2009-05-27  Simon Josefsson  <simon@josefsson.org>
40819
40820         * gnulib-tool (sed_transform_main_lib_file)
40821         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
40822         regexps.
40823
40824 2009-05-26  Simon Josefsson  <simon@josefsson.org>
40825
40826         * tests/test-strstr.c: Add another self-test.
40827         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
40828         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
40829
40830 2009-05-23  Bruno Haible  <bruno@clisp.org>
40831
40832         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
40833         change.
40834
40835 2009-05-21  Bruno Haible  <bruno@clisp.org>
40836
40837         Simplify use of mode_t varargs.
40838         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
40839         uses 'mode_t' or 'int'.
40840         * lib/openat.c (openat): Likewise.
40841         * lib/open-safer.c (open_safer): Likewise.
40842         * m4/mode_t.m4: New file.
40843         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
40844         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
40845         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
40846         * modules/open (Files): Add m4/mode_t.m4.
40847         * modules/openat (Files): Likewise.
40848         * modules/fcntl-safer (Files): Likewise.
40849         Suggested by Eric Blake.
40850
40851 2009-05-21  Pádraig Brady  <P@draigbrady.com>
40852
40853         * doc/glibc-functions/fallocate.texi: New file.
40854         * doc/gnulib.texi: Include it.
40855
40856 2009-05-21  Eric Blake  <ebb9@byu.net>
40857             Bruno Haible  <bruno@clisp.org>
40858
40859         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
40860         invocations.
40861         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40862
40863 2009-05-21  Eric Blake  <ebb9@byu.net>
40864             Bruno Haible  <bruno@clisp.org>
40865
40866         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
40867         include_next. Fix of 2008-11-20 commit.
40868         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
40869         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
40870         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
40871         NEXT_MATH_H.
40872         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
40873         instead of NEXT_MATH_H.
40874
40875 2009-05-21  Bruno Haible  <bruno@clisp.org>
40876
40877         Avoid redefinition warnings for SIZE_MAX.
40878         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
40879         Reported by Simon Josefsson.
40880
40881 2009-05-21  Bruno Haible  <bruno@clisp.org>
40882
40883         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
40884         AC_CACHE_VAL.
40885
40886 2009-05-20  Bruno Haible  <bruno@clisp.org>
40887
40888         Make zeroptr.h work on mingw.
40889         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
40890         mprotect.
40891         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
40892         * modules/memchr2-tests (configure.ac): Likewise.
40893         * modules/memcmp-tests (configure.ac): Likewise.
40894         * modules/memmem-tests (configure.ac): Likewise.
40895         * modules/memrchr-tests (configure.ac): Likewise.
40896         Reported by Simon Josefsson.
40897
40898 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40899
40900         * tests/test-glob.c: Include string.h for strcmp prototype.
40901
40902 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40903
40904         * modules/getdelim (Depends-on): Add explicit stdint, although it
40905         was implicitly already pulled in via realloc-posix.
40906         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
40907
40908 2009-05-20  Simon Josefsson  <simon@josefsson.org>
40909
40910         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
40911         G. Christensen" <tgc@jupiterrise.com>.
40912         * m4/sys_socket_h.m4: Check for sa_family_t.
40913         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
40914         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
40915         * tests/test-sys_socket.c: Check that sa_family_t works.
40916
40917 2009-05-18  Eric Blake  <ebb9@byu.net>
40918
40919         maint.mk: allow gnulib_dir in VPATH build
40920         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
40921
40922 2009-05-15  Jim Meyering  <meyering@redhat.com>
40923
40924         maint.mk: Give gnulib_dir a default definition.
40925         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
40926         Thus, most packages no longer need to specify this variable in cfg.mk
40927
40928 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
40929
40930         rename.m4: fix typos that would make non-mingw cross-configure fail
40931         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
40932
40933 2009-05-13  Eric Blake  <ebb9@byu.net>
40934
40935         mmap-anon: avoid out-of-order autoconf expansion
40936         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
40937         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
40938         * modules/memchr-tests (Depends-on): Add extensions.
40939         * modules/memchr2-tests (Depends-on): Add extensions.
40940         * modules/memcmp-tests (Depends-on): Add extensions.
40941         * modules/memmem-tests (Depends-on): Add extensions.
40942         * modules/memrchr-tests (Depends-on): Add extensions.
40943
40944 2009-05-13  Bruno Haible  <bruno@clisp.org>
40945
40946         Make some tests ISO C 99 compliant.
40947         * tests/zerosize-ptr.h: New file.
40948         * tests/test-memchr.c: Include zerosize-ptr.h.
40949         (main): Use a zero-size object pointer instead of NULL.
40950         * tests/test-memchr2.c: Include zerosize-ptr.h.
40951         (main): Use a zero-size object pointer instead of NULL.
40952         * tests/test-memcmp.c: Include zerosize-ptr.h.
40953         (main): Use a zero-size object pointer instead of NULL.
40954         * tests/test-memmem.c: Include zerosize-ptr.h.
40955         (main): Use a zero-size object pointer instead of NULL.
40956         * tests/test-memrchr.c: Include zerosize-ptr.h.
40957         (main): Use a zero-size object pointer instead of NULL.
40958         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
40959         m4/mmap-anon.m4.
40960         (Depends-on): Add getpagesize.
40961         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40962         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
40963         m4/mmap-anon.m4.
40964         (Depends-on): Add getpagesize.
40965         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40966         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
40967         m4/mmap-anon.m4.
40968         (Depends-on): Add getpagesize.
40969         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40970         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
40971         m4/mmap-anon.m4.
40972         (Depends-on): Add getpagesize.
40973         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40974         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
40975         m4/mmap-anon.m4.
40976         (Depends-on): Add getpagesize.
40977         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
40978
40979 2009-05-12  Bruno Haible  <bruno@clisp.org>
40980
40981         Tests for module 'alignof'.
40982         * modules/alignof-tests: New file.
40983         * tests/test-alignof.c: New file.
40984
40985 2009-05-12  Bruno Haible  <bruno@clisp.org>
40986
40987         Fix alignof macro.
40988         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
40989         vendor compilers that are always correct.
40990
40991 2009-05-12  Bruno Haible  <bruno@clisp.org>
40992
40993         Make the MAP_ANONYMOUS detection work on HP-UX 11.
40994         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
40995         not whether its fully works.
40996
40997 2009-05-12  Bruno Haible  <bruno@clisp.org>
40998
40999         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
41000
41001 2009-05-12  Jim Meyering  <meyering@redhat.com>
41002
41003         * top/maint.mk: Adjust backslash alignment.
41004
41005 2009-05-11  Simon Josefsson  <simon@josefsson.org>
41006
41007         * top/maint.mk: Make $(srcdir)/build-aux configurable.
41008
41009 2009-05-11  Eric Blake  <ebb9@byu.net>
41010
41011         argp: avoid undefined behavior
41012         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
41013         macros.
41014
41015 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41016
41017         * tests/test-vc-list-files-git.sh: Do git config of user.email and
41018         user.name to prevent git commit from complaining.
41019
41020 2009-05-10  Bruno Haible  <bruno@clisp.org>
41021
41022         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
41023         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
41024         it rewrites every file name only once.
41025         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
41026
41027 2009-05-08  Bruno Haible  <bruno@clisp.org>
41028
41029         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
41030         instead of 'max'.
41031
41032 2009-05-08  Simon Josefsson  <simon@josefsson.org>
41033
41034         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
41035         sockaddr_storage test.
41036
41037 2009-05-07  Simon Josefsson  <simon@josefsson.org>
41038
41039         * modules/sys_socket (Makefile.am): Substitute
41040         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
41041         * m4/sys_socket_h.m4: Check for sockaddr_storage.
41042         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
41043         * tests/test-sys_socket.c: Check sockaddr_storage.
41044
41045 2009-05-08  Bruno Haible  <bruno@clisp.org>
41046
41047         New module 'alignof'.
41048         * lib/alignof.h: New file.
41049         * modules/alignof: New file.
41050
41051 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41052             Bruno Haible  <bruno@clisp.org>
41053
41054         Fix test-file-has-acl on FreeBSD.
41055         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
41056         mask is implicitly added.
41057         * tests/test-file-has-acl.c: Include <signal.h>.
41058         (main): Terminate the test after 5 seconds.
41059         * modules/acl-tests (configure.ac): Check for alarm function.
41060
41061 2009-05-04  Bruno Haible  <bruno@clisp.org>
41062
41063         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
41064         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
41065         * modules/errno (configure.ac): Drop AC_REQUIRE.
41066         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
41067         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
41068
41069 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41070
41071         * modules/glob-tests: New module.
41072         * tests/test-glob.c: Add.
41073
41074 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41075
41076         * modules/fnmatch-tests: New module.
41077         * tests/test-fnmatch.c: Add.
41078
41079 2009-05-04  Eric Blake  <ebb9@byu.net>
41080
41081         maint: make the new no-submodule-changes rule VPATH-safe
41082         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
41083
41084 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41085             Bruno Haible  <bruno@clisp.org>
41086
41087         acl: Fix infinite loop on FreeBSD.
41088         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
41089         of return value from acl_get_entry.
41090         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
41091         Likewise.
41092
41093 2009-05-03  Bruno Haible  <bruno@clisp.org>
41094
41095         * lib/acl-internal.h (acl_entries): Clarify return value.
41096         * lib/acl_entries.c (acl_entries): Likewise.
41097
41098 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41099
41100         Bug fix in acl module.
41101         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
41102
41103 2009-05-03  Bruno Haible  <bruno@clisp.org>
41104
41105         Create gperf-generated file in the source dir, not in the build dir.
41106         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
41107         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
41108         * modules/unicase/locale-language (unicase/locale-languages.h):
41109         Likewise.
41110         * modules/unicase/special-casing (unicase/special-casing-table.h):
41111         Likewise.
41112         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
41113         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
41114         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
41115         Reported by Ralf Wildenhues.
41116
41117 2009-05-03  Bruno Haible  <bruno@clisp.org>
41118
41119         * modules/fnmatch (Description, configure.ac): Taken from
41120         fnmatch-posix.
41121         * modules/fnmatch-posix: Turn into a symbolic reference to the
41122         'fnmatch' module, and deprecate.
41123         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
41124
41125 2009-05-03  Bruno Haible  <bruno@clisp.org>
41126
41127         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
41128         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
41129         Reported by Ralf Wildenhues.
41130
41131 2009-05-04  Simon Josefsson  <simon@josefsson.org>
41132
41133         * m4/fnmatch.m4: Fix fnmatch re-define.
41134
41135 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
41136
41137         priv-set: new module and tests; adapt write-any-file
41138         * lib/priv-set.c: New file.
41139         * lib/priv-set.h: New file.
41140         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
41141         * lib/write-any-file.c: Simplify by using priv-set module.
41142         * m4/priv-set.m4: New file.
41143         * modules/priv-set: New file.
41144         * modules/unlinkdir: Add dependency on priv-set module.
41145         * modules/write-any-file: Likewise.
41146
41147         Tests for module 'priv-set'.
41148         * modules/priv-set-tests: New file.
41149         * tests/test-priv-set.c: New file.
41150
41151 2009-05-03  Jim Meyering  <meyering@redhat.com>
41152             Bruno Haible  <bruno@clisp.org>
41153
41154         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
41155         use the converted UTF-8 variant of the name instead.
41156
41157 2009-05-03  Jim Meyering  <meyering@redhat.com>
41158
41159         tests: tighten some getdate tests
41160         * tests/test-getdate.c (main): Tighten tests: require equality,
41161         not just greater than.  Set TZ envvar to UTC0.
41162
41163 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
41164
41165         getdate: correctly interpret "next monday" when run on a Monday
41166         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
41167         that e.g., "next tues" (when run on a tuesday) results in a date
41168         that is one week in the future, and not today's date.
41169         I.e., add a week when the wday is the same as the current one.
41170         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
41171         and earlier by Martin Bernreuther and Jan Minář.
41172         * tests/test-getdate.c (main): Check that "next DAY" is always in
41173         the future and that "last DAY" is always in the past.
41174
41175 2009-05-02  Jim Meyering  <meyering@redhat.com>
41176
41177         build: ensure that a release build fails when a submodule is unclean
41178         * top/maint.mk (no-submodule-changes): New rule.
41179         (alpha beta major): Depend on it.
41180
41181 2009-05-02  Bruno Haible  <bruno@clisp.org>
41182
41183         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
41184         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
41185         shell variable gl_fnmatch_required to detect which variant is
41186         requested.
41187         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
41188         gl_FUNC_FNMATCH_POSIX.
41189         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
41190         exclude fnmatch-posix.
41191
41192 2009-05-02  Bruno Haible  <bruno@clisp.org>
41193
41194         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
41195         * modules/mbsrtowcs (License): Change to LGPLv2+.
41196         * modules/strnlen1 (License): Likewise.
41197         Reported by Simon Josefsson.
41198
41199 2009-05-02  Bruno Haible  <bruno@clisp.org>
41200
41201         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
41202         "cross".
41203         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
41204         gnulib-tool was called with option --source-base=lib.
41205
41206 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41207
41208         Use automake *-local hooks without commands, for extensibility.
41209         * modules/localcharset (Makefile.am): Rename install-exec-local
41210         rule to install-exec-localcharset, and make it a prerequisite of
41211         install-exec-local.  Likewise, rename the uninstall-local rule to
41212         uninstall-localcharset, and make it a prerequisite of the former.
41213
41214 2009-05-01  Bruno Haible  <bruno@clisp.org>
41215
41216         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
41217         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41218         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
41219         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
41220         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
41221         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41222         m4/locale-zh.m4, m4/codeset.m4.
41223
41224         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
41225         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
41226         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
41227         m4/locale-zh.m4.
41228
41229         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
41230         REPLACE_WCRTOMB if mbstate_t must be replaced.
41231         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
41232         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
41233
41234 2009-05-01  Bruno Haible  <bruno@clisp.org>
41235
41236         Avoid compiler warnings when redefining macros defined by <libintl.h>.
41237         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
41238         dngettext, dcngettext, textdomain, bindtextdomain,
41239         bind_textdomain_codeset): Undefine before redefining.
41240
41241 2009-04-30  Bruno Haible  <bruno@clisp.org>
41242
41243         Fix bug introduced on 2009-04-25.
41244         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
41245         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
41246         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
41247         is defined.
41248         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
41249         is defined.
41250         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
41251         is defined.
41252         Reported by Elbert_Pol <elbert.pol@gmail.com>.
41253
41254 2009-04-28  Bruno Haible  <bruno@clisp.org>
41255
41256         Comment tweaks.
41257         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
41258         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
41259         * lib/unicase.h (u*_casexfrm): Likewise.
41260         Reported by Paolo Bonzini.
41261
41262 2009-04-28  Bruno Haible  <bruno@clisp.org>
41263
41264         Fix a compilation error.
41265         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
41266         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
41267         Reported by Jim Meyering.
41268
41269 2009-04-27  Bruno Haible  <bruno@clisp.org>
41270
41271         New module 'libunistring'.
41272         * modules/libunistring: New file.
41273         * m4/libunistring.m4: New file.
41274         * MODULES.html.sh (Unicode string functions): Add it.
41275
41276 2009-04-27  Eric Blake  <ebb9@byu.net>
41277
41278         maint.mk: allow package-specific header to provide <config.h>
41279         * top/maint.mk (sc_require_config_h): New variable.
41280         (sc_require_config_h, sc_require_config_h_first): Use it.
41281
41282 2009-04-27  Simon Josefsson  <simon@josefsson.org>
41283
41284         * top/maint.mk (sc_avoid_if_before_free): Except
41285         useless-if-before-free script.
41286
41287 2009-04-27  Eric Blake  <ebb9@byu.net>
41288
41289         maintainer-makefile: depend on all required helper scripts
41290         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
41291         useless-if-before-free.
41292         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
41293         version, rather than assuming gnulib checkout is available.
41294         Reported by Simen Josefsson.
41295
41296 2009-04-26  Bruno Haible  <bruno@clisp.org>
41297
41298         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
41299         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
41300         "../" or "..".
41301
41302 2009-04-26  Bruno Haible  <bruno@clisp.org>
41303
41304         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
41305         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
41306         AC_LIB_HAVE_LINKFLAGS.
41307
41308 2009-04-26  Bruno Haible  <bruno@clisp.org>
41309
41310         Simplify calling convention of u*_conv_from_encoding.
41311         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
41312         u32_conv_from_encoding): Expect a resultbuf argument and return the
41313         result directly as a pointer.
41314         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
41315         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
41316         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
41317         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
41318         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
41319         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41320         Update.
41321         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
41322         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
41323         * lib/vasnprintf.c (VASNPRINTF): Update.
41324         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
41325         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
41326         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
41327         * NEWS: Mention the change.
41328
41329 2009-04-26  Bruno Haible  <bruno@clisp.org>
41330
41331         Simplify calling convention of u*_conv_to_encoding.
41332         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
41333         u32_conv_to_encoding): Expect a resultbuf argument and return the
41334         result directly as a pointer.
41335         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41336         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
41337         freeing scaled_offsets if mem_iconveha failed.
41338         * lib/unicase/u-casexfrm.h (FUNC): Update.
41339         * lib/uninorm/u-normxfrm.h (FUNC): Update.
41340         * lib/vasnprintf.c (VASNPRINTF): Update.
41341         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
41342         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
41343         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
41344         * NEWS: Mention the change.
41345
41346 2009-04-26  Bruno Haible  <bruno@clisp.org>
41347
41348         Avoid test failures on AIX and OSF/1.
41349         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
41350         malloc(0).
41351         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
41352         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
41353         Likewise.
41354         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
41355         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
41356         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
41357         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
41358         * doc/posix-functions/malloc.texi: Document the portability problem
41359         related to malloc(0).
41360
41361 2009-04-26  Bruno Haible  <bruno@clisp.org>
41362
41363         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
41364         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
41365         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
41366
41367 2009-04-25  Bruno Haible  <bruno@clisp.org>
41368
41369         Avoid link error when creating a namespace clean library.
41370         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
41371         as macro with arguments if already defined as an alias.
41372         * lib/signbitf.c (gl_signbitf): Don't undefine.
41373         * lib/signbitd.c (gl_signbitd): Don't undefine.
41374         * lib/signbitl.c (gl_signbitl): Don't undefine.
41375
41376 2009-04-25  Jim Meyering  <meyering@redhat.com>
41377
41378         vc-list-files: fix another quoting bug
41379         * build-aux/vc-list-files: Avoid sed backslash expansion
41380         of pathological directory names.
41381
41382 2009-04-25  Eric Blake  <ebb9@byu.net>
41383
41384         vc-list-files: fix shell quoting error
41385         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
41386         timestamp.
41387
41388 2009-04-25  Jim Meyering  <meyering@redhat.com>
41389
41390         vc-list-files: restore lost functionality with subdir argument
41391         * build-aux/vc-list-files: When given a non-"." sub-directory
41392         argument, substitute the $dir/ prefix back onto each resulting name.
41393         Otherwise, coreutils' root_tests check would fail.
41394
41395 2009-04-24  Eric Blake  <ebb9@byu.net>
41396
41397         vc-list-files: ignore git symlinks
41398         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
41399         than ls-files, to ignore git symlinks.
41400
41401         maint.mk: import improvements from m4
41402         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
41403         (move_if_change): Delete unused macro.
41404         (news-date-check, vc-diff-check): Support VPATH builds.
41405         (announcement): Likewise.  Split --bootstrap-tools list...
41406         (boostrap-tools): ...into separate list, which can be overridden
41407         in cfg.mk.
41408         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
41409         requiring dependency on useless-if-before-free module.
41410         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
41411         Support VPATH builds.
41412
41413 2009-04-24  Jim Meyering  <meyering@redhat.com>
41414
41415         maint.mk: remove coreutils-specific rules and variables
41416         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
41417         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
41418         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
41419
41420         maint.mk: remove obsolete rule
41421         * top/maint.mk (rel-check): Remove rule.
41422         (WGET, WGETFLAGS): Remove now-unused variables.
41423
41424 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41425
41426         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
41427         consistency.
41428
41429         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
41430         '$(PATH_SEPARATOR)' instead of ':'.
41431
41432 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41433
41434         * lib/getopt1.c (main): Use 'const' for static array.
41435
41436 2009-04-24  Simon Josefsson  <simon@josefsson.org>
41437
41438         * top/maint.mk: Sync with coreutils.
41439         * NEWS: Explain incompatibilities.
41440
41441 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41442             Bruno Haible  <bruno@clisp.org>
41443
41444         Fix cross-compilation results.
41445         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
41446         statement, as third argument of AC_TRY_RUN.
41447         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
41448         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
41449         Likewise.
41450         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
41451         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
41452         Likewise.
41453         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
41454         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
41455         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
41456
41457 2009-04-20  Bruno Haible  <bruno@clisp.org>
41458
41459         Avoid test failure on mingw.
41460         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
41461
41462 2009-04-20  Bruno Haible  <bruno@clisp.org>
41463
41464         Avoid compilation error on mingw.
41465         * modules/localename-tests (Depends-on): Add locale.
41466
41467 2009-04-19  Bruno Haible  <bruno@clisp.org>
41468
41469         Support for building a shared library on Windows platforms.
41470         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
41471         (main): Test the presence of UNINORM_NFC here.
41472         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
41473         (main): Test the presence of UNINORM_NFD here.
41474         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
41475         (main): Test the presence of UNINORM_NFKC here.
41476         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
41477         (main): Test the presence of UNINORM_NFKD here.
41478
41479 2009-04-19  Bruno Haible  <bruno@clisp.org>
41480
41481         Avoid a compiler warning.
41482         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
41483         Change type of variable 'sequence'.
41484
41485 2009-04-19  Bruno Haible  <bruno@clisp.org>
41486
41487         * modules/configmake (Makefile.am): When the contents of configmake.h
41488         does not change, arrange to preserve its modification time.
41489
41490 2009-04-17  Simon Josefsson  <simon@josefsson.org>
41491
41492         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
41493         gettext domain.
41494
41495 2009-04-16  Jim Meyering  <meyering@redhat.com>
41496
41497         useless-if-before-free: improve conversion code
41498         * build-aux/useless-if-before-free: Adjust code-in-comment to match
41499         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
41500
41501 2009-04-14  Bruno Haible  <bruno@clisp.org>
41502
41503         * modules/fcntl (Depends-on): Add extensions.
41504         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
41505
41506 2009-04-12  Ben Pfaff  <blp@gnu.org>
41507
41508         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
41509         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
41510
41511 2009-03-20  Ben Pfaff  <blp@gnu.org>
41512
41513         Make rename replace existing destinations on Windows.
41514         * m4/rename.m4: Add test for Mingw.
41515         * lib/rename.c: Add rename replacement that uses MoveFileEx with
41516         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
41517         * doc/posix-functions/rename.texi: Document.
41518
41519 2009-04-10  Bruno Haible  <bruno@clisp.org>
41520
41521         New include file "iconveh.h".
41522         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
41523         * lib/striconveh.h: Include it.
41524         (enum iconv_ilseq_handler): Remove definition.
41525         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
41526         striconveh.h.
41527         * lib/striconveha.c: Include striconveh.h.
41528         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
41529         * modules/striconveh (Files): Add lib/iconveh.h.
41530         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
41531         lib/striconveh.h.
41532
41533 2009-04-10  Bruno Haible  <bruno@clisp.org>
41534
41535         * lib/uniconv.h: Update comment.
41536
41537 2009-04-10  Bruno Haible  <bruno@clisp.org>
41538
41539         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
41540         always.
41541         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
41542         * lib/unistr/u16-mbtouc-aux.c: Likewise.
41543         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
41544         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
41545         "unistring-notinline.h", so that the function gets defined always.
41546         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
41547         * lib/unistr/u8-uctomb.c: Likewise.
41548         * lib/unistr/u16-mbtouc.c: Likewise.
41549         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
41550         * lib/unistr/u16-uctomb.c: Likewise.
41551         * lib/unistr/u32-mbtouc.c: Likewise.
41552         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
41553         * lib/unistr/u32-uctomb.c: Likewise.
41554
41555 2009-04-10  Bruno Haible  <bruno@clisp.org>
41556
41557         Mark 'utime' obsolete.
41558         * modules/utime (Status, Notice): New sections.
41559         Suggested by Jim Meyering.
41560
41561         Fix cross-compile guess for utime test.
41562         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
41563         autoconf.
41564         * doc/posix-functions/utime.texi: Give more precisions.
41565         Reported by Jan <ipif@ymail.com>.
41566
41567 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
41568
41569         filevercmp: correct today's change
41570         * lib/filevercmp.c: Also handle coreutils' test inputs.
41571         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
41572
41573         Fix regression in 'filevercmp' module. Thanks Sven Joachim
41574         for reporting it.
41575         * lib/filevercmp.c: Special handle for "", "." and "..".
41576         * tests/test-filevercmp.c: Enlarge the set suite.
41577
41578 2009-04-07  Jim Meyering  <meyering@redhat.com>
41579
41580         useless-if-before-free: show how to remove braced useless free, too
41581         * build-aux/useless-if-before-free: still only in a comment, though.
41582
41583 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
41584
41585         maint.mk: import changes to syntax-check macros from coreutils
41586         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
41587         Use them in the relevant macros.
41588
41589 2009-04-06  Bruno Haible  <bruno@clisp.org>
41590
41591         Fix unportable use of bit-fields.
41592         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
41593         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
41594         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
41595
41596 2009-04-06  Bruno Haible  <bruno@clisp.org>
41597
41598         Avoid test failures on AIX and OSF/1.
41599         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
41600         that malloc(0) = NULL.
41601         * tests/unicase/test-u8-tolower.c (check): Likewise.
41602         * tests/unicase/test-u8-totitle.c (check): Likewise.
41603         * tests/unicase/test-u8-toupper.c (check): Likewise.
41604         * tests/unicase/test-u16-casefold.c (check): Likewise.
41605         * tests/unicase/test-u16-tolower.c (check): Likewise.
41606         * tests/unicase/test-u16-totitle.c (check): Likewise.
41607         * tests/unicase/test-u16-toupper.c (check): Likewise.
41608         * tests/unicase/test-u32-casefold.c (check): Likewise.
41609         * tests/unicase/test-u32-tolower.c (check): Likewise.
41610         * tests/unicase/test-u32-totitle.c (check): Likewise.
41611         * tests/unicase/test-u32-toupper.c (check): Likewise.
41612         * tests/uninorm/test-u8-nfc.c (check): Likewise.
41613         * tests/uninorm/test-u8-nfd.c (check): Likewise.
41614         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
41615         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
41616         * tests/uninorm/test-u16-nfc.c (check): Likewise.
41617         * tests/uninorm/test-u16-nfd.c (check): Likewise.
41618         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
41619         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
41620         * tests/uninorm/test-u32-nfc.c (check): Likewise.
41621         * tests/uninorm/test-u32-nfd.c (check): Likewise.
41622         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
41623         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
41624
41625 2009-04-05  Bruno Haible  <bruno@clisp.org>
41626
41627         Work around an autoconf limitation.
41628         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
41629         comment line if it would be longer than 3 KB.
41630
41631 2009-04-05  Bruno Haible  <bruno@clisp.org>
41632
41633         Avoid test failure with libiconv-1.13.
41634         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
41635         of the expected test results.
41636
41637 2009-04-05  Bruno Haible  <bruno@clisp.org>
41638
41639         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
41640         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
41641         that it should be installed.
41642
41643 2009-04-05  Bruno Haible  <bruno@clisp.org>
41644
41645         * gnulib-tool: New option --copy-file.
41646         (func_usage): Document it.
41647         (func_dest_tmpfilename): Moved out of func_import.
41648         (func_add_file, func_update_file): New functions, extracted from
41649         func_import.
41650         (func_import): Update.
41651
41652 2009-04-05  Karl Berry  <karl@gnu.org>
41653
41654         * README: prominently mention gnulib-tool.
41655         Rearrange sections so getting the code is near the top.
41656
41657 2009-04-05  Bruno Haible  <bruno@clisp.org>
41658
41659         * lib/unicase.h: Mention u*_cmp2.
41660         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41661         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
41662         * lib/unicase/ulc-casecmp.c: Likewise.
41663         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
41664         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
41665         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
41666         unistr/u8-cmp.
41667         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
41668         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
41669         unistr/u16-cmp.
41670         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
41671         unistr/u32-cmp.
41672
41673         * lib/uninorm.h: Mention u*_cmp2.
41674         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
41675         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
41676         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
41677         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
41678         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
41679         unistr/u8-cmp.
41680         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
41681         unistr/u16-cmp.
41682         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
41683         unistr/u32-cmp.
41684
41685         New module 'unistr/u32-cmp2'.
41686         * lib/unistr/u32-cmp2.c: New file.
41687         * modules/unistr/u32-cmp2: New file.
41688
41689         New module 'unistr/u16-cmp2'.
41690         * lib/unistr/u16-cmp2.c: New file.
41691         * modules/unistr/u16-cmp2: New file.
41692
41693         New module 'unistr/u8-cmp2'.
41694         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
41695         * lib/unistr/u8-cmp2.c: New file.
41696         * lib/unistr/u-cmp2.h: New file.
41697         * modules/unistr/u8-cmp2: New file.
41698
41699 2009-04-05  Bruno Haible  <bruno@clisp.org>
41700
41701         * lib/unictype.h (uc_property_is_valid): New macro.
41702         * tests/unictype/test-pr_byname.c (main): Use it.
41703
41704         * lib/unistr.h: Doc fixes.
41705         * lib/uniconv.h: Doc fixes.
41706         * lib/unictype.h: Doc fixes.
41707
41708 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
41709
41710         Port coreutils 7.2 to Solaris 8.
41711
41712         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
41713         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
41714         for Solaris 8.  This is a bit of a hack, as it means it's the
41715         caller's responsibility to add -lnsl if needed, but most likely it
41716         won't be needed since only getaddrinfo uses this and getaddrinfo
41717         isn't needed on Solaris 8.
41718
41719         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
41720         problem to Solaris 8 encountered with coreutils 7.2, which
41721         resulted in a message "fnmatch.c:292: warning: passing argument 4
41722         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
41723         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
41724
41725 2009-04-03  Simon Josefsson  <simon@josefsson.org>
41726
41727         * m4/ld-version-script.m4: Add FIXME comment.
41728
41729 2009-04-02  Simon Josefsson  <simon@josefsson.org>
41730
41731         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
41732         SOVERSION variable.
41733
41734 2009-04-02  Bruno Haible  <bruno@clisp.org>
41735
41736         * Makefile (info, html, dvi, pdf): Combine the rules.
41737         Suggested by Jim Meyering.
41738
41739 2009-04-01  Bruno Haible  <bruno@clisp.org>
41740
41741         * Makefile (info, html, dvi, pdf): New targets.
41742         Reported by Reuben Thomas <rrt@sc3d.org>.
41743
41744 2009-04-01  Bruno Haible  <bruno@clisp.org>
41745
41746         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
41747         can be put into PATH.
41748         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
41749
41750 2009-04-01  Bruno Haible  <bruno@clisp.org>
41751
41752         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
41753
41754 2009-04-01  Bruno Haible  <bruno@clisp.org>
41755
41756         Rename module 'visibility'.
41757         * modules/lib-symbol-visibility: Renamed from modules/visibility.
41758         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
41759         * doc/gnulib.texi: Update.
41760         * MODULES.html.sh (Misc): Update.
41761         * NEWS: Mention the change.
41762
41763 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41764
41765         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
41766         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
41767         Eric Blake <ebb9@byu.net> for review.
41768         * MODULES.html.sh: Add lib-msvc-compat.
41769         * doc/gnulib.texi: Link to new section.
41770         * m4/ld-output-def.m4: New file.
41771         * doc/ld-output-def.texi: New file.
41772
41773 2009-04-01  Simon Josefsson  <simon@josefsson.org>
41774
41775         Rename ld-version-script to lib-symbol-versions.  Suggested by
41776         Bruno Haible <bruno@clisp.org>.
41777         * modules/ld-version-script: Renamed to lib-symbol-versions.
41778         * doc/ld-version-script.texi: Fix module name.
41779         * MODULES.html.sh: Add lib-symbol-versions.
41780
41781 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41782
41783         * modules/u64-tests: New file.
41784         * tests/test-u64.c: New file.
41785
41786 2009-03-04  Simon Josefsson  <simon@josefsson.org>
41787
41788         * MODULES.html.sh: Mention u64.
41789         * modules/u64: New module.
41790         * modules/crypto/sha512: Depend on u64 module instead of providing
41791         u64.h.
41792
41793 2009-03-27  Eric Blake  <ebb9@byu.net>
41794
41795         test-strerror: make debugging EAI_SYSTEM easier
41796         * modules/getaddrinfo-tests (Depends-on): Add strerror.
41797         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
41798         failure was EAI_SYSTEM.
41799
41800 2009-03-25  Bruno Haible  <bruno@clisp.org>
41801
41802         Fix a problem with --enable-relocatable on Solaris 7.
41803         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
41804         since 2008-02-24.
41805
41806 2009-03-25  Eric Blake  <ebb9@byu.net>
41807
41808         test-sockets: avoid gcc warning
41809         * tests/test-sockets.c (main): Silence compiler warning.
41810
41811 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
41812
41813         New modules nproc, pthread, contributed by Glen Lenker.
41814
41815         * MODULES.html.sh: Add pthread, nproc.
41816         * lib/nproc.c: New file.
41817         * lib/nproc.h: New file.
41818         * lib/pthread.in.h: New file.
41819         * m4/pthread.m4: New file.
41820         * modules/nproc: New file.
41821         * modules/pthread: New file.
41822
41823 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41824
41825         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
41826         New variable.
41827
41828 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
41829
41830         filevercmp: handle simple~ and numbered.~3~ backup suffixes
41831         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
41832         * tests/test-filevercmp.c: Add tests for backup suffixes.
41833
41834 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41835
41836         * modules/stdlib (Depends-on): Add stdint, needed when defining
41837         struct random_data on, for example, HP-UX 10.20.  Reported by
41838         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41839
41840 2009-03-24  Simon Josefsson  <simon@josefsson.org>
41841
41842         * lib/readline.c (readline): Call fflush on stdout after printing
41843         prompt.
41844
41845 2009-03-20  Bruno Haible  <bruno@clisp.org>
41846
41847         Remove dependency from 'close' module to -lws2_32 on native Windows.
41848         * lib/close-hook.h: New file.
41849         * lib/close-hook.c: New file.
41850         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
41851         w32sock.h.
41852         (_gl_close_fd_maybe_socket): Remove function.
41853         (rpl_close): Invoke execute_all_close_hooks instead of
41854         _gl_close_fd_maybe_socket.
41855         * lib/sockets.c: Include close-hook.h, w32sock.h.
41856         (close_fd_maybe_socket): New function, essentially from lib/close.c.
41857         (close_sockets_hook): New variable.
41858         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
41859         (gl_sockets_cleanup): Unregister it.
41860         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
41861         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
41862         * modules/close-hook: New file.
41863         * modules/close (Files): Remove lib/w32sock.h.
41864         (Depends-on): Add close-hook.
41865         (Link): Remove section.
41866         * modules/sockets (Files): Add lib/w32sock.h.
41867         (Depends-on): Add close-hook.
41868         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
41869         invocation.
41870         * NEWS: Mention that LIB_CLOSE is gone.
41871
41872 2009-03-23  Eric Blake  <ebb9@byu.net>
41873
41874         signal-tests: test previous patch
41875         * tests/test-signal.c: New file.
41876         * modules/signal-tests: Likewise.
41877
41878         signal.h: always support 'volatile sig_atomic_t'
41879         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
41880         (gl_SIGNAL_H_DEFAULTS): Add a default.
41881         * modules/signal (Makefile.am): Substitute if needed.
41882         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
41883         users can blindly add volatile.
41884         * doc/posix-headers/signal.texi (signal.h): Document it.
41885         Reported by Matthew Woehlke.
41886
41887 2009-03-23  Jim Meyering  <meyering@redhat.com>
41888
41889         pathmax: PATH_MAX: use pathconf only when available
41890         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
41891         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
41892         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
41893         This avoids a link failure in a PSP cross-compilation environment
41894         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
41895
41896         * lib/vasnprintf.c (divide): Fix typo in comment.
41897
41898 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41899
41900         * gnulib-tool (func_filter_filelist): Fix comment.
41901
41902 2009-03-20  Bruno Haible  <bruno@clisp.org>
41903
41904         Make sockets.h self-contained.
41905         * lib/sockets.c: Include sockets.h first.
41906         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
41907
41908 2009-03-19  Eric Blake  <ebb9@byu.net>
41909
41910         doc: mention more functions added in cygwin 1.7.0
41911         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
41912         addition.
41913         * doc/posix-functions/log2f.texi: Likewise.
41914
41915 2009-03-19  Jim Meyering  <meyering@redhat.com>
41916
41917         fsusage: avoid syntax error due to statement-before-declaration
41918         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
41919         after all declarations.  Reported by Matthew Woehlke in
41920         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
41921
41922 2009-03-18  Eric Blake  <ebb9@byu.net>
41923
41924         build-aux/compile: sync from automake
41925         * build-aux/compile: New file, from automake.
41926         * config/srclist.txt: Mention build-aux/compile.
41927
41928 2009-03-17  Bruno Haible  <bruno@clisp.org>
41929
41930         * lib/git-merge-changelog.c: Fix typo in comment.
41931         Reported by Reuben Thomas <rrt@sc3d.org>.
41932
41933 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
41934
41935         * m4/regex.m4: update and improve help for
41936         --without-included-regex.
41937
41938 2009-03-17  Simon Josefsson  <simon@josefsson.org>
41939
41940         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
41941         failure on missing include files.
41942
41943 2009-03-17  Eric Blake  <ebb9@byu.net>
41944
41945         doc: mention more functions added in cygwin 1.7.0
41946         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
41947         addition.
41948         * doc/posix-functions/fwscanf.texi: Likewise.
41949         * doc/posix-functions/swprintf.texi: Likewise.
41950         * doc/posix-functions/swscanf.texi: Likewise.
41951         * doc/posix-functions/vfwprintf.texi: Likewise.
41952         * doc/posix-functions/vfwscanf.texi: Likewise.
41953         * doc/posix-functions/vswprintf.texi: Likewise.
41954         * doc/posix-functions/vswscanf.texi: Likewise.
41955         * doc/posix-functions/vwprintf.texi: Likewise.
41956         * doc/posix-functions/vwscanf.texi: Likewise.
41957         * doc/posix-functions/wcscasecmp.texi: Likewise.
41958         * doc/posix-functions/wcsdup.texi: Likewise.
41959         * doc/posix-functions/wcsftime.texi: Likewise.
41960         * doc/posix-functions/wcsncasecmp.texi: Likewise.
41961         * doc/posix-functions/wprintf.texi: Likewise.
41962         * doc/posix-functions/wscanf.texi: Likewise.
41963         * doc/glibc-functions/gethostbyname2.texi: Likewise.
41964
41965 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41966
41967         maint.mk: really add $(AM_MAKEFLAGS)
41968         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
41969         was inadvertently omitted in the last commit.
41970         Spotted by Bruno Haible.
41971
41972         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
41973         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
41974         $(AM_MAKEFLAGS)' rather than plain `make'.
41975
41976         gnulib-tool: execute $MAKE not make
41977         * gnulib-tool: Default $MAKE to 'make'.
41978         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
41979         than make.  Initialize $MAKE in the do-autobuild script.
41980
41981         gnulib-tool: use $MAKE not make in generated files
41982         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
41983         make, in generated files.  Initialize $MAKE in the do-autobuild
41984         script.
41985
41986         * top/GNUmakefile (_have-git-version-gen): Fix typo.
41987
41988         GNUmakefile: disable parallelism only for multiple, recursive targets
41989         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
41990         additions in the Makefile.
41991         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
41992         by Automake.
41993         (.NOTPARALLEL): Only disable parallel builds if multiple targets
41994         are listed on the command line and at least one of them is
41995         listed in $(ALL_RECURSIVE_TARGETS).
41996
41997 2009-03-14  Bruno Haible  <bruno@clisp.org>
41998
41999         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
42000         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
42001         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
42002         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
42003         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
42004         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
42005         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
42006         unistr/u8-uctomb.
42007         * modules/unistr/u8-strchr (Depends-on): Likewise.
42008         * modules/unistr/u8-strrchr (Depends-on): Likewise.
42009         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
42010         unistr/u16-uctomb.
42011         * modules/unistr/u16-strchr (Depends-on): Likewise.
42012         * modules/unistr/u16-strrchr (Depends-on): Likewise.
42013
42014 2009-03-12  Bruno Haible  <bruno@clisp.org>
42015
42016         Work around select() bug on Interix 3.5.
42017         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
42018         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
42019         * m4/select.m4: New file.
42020         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
42021         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
42022         * modules/select (Files): Add m4/select.m4.
42023         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
42024         * modules/nanosleep (Depends-on): Add select.
42025         * modules/poll (Depends-on): Likewise.
42026         * doc/posix-functions/select.texi: Mention the Interix bug.
42027         Reported by Markus Duft <mduft@gentoo.org>.
42028
42029         * lib/select.c: Renamed from lib/winsock-select.c.
42030         * modules/select (Files): Add lib/select.c, remove
42031         lib/winsock-select.c.
42032         (configure.ac): Update.
42033
42034 2009-03-12  Jim Meyering  <meyering@redhat.com>
42035
42036         avoid gcc warnings about unused macro definitions
42037         * lib/readtokens.c (STREQ): Remove unused definition.
42038         * lib/xmalloc.c (SIZE_MAX): Likewise.
42039         * lib/openat-die.c (N_): Likewise.
42040         * lib/mountlist.c (SIZE_MAX): Remove definition.
42041         Instead, include <stdint.h>.
42042         * lib/readutmp.c: Likewise.
42043         * modules/readutmp (Depends-on): Add stdint.
42044         * modules/mountlist (Depends-on): Add stdint.
42045         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
42046
42047 2009-03-10  Bruno Haible  <bruno@clisp.org>
42048
42049         Tests for module 'mbmemcasecoll'.
42050         * modules/mbmemcasecoll-tests: New file.
42051         * tests/test-mbmemcasecoll1.sh: New file.
42052         * tests/test-mbmemcasecoll2.sh: New file.
42053         * tests/test-mbmemcasecoll3.sh: New file.
42054         * tests/test-mbmemcasecoll.c: New file.
42055
42056         New module 'mbmemcasecoll'.
42057         * lib/mbmemcasecoll.h: New file.
42058         * lib/mbmemcasecoll.c: New file.
42059         * modules/mbmemcasecoll: New file.
42060
42061         * tests/test-mbmemcasecmp.h: New file, extracted from
42062         tests/test-mbmemcasecmp.c.
42063         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
42064         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
42065         (main): Update.
42066         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
42067
42068 2009-03-09  Bruno Haible  <bruno@clisp.org>
42069
42070         Tests for module 'mbmemcasecmp'.
42071         * modules/mbmemcasecmp-tests: New file.
42072         * tests/test-mbmemcasecmp1.sh: New file.
42073         * tests/test-mbmemcasecmp2.sh: New file.
42074         * tests/test-mbmemcasecmp3.sh: New file.
42075         * tests/test-mbmemcasecmp.c: New file.
42076
42077         New module 'mbmemcasecmp'.
42078         * lib/mbmemcasecmp.h: New file.
42079         * lib/mbmemcasecmp.c: New file.
42080         * modules/mbmemcasecmp: New file.
42081
42082 2009-03-09  Bruno Haible  <bruno@clisp.org>
42083
42084         Tests for module 'unicase/ulc-casecoll'.
42085         * modules/unicase/ulc-casecoll-tests: New file.
42086         * tests/unicase/test-ulc-casecoll1.sh: New file.
42087         * tests/unicase/test-ulc-casecoll2.sh: New file.
42088         * tests/unicase/test-ulc-casecoll.c: New file.
42089
42090         New module 'unicase/ulc-casecoll'.
42091         * lib/unicase.h (ulc_casecoll): New declaration.
42092         * lib/unicase/ulc-casecoll.c: New file.
42093         * modules/unicase/ulc-casecoll: New file.
42094
42095         New module 'unicase/ulc-casexfrm'.
42096         * lib/unicase.h (ulc_casexfrm): New declaration.
42097         * lib/unicase/ulc-casexfrm.c: New file.
42098         * modules/unicase/ulc-casexfrm: New file.
42099
42100 2009-03-09  Bruno Haible  <bruno@clisp.org>
42101
42102         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
42103         invocations.
42104
42105         * m4/mbscasecmp.m4: Remove file.
42106         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
42107         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
42108
42109         * m4/mbscasestr.m4: Remove file.
42110         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
42111         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
42112
42113         * m4/mbschr.m4: Remove file.
42114         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
42115         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
42116
42117         * m4/mbscspn.m4: Remove file.
42118         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
42119         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
42120
42121         * m4/mbslen.m4: Remove file.
42122         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
42123         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
42124
42125         * m4/mbsncasecmp.m4: Remove file.
42126         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
42127         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
42128
42129         * m4/mbsnlen.m4: Remove file.
42130         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
42131         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
42132
42133         * m4/mbspbrk.m4: Remove file.
42134         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
42135         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
42136
42137         * m4/mbspcasecmp.m4: Remove file.
42138         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
42139         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
42140
42141         * m4/mbsrchr.m4: Remove file.
42142         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
42143         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
42144
42145         * m4/mbssep.m4: Remove file.
42146         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
42147         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
42148
42149         * m4/mbsspn.m4: Remove file.
42150         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
42151         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
42152
42153         * m4/mbsstr.m4: Remove file.
42154         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
42155         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
42156
42157         * m4/mbstok_r.m4: Remove file.
42158         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
42159         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
42160
42161         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
42162
42163         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
42164         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
42165
42166         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
42167
42168 2009-03-08  Bruno Haible  <bruno@clisp.org>
42169
42170         Tests for module 'unicase/ulc-casecmp'.
42171         * modules/unicase/ulc-casecmp-tests: New file.
42172         * tests/unicase/test-ulc-casecmp1.sh: New file.
42173         * tests/unicase/test-ulc-casecmp2.sh: New file.
42174         * tests/unicase/test-ulc-casecmp.c: New file.
42175
42176         New module 'unicase/ulc-casecmp'.
42177         * lib/unicase.h (ulc_casecmp): New declaration.
42178         * lib/unicase/ulc-casecmp.c: New file.
42179         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
42180         'const SRC_UNIT *'.
42181         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
42182         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
42183         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
42184         * modules/unicase/ulc-casecmp: New file.
42185
42186         Tests for module 'unicase/u32-is-cased'.
42187         * modules/unicase/u32-is-cased-tests: New file.
42188         * tests/unicase/test-u32-is-cased.c: New file.
42189
42190         Tests for module 'unicase/u16-is-cased'.
42191         * modules/unicase/u16-is-cased-tests: New file.
42192         * tests/unicase/test-u16-is-cased.c: New file.
42193
42194         Tests for module 'unicase/u8-is-cased'.
42195         * modules/unicase/u8-is-cased-tests: New file.
42196         * tests/unicase/test-u8-is-cased.c: New file.
42197         * tests/unicase/test-is-cased.h: New file.
42198
42199         New module 'unicase/u32-is-cased'.
42200         * lib/unicase/u32-is-cased.c: New file.
42201         * modules/unicase/u32-is-cased: New file.
42202
42203         New module 'unicase/u16-is-cased'.
42204         * lib/unicase/u16-is-cased.c: New file.
42205         * modules/unicase/u16-is-cased: New file.
42206
42207         New module 'unicase/u8-is-cased'.
42208         * lib/unicase/u8-is-cased.c: New file.
42209         * lib/unicase/u-is-cased.h: New file.
42210         * modules/unicase/u8-is-cased: New file.
42211
42212         Tests for module 'unicase/u32-is-casefolded'.
42213         * modules/unicase/u32-is-casefolded-tests: New file.
42214         * tests/unicase/test-u32-is-casefolded.c: New file.
42215
42216         Tests for module 'unicase/u16-is-casefolded'.
42217         * modules/unicase/u16-is-casefolded-tests: New file.
42218         * tests/unicase/test-u16-is-casefolded.c: New file.
42219
42220         Tests for module 'unicase/u8-is-casefolded'.
42221         * modules/unicase/u8-is-casefolded-tests: New file.
42222         * tests/unicase/test-u8-is-casefolded.c: New file.
42223         * tests/unicase/test-is-casefolded.h: New file.
42224
42225         New module 'unicase/u32-is-casefolded'.
42226         * lib/unicase/u32-is-casefolded.c: New file.
42227         * modules/unicase/u32-is-casefolded: New file.
42228
42229         New module 'unicase/u16-is-casefolded'.
42230         * lib/unicase/u16-is-casefolded.c: New file.
42231         * modules/unicase/u16-is-casefolded: New file.
42232
42233         New module 'unicase/u8-is-casefolded'.
42234         * lib/unicase/u8-is-casefolded.c: New file.
42235         * modules/unicase/u8-is-casefolded: New file.
42236
42237         Tests for module 'unicase/u32-is-titlecase'.
42238         * modules/unicase/u32-is-titlecase-tests: New file.
42239         * tests/unicase/test-u32-is-titlecase.c: New file.
42240
42241         Tests for module 'unicase/u16-is-titlecase'.
42242         * modules/unicase/u16-is-titlecase-tests: New file.
42243         * tests/unicase/test-u16-is-titlecase.c: New file.
42244
42245         Tests for module 'unicase/u8-is-titlecase'.
42246         * modules/unicase/u8-is-titlecase-tests: New file.
42247         * tests/unicase/test-u8-is-titlecase.c: New file.
42248         * tests/unicase/test-is-titlecase.h: New file.
42249
42250         New module 'unicase/u32-is-titlecase'.
42251         * lib/unicase/u32-is-titlecase.c: New file.
42252         * modules/unicase/u32-is-titlecase: New file.
42253
42254         New module 'unicase/u16-is-titlecase'.
42255         * lib/unicase/u16-is-titlecase.c: New file.
42256         * modules/unicase/u16-is-titlecase: New file.
42257
42258         New module 'unicase/u8-is-titlecase'.
42259         * lib/unicase/u8-is-titlecase.c: New file.
42260         * modules/unicase/u8-is-titlecase: New file.
42261
42262         Tests for module 'unicase/u32-is-lowercase'.
42263         * modules/unicase/u32-is-lowercase-tests: New file.
42264         * tests/unicase/test-u32-is-lowercase.c: New file.
42265
42266         Tests for module 'unicase/u16-is-lowercase'.
42267         * modules/unicase/u16-is-lowercase-tests: New file.
42268         * tests/unicase/test-u16-is-lowercase.c: New file.
42269
42270         Tests for module 'unicase/u8-is-lowercase'.
42271         * modules/unicase/u8-is-lowercase-tests: New file.
42272         * tests/unicase/test-u8-is-lowercase.c: New file.
42273         * tests/unicase/test-is-lowercase.h: New file.
42274
42275         New module 'unicase/u32-is-lowercase'.
42276         * lib/unicase/u32-is-lowercase.c: New file.
42277         * modules/unicase/u32-is-lowercase: New file.
42278
42279         New module 'unicase/u16-is-lowercase'.
42280         * lib/unicase/u16-is-lowercase.c: New file.
42281         * modules/unicase/u16-is-lowercase: New file.
42282
42283         New module 'unicase/u8-is-lowercase'.
42284         * lib/unicase/u8-is-lowercase.c: New file.
42285         * modules/unicase/u8-is-lowercase: New file.
42286
42287         Tests for module 'unicase/u32-is-uppercase'.
42288         * modules/unicase/u32-is-uppercase-tests: New file.
42289         * tests/unicase/test-u32-is-uppercase.c: New file.
42290
42291         Tests for module 'unicase/u16-is-uppercase'.
42292         * modules/unicase/u16-is-uppercase-tests: New file.
42293         * tests/unicase/test-u16-is-uppercase.c: New file.
42294
42295         Tests for module 'unicase/u8-is-uppercase'.
42296         * modules/unicase/u8-is-uppercase-tests: New file.
42297         * tests/unicase/test-u8-is-uppercase.c: New file.
42298         * tests/unicase/test-is-uppercase.h: New file.
42299
42300         New module 'unicase/u32-is-uppercase'.
42301         * lib/unicase/u32-is-uppercase.c: New file.
42302         * modules/unicase/u32-is-uppercase: New file.
42303
42304         New module 'unicase/u16-is-uppercase'.
42305         * lib/unicase/u16-is-uppercase.c: New file.
42306         * modules/unicase/u16-is-uppercase: New file.
42307
42308         New module 'unicase/u8-is-uppercase'.
42309         * lib/unicase/u8-is-uppercase.c: New file.
42310         * modules/unicase/u8-is-uppercase: New file.
42311
42312         New module 'unicase/u32-is-invariant'.
42313         * lib/unicase/u32-is-invariant.c: New file.
42314         * modules/unicase/u32-is-invariant: New file.
42315
42316         New module 'unicase/u16-is-invariant'.
42317         * lib/unicase/u16-is-invariant.c: New file.
42318         * modules/unicase/u16-is-invariant: New file.
42319
42320         New module 'unicase/u8-is-invariant'.
42321         * lib/unicase/u8-is-invariant.c: New file.
42322         * lib/unicase/invariant.h: New file.
42323         * lib/unicase/u-is-invariant.h: New file.
42324         * modules/unicase/u8-is-invariant: New file.
42325
42326         Tests for module 'unicase/u32-casecoll'.
42327         * modules/unicase/u32-casecoll-tests: New file.
42328         * tests/unicase/test-u32-casecoll.c: New file.
42329
42330         Tests for module 'unicase/u16-casecoll'.
42331         * modules/unicase/u16-casecoll-tests: New file.
42332         * tests/unicase/test-u16-casecoll.c: New file.
42333
42334         Tests for module 'unicase/u8-casecoll'.
42335         * modules/unicase/u8-casecoll-tests: New file.
42336         * tests/unicase/test-u8-casecoll.c: New file.
42337
42338         New module 'unicase/u32-casecoll'.
42339         * lib/unicase/u32-casecoll.c: New file.
42340         * modules/unicase/u32-casecoll: New file.
42341
42342         New module 'unicase/u16-casecoll'.
42343         * lib/unicase/u16-casecoll.c: New file.
42344         * modules/unicase/u16-casecoll: New file.
42345
42346         New module 'unicase/u8-casecoll'.
42347         * lib/unicase/u8-casecoll.c: New file.
42348         * lib/unicase/u-casecoll.h: New file.
42349         * modules/unicase/u8-casecoll: New file.
42350
42351         New module 'unicase/u32-casexfrm'.
42352         * lib/unicase/u32-casexfrm.c: New file.
42353         * modules/unicase/u32-casexfrm: New file.
42354
42355         New module 'unicase/u16-casexfrm'.
42356         * lib/unicase/u16-casexfrm.c: New file.
42357         * modules/unicase/u16-casexfrm: New file.
42358
42359         New module 'unicase/u8-casexfrm'.
42360         * lib/unicase/u8-casexfrm.c: New file.
42361         * lib/unicase/u-casexfrm.h: New file.
42362         * modules/unicase/u8-casexfrm: New file.
42363
42364         Tests for module 'unicase/u32-casecmp'.
42365         * modules/unicase/u32-casecmp-tests: New file.
42366         * tests/unicase/test-u32-casecmp.c: New file.
42367
42368         Tests for module 'unicase/u16-casecmp'.
42369         * modules/unicase/u16-casecmp-tests: New file.
42370         * tests/unicase/test-u16-casecmp.c: New file.
42371
42372         Tests for module 'unicase/u8-casecmp'.
42373         * modules/unicase/u8-casecmp-tests: New file.
42374         * tests/unicase/test-u8-casecmp.c: New file.
42375         * tests/unicase/test-casecmp.h: New file.
42376
42377         New module 'unicase/u32-casecmp'.
42378         * lib/unicase/u32-casecmp.c: New file.
42379         * modules/unicase/u32-casecmp: New file.
42380
42381         New module 'unicase/u16-casecmp'.
42382         * lib/unicase/u16-casecmp.c: New file.
42383         * modules/unicase/u16-casecmp: New file.
42384
42385         New module 'unicase/u8-casecmp'.
42386         * lib/unicase/u8-casecmp.c: New file.
42387         * lib/unicase/u-casecmp.h: New file.
42388         * modules/unicase/u8-casecmp: New file.
42389
42390         Tests for module 'unicase/u32-casefold'.
42391         * modules/unicase/u32-casefold-tests: New file.
42392         * tests/unicase/test-u32-casefold.c: New file.
42393
42394         Tests for module 'unicase/u16-casefold'.
42395         * modules/unicase/u16-casefold-tests: New file.
42396         * tests/unicase/test-u16-casefold.c: New file.
42397
42398         Tests for module 'unicase/u8-casefold'.
42399         * modules/unicase/u8-casefold-tests: New file.
42400         * tests/unicase/test-u8-casefold.c: New file.
42401
42402         New module 'unicase/u32-casefold'.
42403         * lib/unicase/u32-casefold.c: New file.
42404         * modules/unicase/u32-casefold: New file.
42405
42406         New module 'unicase/u16-casefold'.
42407         * lib/unicase/u16-casefold.c: New file.
42408         * modules/unicase/u16-casefold: New file.
42409
42410         New module 'unicase/u8-casefold'.
42411         * lib/unicase/u8-casefold.c: New file.
42412         * lib/unicase/u-casefold.h: New file.
42413         * modules/unicase/u8-casefold: New file.
42414
42415         New module 'unicase/tocasefold'.
42416         * lib/unicase/casefold.h: New file.
42417         * lib/unicase/tocasefold.c: New file.
42418         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
42419         * modules/unicase/tocasefold: New file.
42420
42421         Tests for module 'unicase/u32-totitle'.
42422         * modules/unicase/u32-totitle-tests: New file.
42423         * tests/unicase/test-u32-totitle.c: New file.
42424
42425         Tests for module 'unicase/u16-totitle'.
42426         * modules/unicase/u16-totitle-tests: New file.
42427         * tests/unicase/test-u16-totitle.c: New file.
42428
42429         Tests for module 'unicase/u8-totitle'.
42430         * modules/unicase/u8-totitle-tests: New file.
42431         * tests/unicase/test-u8-totitle.c: New file.
42432
42433         New module 'unicase/u32-totitle'.
42434         * lib/unicase/u32-totitle.c: New file.
42435         * modules/unicase/u32-totitle: New file.
42436
42437         New module 'unicase/u16-totitle'.
42438         * lib/unicase/u16-totitle.c: New file.
42439         * modules/unicase/u16-totitle: New file.
42440
42441         New module 'unicase/u8-totitle'.
42442         * lib/unicase/u8-totitle.c: New file.
42443         * lib/unicase/u-totitle.h: New file.
42444         * modules/unicase/u8-totitle: New file.
42445
42446         Tests for module 'unicase/u32-tolower'.
42447         * modules/unicase/u32-tolower-tests: New file.
42448         * tests/unicase/test-u32-tolower.c: New file.
42449
42450         Tests for module 'unicase/u16-tolower'.
42451         * modules/unicase/u16-tolower-tests: New file.
42452         * tests/unicase/test-u16-tolower.c: New file.
42453
42454         Tests for module 'unicase/u8-tolower'.
42455         * modules/unicase/u8-tolower-tests: New file.
42456         * tests/unicase/test-u8-tolower.c: New file.
42457
42458         New module 'unicase/u32-tolower'.
42459         * lib/unicase/u32-tolower.c: New file.
42460         * modules/unicase/u32-tolower: New file.
42461
42462         New module 'unicase/u16-tolower'.
42463         * lib/unicase/u16-tolower.c: New file.
42464         * modules/unicase/u16-tolower: New file.
42465
42466         New module 'unicase/u8-tolower'.
42467         * lib/unicase/u8-tolower.c: New file.
42468         * modules/unicase/u8-tolower: New file.
42469
42470         Tests for module 'unicase/u32-toupper'.
42471         * modules/unicase/u32-toupper-tests: New file.
42472         * tests/unicase/test-u32-toupper.c: New file.
42473
42474         Tests for module 'unicase/u16-toupper'.
42475         * modules/unicase/u16-toupper-tests: New file.
42476         * tests/unicase/test-u16-toupper.c: New file.
42477
42478         Tests for module 'unicase/u8-toupper'.
42479         * modules/unicase/u8-toupper-tests: New file.
42480         * tests/unicase/test-u8-toupper.c: New file.
42481
42482         New module 'unicase/u32-toupper'.
42483         * lib/unicase/u32-toupper.c: New file.
42484         * modules/unicase/u32-toupper: New file.
42485
42486         New module 'unicase/u16-toupper'.
42487         * lib/unicase/u16-toupper.c: New file.
42488         * modules/unicase/u16-toupper: New file.
42489
42490         New module 'unicase/u8-toupper'.
42491         * lib/unicase/u8-toupper.c: New file.
42492         * modules/unicase/u8-toupper: New file.
42493
42494         New module 'unicase/u32-casemap'.
42495         * lib/unicase/u32-casemap.c: New file.
42496         * modules/unicase/u32-casemap: New file.
42497
42498         New module 'unicase/u16-casemap'.
42499         * lib/unicase/u16-casemap.c: New file.
42500         * modules/unicase/u16-casemap: New file.
42501
42502         New module 'unicase/u8-casemap'.
42503         * lib/unicase/unicasemap.h: New file.
42504         * lib/unicase/u8-casemap.c: New file.
42505         * lib/unicase/u-casemap.h: New file.
42506         * modules/unicase/u8-casemap: New file.
42507
42508         New module 'unicase/special-casing'.
42509         * lib/unicase/special-casing.h: New file.
42510         * lib/unicase/special-casing.c: New file.
42511         * lib/unicase/special-casing-table.gperf: New file, generated by
42512         gen-uni-tables.c.
42513         * modules/unicase/special-casing: New file.
42514
42515         Tests for module 'unicase/locale-language'.
42516         * modules/unicase/locale-language-tests: New file.
42517         * tests/unicase/test-locale-language.sh: New file.
42518         * tests/unicase/test-locale-language.c: New file.
42519
42520         New module 'unicase/locale-language'.
42521         * lib/unicase/locale-language.c: New file.
42522         * lib/unicase/locale-languages.gperf: New file.
42523         * modules/unicase/locale-language: New file.
42524
42525         Generate more tables for case conversion and case folding.
42526         * lib/gen-uni-tables.c (SCC_*): New enum items.
42527         (struct special_casing_rule): New type.
42528         (casing_rules, num_casing_rules, allocated_casing_rules): New
42529         variables.
42530         (add_casing_rule, fill_casing_rules): New functions.
42531         (struct casefold_rule): New type.
42532         (casefolding_rules, num_casefolding_rules,
42533         allocated_casefolding_rules): New variables.
42534         (fill_casefolding_rules): New function.
42535         (unicode_casefold): New variable.
42536         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
42537         sort_casing_rules, output_casing_rules): New functions.
42538         (main): Accept to more arguments: SpecialCasing.txt and
42539         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
42540         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
42541         Output mapping for casefolding.
42542
42543         * lib/unicase.h: Include stdbool.h, uninorm.h.
42544         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
42545         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
42546         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
42547         arguments.
42548         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
42549         resultp arguments.
42550         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
42551         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
42552         resultp arguments.
42553         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
42554         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
42555         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
42556         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
42557         declarations.
42558         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
42559
42560 2009-03-08  Bruno Haible  <bruno@clisp.org>
42561
42562         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42563         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
42564         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
42565         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42566
42567 2009-03-07  Bruno Haible  <bruno@clisp.org>
42568
42569         Adjust u*_normcmp, u*_normcoll API.
42570         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
42571         u16_normcoll, u32_normcoll): Change failure conventions.
42572         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
42573         errno and return -1.
42574         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
42575
42576 2009-03-07  Bruno Haible  <bruno@clisp.org>
42577
42578         Tests for module 'uninorm/u32-normcoll'.
42579         * modules/uninorm/u32-normcoll-tests: New file.
42580         * tests/uninorm/test-u32-normcoll.c: New file.
42581
42582         Tests for module 'uninorm/u16-normcoll'.
42583         * modules/uninorm/u16-normcoll-tests: New file.
42584         * tests/uninorm/test-u16-normcoll.c: New file.
42585
42586         Tests for module 'uninorm/u8-normcoll'.
42587         * modules/uninorm/u8-normcoll-tests: New file.
42588         * tests/uninorm/test-u8-normcoll.c: New file.
42589
42590 2009-03-07  Bruno Haible  <bruno@clisp.org>
42591
42592         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
42593         tests/uninorm/test-u32-normcmp.c.
42594         * tests/uninorm/test-u32-normcmp.c: Include it.
42595         (test_nonascii): New function, extracted from main. Add some more
42596         tests.
42597         (main): Invoke test_ascii and test_nonascii.
42598         * modules/uninorm/u32-normcmp-tests (Files): Add
42599         tests/uninorm/test-u32-normcmp.h.
42600         (Depends-on): Remove uninorm/u32-normcmp.
42601
42602         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
42603         tests/uninorm/test-u16-normcmp.c.
42604         * tests/uninorm/test-u16-normcmp.c: Include it.
42605         (test_nonascii): New function, extracted from main. Add some more
42606         tests.
42607         (main): Invoke test_ascii and test_nonascii.
42608         * modules/uninorm/u16-normcmp-tests (Files): Add
42609         tests/uninorm/test-u16-normcmp.h.
42610         (Depends-on): Remove uninorm/u16-normcmp.
42611
42612         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
42613         tests/uninorm/test-u8-normcmp.c.
42614         * tests/uninorm/test-u8-normcmp.c: Include it.
42615         (test_nonascii): New function, extracted from main. Add some more
42616         tests.
42617         (main): Invoke test_ascii and test_nonascii.
42618         * modules/uninorm/u8-normcmp-tests (Files): Add
42619         tests/uninorm/test-u8-normcmp.h.
42620         (Depends-on): Remove uninorm/u8-normcmp.
42621
42622 2009-03-07  Bruno Haible  <bruno@clisp.org>
42623
42624         New module 'uninorm/u32-normcoll'.
42625         * lib/uninorm/u32-normcoll.c: New file.
42626         * modules/uninorm/u32-normcoll: New file.
42627
42628         New module 'uninorm/u16-normcoll'.
42629         * lib/uninorm/u16-normcoll.c: New file.
42630         * modules/uninorm/u16-normcoll: New file.
42631
42632         New module 'uninorm/u8-normcoll'.
42633         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
42634         declarations.
42635         * lib/uninorm/u8-normcoll.c: New file.
42636         * lib/uninorm/u-normcoll.h: New file.
42637         * modules/uninorm/u8-normcoll: New file.
42638
42639         New module 'uninorm/u32-normxfrm'.
42640         * lib/uninorm/u32-normxfrm.c: New file.
42641         * modules/uninorm/u32-normxfrm: New file.
42642
42643         New module 'uninorm/u16-normxfrm'.
42644         * lib/uninorm/u16-normxfrm.c: New file.
42645         * modules/uninorm/u16-normxfrm: New file.
42646
42647         New module 'uninorm/u8-normxfrm'.
42648         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
42649         declarations.
42650         * lib/uninorm/u8-normxfrm.c: New file.
42651         * lib/uninorm/u-normxfrm.h: New file.
42652         * modules/uninorm/u8-normxfrm: New file.
42653
42654 2009-03-07  Bruno Haible  <bruno@clisp.org>
42655
42656         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
42657         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
42658         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
42659
42660 2009-03-07  Bruno Haible  <bruno@clisp.org>
42661
42662         New module 'memxfrm'.
42663         * lib/memxfrm.h: New file.
42664         * lib/memxfrm.c: New file.
42665         * modules/memxfrm: New file.
42666
42667 2009-03-07  Bruno Haible  <bruno@clisp.org>
42668
42669         New module 'memcmp2'.
42670         * lib/memcmp2.h: New file.
42671         * lib/memcmp2.c: New file.
42672         * modules/memcmp2: New file.
42673
42674 2009-03-07  Bruno Haible  <bruno@clisp.org>
42675
42676         Tests for module 'uninorm/decomposing-form'.
42677         * modules/uninorm/decomposing-form-tests: New file.
42678         * tests/uninorm/test-decomposing-form.c: New file.
42679
42680         New module 'uninorm/decomposing-form'.
42681         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
42682         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
42683         Add 'decomposing_variant' field.
42684         * lib/uninorm/decomposing-form.c: New file.
42685         * lib/uninorm/nfc.c (uninorm_nfc): Update.
42686         * lib/uninorm/nfd.c (uninorm_nfd): Update.
42687         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
42688         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
42689         * modules/uninorm/decomposing-form: New file.
42690         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
42691         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
42692
42693 2009-03-07  Bruno Haible  <bruno@clisp.org>
42694
42695         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
42696         strings.
42697
42698 2009-03-06  Bruno Haible  <bruno@clisp.org>
42699
42700         Tests for module 'uninorm/u32-normcmp'.
42701         * tests/uninorm/test-u32-normcmp.c: New file.
42702         * modules/uninorm/u32-normcmp-tests: New file.
42703
42704         Tests for module 'uninorm/u16-normcmp'.
42705         * tests/uninorm/test-u16-normcmp.c: New file.
42706         * modules/uninorm/u16-normcmp-tests: New file.
42707
42708         Tests for module 'uninorm/u8-normcmp'.
42709         * tests/uninorm/test-u8-normcmp.c: New file.
42710         * modules/uninorm/u8-normcmp-tests: New file.
42711
42712         New module 'uninorm/u32-normcmp'.
42713         * lib/uninorm/u32-normcmp.c: New file.
42714         * modules/uninorm/u32-normcmp: New file.
42715
42716         New module 'uninorm/u16-normcmp'.
42717         * lib/uninorm/u16-normcmp.c: New file.
42718         * modules/uninorm/u16-normcmp: New file.
42719
42720         New module 'uninorm/u8-normcmp'.
42721         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
42722         declarations.
42723         * lib/uninorm/u8-normcmp.c: New file.
42724         * lib/uninorm/u-normcmp.h: New file.
42725         * modules/uninorm/u8-normcmp: New file.
42726
42727 2009-03-06  Bruno Haible  <bruno@clisp.org>
42728
42729         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
42730         Reported by Eric Blake.
42731
42732 2009-03-06  Eric Blake  <ebb9@byu.net>
42733             Bruno Haible  <bruno@clisp.org>
42734
42735         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
42736         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
42737         condition.
42738         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42739         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
42740         condition.
42741         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
42742
42743 2009-03-06  Eric Blake  <ebb9@byu.net>
42744
42745         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
42746         to avoid compiler warnings.
42747         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
42748
42749 2009-03-05  Bruno Haible  <bruno@clisp.org>
42750
42751         * tests/test-ftell.c (main): Disable test beyond end of file on
42752         FreeMiNT.
42753         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42754
42755 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
42756
42757         * lib/filevercmp.c: Move hidden files up in ordering.
42758         * tests/test-filevercmp.c: Add tests for hidden files.
42759
42760 2009-03-04  Bruno Haible  <bruno@clisp.org>
42761
42762         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
42763         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
42764         AM_CFLAGS.
42765         Reported by Simon Josefsson.
42766
42767 2009-03-03  Bruno Haible  <bruno@clisp.org>
42768
42769         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
42770         Reported by Simon Josefsson.
42771
42772         * doc/ld-version-script.texi: Update node reference.
42773
42774 2009-03-03  Bruno Haible  <bruno@clisp.org>
42775
42776         * modules/visibility (License): Change to 'unlimited'.
42777         Suggested by Simon Josefsson.
42778
42779 2009-03-03  Jim Meyering  <meyering@redhat.com>
42780
42781         unlinkdir: cannot_unlink_dir may modify process state
42782         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
42783         it's neither thread-safe nor appropriate for use in a library.
42784
42785 2009-03-03  Eric Blake  <ebb9@byu.net>
42786
42787         test-closein: silence test under Darwin
42788         * tests/test-closein.sh: Ignore stderr from cat, since we don't
42789         care if it dies from EPIPE or EBADF.
42790
42791 2009-03-03  Bruno Haible  <bruno@clisp.org>
42792
42793         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
42794         earlier.
42795         * doc/visibility.texi: Fix @node and @section.
42796
42797 2009-03-03  Simon Josefsson  <simon@josefsson.org>
42798
42799         * doc/gnulib.texi: Link to sections for ld version script and
42800         visibility.
42801         * doc/visibility.texi: Add @node and @section.
42802         * modules/ld-version-script: New module.
42803         * m4/ld-version-script.m4: New file.
42804         * doc/ld-version-script.texi: New file.
42805
42806 2009-03-02  David Lutterkort  <lutter@redhat.com>
42807
42808         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
42809         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42810
42811 2009-03-02  Bruno Haible  <bruno@clisp.org>
42812
42813         * doc/visibility.texi: Mention libtool's -export-symbols option.
42814
42815 2009-03-02  Jim Meyering  <meyering@redhat.com>
42816
42817         announce-gen: new option: --no-print-checksums
42818         * build-aux/announce-gen (usage): Describe it.
42819         (print_checksums): Print a newline here, not in the [*] footnote.
42820         (main): Honor it.
42821
42822 2009-03-01  Bruno Haible  <bruno@clisp.org>
42823
42824         Use socklen_t in the native Windows replacements prototypes.
42825         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
42826         instead of 'int'.
42827         * lib/getsockopt.c (rpl_getsockopt): Likewise.
42828         * lib/setsockopt.c (rpl_setsockopt): Likewise.
42829         * modules/getsockopt (Depends-on): Add socklen.
42830         * modules/setsockopt (Depends-on): Add socklen.
42831
42832 2009-03-01  Bruno Haible  <bruno@clisp.org>
42833
42834         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
42835         least 4.2.
42836
42837 2009-03-01  Eric Blake  <ebb9@byu.net>
42838             Bruno Haible  <bruno@clisp.org>
42839
42840         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
42841         error messages.
42842         * lib/wait-process.c (wait_subprocess): Omit error message about
42843         deadly signal sent to the child of termsigp != NULL.
42844
42845 2009-03-01  Eric Blake  <ebb9@byu.net>
42846
42847         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
42848
42849 2009-03-01  Bruno Haible  <bruno@clisp.org>
42850
42851         Avoid a gcc warning.
42852         * tests/test-sched.c (b): Make global.
42853         Reported by Eric Blake.
42854
42855 2009-01-19  Martin Lambers  <marlam@marlam.de>
42856
42857         Provide POSIX semantics for socket timeout options on W32.
42858         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
42859         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
42860         * modules/setsockopt: Depend on sys_time module for struct timeval.
42861         * modules/getsockopt: Depend on sys_time module for struct timeval.
42862
42863 2009-03-01  Simon Josefsson  <simon@josefsson.org>
42864
42865         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
42866         __USE_GNU, for consistency with netdb.in.h.
42867         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42868
42869 2009-03-01  Bruno Haible  <bruno@clisp.org>
42870
42871         More support for FreeMiNT.
42872         * lib/fseeko.c (rpl_fseeko): Complete last commit.
42873         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42874
42875 2009-03-01  Bruno Haible  <bruno@clisp.org>
42876
42877         More support for FreeMiNT.
42878         * lib/fpurge.c (fpurge): Correct last commit.
42879         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42880
42881 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42882
42883         Fix unportable awk script in vc-list-files.
42884         * build-aux/vc-list-files: In the replacement awk script, use
42885         substr with a second argument of 1, not zero.
42886         Report by Simon Josefsson.
42887
42888 2009-02-28  Bruno Haible  <bruno@clisp.org>
42889
42890         More support for FreeMiNT.
42891         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
42892         to FreeMiNT today.
42893         * lib/fwriting.c (fwriting): Likewise.
42894         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
42895
42896 2009-02-28  Bruno Haible  <bruno@clisp.org>
42897
42898         * tests/test-freadseek.c (main): Disable test beyond end of file on
42899         FreeMiNT.
42900         * tests/test-ftello.c (main): Likewise.
42901         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
42902
42903 2009-02-28  Bruno Haible  <bruno@clisp.org>
42904
42905         Add tentative support for FreeMiNT.
42906         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
42907         * lib/fpurge.c (fpurge): Likewise.
42908         * lib/freadable.c (freadable): Likewise.
42909         * lib/freading.c (freading): Likewise.
42910         * lib/freadptr.c (freadptr): Likewise.
42911         * lib/freadseek.c (freadptrinc): Likewise.
42912         * lib/fseeko.c (rpl_fseeko): Likewise.
42913         * lib/fseterr.c (fseterr): Likewise.
42914         * lib/fwritable.c (fwritable): Likewise.
42915         * lib/fwriting.c (fwriting): Likewise.
42916         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
42917         Hourihane.
42918         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42919
42920 2009-02-28  Bruno Haible  <bruno@clisp.org>
42921
42922         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
42923         SIGCHLD.
42924         Reported by Jim Meyering.
42925
42926 2009-02-28  Bruno Haible  <bruno@clisp.org>
42927
42928         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
42929         Mention the results of these tests on various platforms.
42930         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
42931         order.
42932         * doc/posix-functions/printf.texi: Likewise.
42933         * doc/posix-functions/snprintf.texi: Likewise.
42934         * doc/posix-functions/sprintf.texi: Likewise.
42935         * doc/posix-functions/vfprintf.texi: Likewise.
42936         * doc/posix-functions/vprintf.texi: Likewise.
42937         * doc/posix-functions/vsnprintf.texi: Likewise.
42938         * doc/posix-functions/vsprintf.texi: Likewise.
42939         * doc/glibc-functions/obstack_printf.texi: Likewise.
42940         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
42941
42942 2009-02-28  Bruno Haible  <bruno@clisp.org>
42943
42944         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
42945         Reported by Loïc Minier <lool@dooz.org>.
42946
42947 2009-02-27  Bruno Haible  <bruno@clisp.org>
42948
42949         * gnulib-tool (func_import): Make the sed expression used to create the
42950         sed script for updating the .gitignore file POSIX compliant.
42951         Reported by Eric Blake.
42952
42953 2009-02-27  Bruno Haible  <bruno@clisp.org>
42954
42955         * gnulib-tool (sed): Don't alias as "sed --posix".
42956         Reported by Eric Blake.
42957
42958 2009-02-27  Bruno Haible  <bruno@clisp.org>
42959
42960         Avoid test link errors.
42961         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
42962         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
42963         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
42964         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
42965         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42966
42967 2009-02-27  Bruno Haible  <bruno@clisp.org>
42968
42969         Avoid spurious "(cached)" in configure output.
42970         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
42971         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
42972         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
42973         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
42974         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
42975         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
42976         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
42977         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
42978         Reported by Eric Blake.
42979
42980 2009-02-27  Eric Blake  <ebb9@byu.net>
42981
42982         printf: fix regression in previous patch
42983         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
42984
42985 2009-02-27  Bruno Haible  <bruno@clisp.org>
42986
42987         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
42988         value.
42989         * lib/stdint.in.h: Likewise.
42990         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
42991
42992 2009-02-27  Eric Blake  <ebb9@byu.net>
42993
42994         doc: mention more functions added in cygwin 1.7.0
42995         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
42996         addition.
42997         * doc/posix-functions/open_wmemstream.texi: Likewise.
42998         * doc/posix-functions/wcsnlen.texi: Likewise.
42999         * doc/posix-functions/wcsnrtombs.texi: Likewise.
43000         * doc/posix-functions/wcstod.texi: Likewise.
43001         * doc/posix-functions/wcstof.texi: Likewise.
43002         * doc/posix-functions/wcstoimax.texi: Likewise.
43003         * doc/posix-functions/wcstok.texi: Likewise.
43004         * doc/posix-functions/wcstoumax.texi: Likewise.
43005
43006         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
43007         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
43008         * doc/posix-functions/fprintf.texi: Update.
43009         * doc/posix-functions/printf.texi: Update.
43010         * doc/posix-functions/snprintf.texi: Update.
43011         * doc/posix-functions/sprintf.texi: Update.
43012         * doc/posix-functions/vfprintf.texi: Update.
43013         * doc/posix-functions/vprintf.texi: Update.
43014         * doc/posix-functions/vsnprintf.texi: Update.
43015         * doc/posix-functions/vsprintf.texi: Update.
43016         * doc/glibc-functions/obstack_printf.texi: Update.
43017         * doc/glibc-functions/obstack_vprintf.texi: Update.
43018
43019 2009-02-26  Eric Blake  <ebb9@byu.net>
43020
43021         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
43022         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
43023         compilation bug by using runtime conversion.
43024         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
43025         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
43026         * modules/ceill-tests (Files): Use nan.h.
43027         * modules/floorl-tests (Files): Likewise.
43028         * modules/frexpl-tests (Files): Likewise.
43029         * modules/isnanl-tests (Files): Likewise.
43030         * modules/ldexpl-tests (Files): Likewise.
43031         * modules/roundl-tests (Files): Likewise.
43032         * modules/truncl-tests (Files): Likewise.
43033         * tests/test-ceill.c (main): Use a working NaN.
43034         * tests/test-floorl.c (main): Likewise.
43035         * tests/test-frexpl.c (main): Likewise.
43036         * tests/test-isnan.c (test_long_double): Likewise.
43037         * tests/test-isnanl.h (main): Likewise.
43038         * tests/test-ldexpl.h (main): Likewise.
43039         * tests/test-roundl.h (main): Likewise.
43040         * tests/test-truncl.h (main): Likewise.
43041         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
43042
43043 2009-02-26  Eric Blake  <ebb9@byu.net>
43044             Bruno Haible  <bruno@clisp.org>
43045
43046         Work around a *printf bug with %ls on Solaris.
43047         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
43048         precision is specified, sprintf stops converting the wide string
43049         argument when the number of bytes that have been produced by this
43050         conversion equals or exceeds the precision.
43051         * doc/posix-functions/fprintf.texi: Update.
43052         * doc/posix-functions/printf.texi: Update.
43053         * doc/posix-functions/snprintf.texi: Update.
43054         * doc/posix-functions/sprintf.texi: Update.
43055         * doc/posix-functions/vfprintf.texi: Update.
43056         * doc/posix-functions/vprintf.texi: Update.
43057         * doc/posix-functions/vsnprintf.texi: Update.
43058         * doc/posix-functions/vsprintf.texi: Update.
43059         * doc/glibc-functions/obstack_printf.texi: Update.
43060         * doc/glibc-functions/obstack_vprintf.texi: Update.
43061
43062 2009-02-26  Eric Blake  <ebb9@byu.net>
43063
43064         stdlib: favor compiler check of random.h
43065         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
43066         to avoid an ObjC random.h installed by Swarm.
43067
43068 2009-02-26  Bruno Haible  <bruno@clisp.org>
43069
43070         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
43071         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
43072         Reported by Gary V. Vaughan <gary@gnu.org>.
43073
43074 2009-02-26  Bruno Haible  <bruno@clisp.org>
43075
43076         Fix *printf behaviour regarding the %ls directive.
43077         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
43078         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
43079         NEED_PRINTF_DIRECTIVE_LS.
43080         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
43081         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43082         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43083         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
43084         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
43085         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
43086         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
43087         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43088         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43089         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43090         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43091         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
43092         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43093         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43094         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43095         * doc/posix-functions/fprintf.texi: Update.
43096         * doc/posix-functions/printf.texi: Update.
43097         * doc/posix-functions/snprintf.texi: Update.
43098         * doc/posix-functions/sprintf.texi: Update.
43099         * doc/posix-functions/vfprintf.texi: Update.
43100         * doc/posix-functions/vprintf.texi: Update.
43101         * doc/posix-functions/vsnprintf.texi: Update.
43102         * doc/posix-functions/vsprintf.texi: Update.
43103         * doc/glibc-functions/obstack_printf.texi: Update.
43104         * doc/glibc-functions/obstack_vprintf.texi: Update.
43105         Reported by Eric Blake.
43106
43107 2009-02-25  Bruno Haible  <bruno@clisp.org>
43108
43109         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
43110         with known value.
43111         Reported by Gary V. Vaughan <gary@gnu.org>.
43112
43113 2009-02-25  Bruno Haible  <bruno@clisp.org>
43114
43115         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
43116         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
43117         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
43118         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
43119         Reported by Gary V. Vaughan <gary@gnu.org>.
43120
43121 2009-02-25  Bruno Haible  <bruno@clisp.org>
43122
43123         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
43124         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
43125         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
43126         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
43127         Reported by Gary V. Vaughan <gary@gnu.org>.
43128
43129 2009-02-25  Eric Blake  <ebb9@byu.net>
43130
43131         tests: skip fseek/ftell tests if ungetc is broken
43132         * m4/ungetc.m4: New file.
43133         * modules/fseek-tests: Split test, so ungetc dependency is
43134         separate from rest of test.
43135         * modules/fseeko-tests: Likewise.
43136         * modules/ftell-tests: Likewise.
43137         * modules/ftello-tests: Likewise.
43138         * tests/test-fseek.c (main): Isolate ungetc dependency.
43139         * tests/test-fseeko.c (main): Likewise.
43140         * tests/test-ftell.c (main): Likewise.
43141         * tests/test-ftello.c (main): Likewise.
43142         * tests/test-fseek2.sh: New file.
43143         * tests/test-fseeko2.sh: Likewise.
43144         * tests/test-ftell2.sh: Likewise.
43145         * tests/test-ftello2.sh: Likewise.
43146
43147 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
43148
43149         test-getaddrinfo: fix usage of skip return code 77
43150         * tests/test-gettaddrinfo.c: Return skip code 77 only
43151         for first occurance of skip (4x77 is not 77)
43152
43153 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
43154
43155         strtod: avoid C99 decl-after-statement
43156         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
43157
43158 2009-02-24  Eric Blake  <ebb9@byu.net>
43159
43160         strtod: detect HP-UX 11.31 bug
43161         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
43162         Reported by Gary V. Vaughan.
43163
43164 2009-02-23  Bruno Haible  <bruno@clisp.org>
43165
43166         Fix invalid read past end of memory block.
43167         * lib/vasnprintf.c (DCHAR_SET): Define.
43168         (local_wcslen): Define only when needed.
43169         (local_strnlen, local_wcsnlen): New functions.
43170         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
43171         directives that involve a conversion ourselves.
43172         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
43173         wcsnlen, mbrtowc, wcrtomb.
43174         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
43175         * tests/test-vasprintf-posix.c (test_function): Likewise.
43176         * tests/test-snprintf-posix.h (test_function): Likewise.
43177         * tests/test-sprintf-posix.h (test_function): Likewise.
43178         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43179
43180 2009-02-22  Bruno Haible  <bruno@clisp.org>
43181
43182         Implement new clarified decomposition of Hangul syllables.
43183         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
43184         of type LTV, return only a pairwise decomposition.
43185         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
43186         Likewise.
43187         * tests/uninorm/test-decomposition.c (main): Updated expected result.
43188         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
43189         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
43190
43191 2009-02-22  Bruno Haible  <bruno@clisp.org>
43192
43193         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
43194         zero-length results and shrink excess allocated memory.
43195         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
43196         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
43197         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
43198         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
43199         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
43200         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
43201         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
43202         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
43203         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
43204         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
43205         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
43206         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
43207
43208 2009-02-21  Bruno Haible  <bruno@clisp.org>
43209
43210         * doc/gnulib.texi: Include safe-alloc.texi earlier.
43211         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
43212         spaces after a period. Put a space between a macro name and its
43213         argument list. Trivial rewordings.
43214         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
43215         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
43216         (main): Return 0 explicitly.
43217
43218 2009-02-21  Bruno Haible  <bruno@clisp.org>
43219
43220         Tests for module 'uninorm/filter'.
43221         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
43222         * modules/uninorm/filter-tests: New file.
43223
43224         New module 'uninorm/filter'.
43225         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
43226         uninorm_filter_flush, uninorm_filter_free): New declarations.
43227         * lib/uninorm/uninorm-filter.c: New file.
43228         * modules/uninorm/filter: New file.
43229
43230 2009-02-21  Bruno Haible  <bruno@clisp.org>
43231
43232         Tests for module 'uninorm/nfkc'.
43233         * tests/uninorm/test-nfkc.c: New file.
43234         * tests/uninorm/test-u8-nfkc.c: New file.
43235         * tests/uninorm/test-u16-nfkc.c: New file.
43236         * tests/uninorm/test-u32-nfkc.c: New file.
43237         * tests/uninorm/test-u32-nfkc-big.sh: New file.
43238         * tests/uninorm/test-u32-nfkc-big.c: New file.
43239         * modules/uninorm/nfkc-tests: New file.
43240
43241         New module 'uninorm/nfkc'.
43242         * lib/uninorm/nfkc.c: New file.
43243         * modules/uninorm/nfkc: New file.
43244
43245         Tests for module 'uninorm/nfkd'.
43246         * tests/uninorm/test-nfkd.c: New file.
43247         * tests/uninorm/test-u8-nfkd.c: New file.
43248         * tests/uninorm/test-u16-nfkd.c: New file.
43249         * tests/uninorm/test-u32-nfkd.c: New file.
43250         * tests/uninorm/test-u32-nfkd-big.sh: New file.
43251         * tests/uninorm/test-u32-nfkd-big.c: New file.
43252         * modules/uninorm/nfkd-tests: New file.
43253
43254         New module 'uninorm/nfkd'.
43255         * lib/uninorm/nfkd.c: New file.
43256         * modules/uninorm/nfkd: New file.
43257
43258         Tests for module 'uninorm/nfc'.
43259         * tests/uninorm/test-nfc.c: New file.
43260         * tests/uninorm/test-u8-nfc.c: New file.
43261         * tests/uninorm/test-u16-nfc.c: New file.
43262         * tests/uninorm/test-u32-nfc.c: New file.
43263         * tests/uninorm/test-u32-nfc-big.sh: New file.
43264         * tests/uninorm/test-u32-nfc-big.c: New file.
43265         * modules/uninorm/nfc-tests: New file.
43266
43267         New module 'uninorm/nfc'.
43268         * lib/uninorm/nfc.c: New file.
43269         * modules/uninorm/nfc: New file.
43270
43271         Tests for module 'uninorm/nfd'.
43272         * tests/uninorm/test-nfd.c: New file.
43273         * tests/uninorm/test-u8-nfd.c: New file.
43274         * tests/uninorm/test-u16-nfd.c: New file.
43275         * tests/uninorm/test-u32-nfd.c: New file.
43276         * tests/uninorm/test-u32-nfd-big.sh: New file.
43277         * tests/uninorm/test-u32-nfd-big.c: New file.
43278         * tests/uninorm/test-u32-normalize-big.h: New file.
43279         * tests/uninorm/test-u32-normalize-big.c: New file.
43280         * tests/uninorm/NormalizationTest.txt: New file, created from
43281         Unicode 5.1.0 NormalizationTest.txt.
43282         * modules/uninorm/nfd-tests: New file.
43283
43284         New module 'uninorm/nfd'.
43285         * lib/uninorm/nfd.c: New file.
43286         * modules/uninorm/nfd: New file.
43287
43288         New module 'uninorm/u32-normalize'.
43289         * lib/uninorm/u32-normalize.c: New file.
43290         * modules/uninorm/u32-normalize: New file.
43291
43292         New module 'uninorm/u16-normalize'.
43293         * lib/uninorm/u16-normalize.c: New file.
43294         * modules/uninorm/u16-normalize: New file.
43295
43296         New module 'uninorm/u8-normalize'.
43297         * lib/uninorm/u8-normalize.c: New file.
43298         * lib/uninorm/normalize-internal.h: New file.
43299         * lib/uninorm/u-normalize-internal.h: New file.
43300         * modules/uninorm/u8-normalize: New file.
43301
43302         New module 'uninorm/decompose-internal'.
43303         * lib/uninorm/decompose-internal.c: New file.
43304         * modules/uninorm/decompose-internal: New file.
43305
43306         Tests for module 'uninorm/composition'.
43307         * tests/uninorm/test-composition.c: New file.
43308         * modules/uninorm/composition-tests: New file.
43309
43310         New module 'uninorm/composition'.
43311         * lib/uninorm/composition.c: New file.
43312         * lib/uninorm/composition-table.gperf: New file, generated by
43313         gen-uni-tables.
43314         * modules/uninorm/composition: New file.
43315
43316         Tests for module 'uninorm/compat-decomposition'.
43317         * tests/uninorm/test-compat-decomposition.c: New file.
43318         * modules/uninorm/compat-decomposition-tests: New file.
43319
43320         New module 'uninorm/compat-decomposition'.
43321         * lib/uninorm/decompose-internal.h: New file.
43322         * lib/uninorm/compat-decomposition.c: New file.
43323         * modules/uninorm/compat-decomposition: New file.
43324
43325         Tests for module 'uninorm/canonical-decomposition'.
43326         * tests/uninorm/test-canonical-decomposition.c: New file.
43327         * modules/uninorm/canonical-decomposition-tests: New file.
43328
43329         New module 'uninorm/canonical-decomposition'.
43330         * lib/uninorm/canonical-decomposition.c: New file.
43331         * modules/uninorm/canonical-decomposition: New file.
43332
43333         Tests for module 'uninorm/decomposition'.
43334         * tests/uninorm/test-decomposition.c: New file.
43335         * modules/uninorm/decomposition-tests: New file.
43336
43337         New module 'uninorm/decomposition'.
43338         * lib/uninorm/decomposition.c: New file.
43339         * modules/uninorm/decomposition: New file.
43340
43341         New module 'uninorm/decomposition-table'.
43342         * lib/uninorm/decomposition-table.h: New file.
43343         * lib/uninorm/decomposition-table.c: New file.
43344         * lib/uninorm/decomposition-table1.h: New file, generated by
43345         gen-uni-tables.
43346         * lib/uninorm/decomposition-table2.h: New file, generated by
43347         gen-uni-tables.
43348         * modules/uninorm/decomposition-table: New file.
43349
43350         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
43351         (UC_DECOMP_*): New enumeration items.
43352         (get_decomposition): New function.
43353         (struct decomp_table): New type.
43354         (output_decomposition, output_decomposition_tables): New functions.
43355         (unicode_composition_exclusions): New variable.
43356         (fill_composition_exclusions, debug_output_composition_tables): New
43357         functions.
43358         (main): Accept one more argument. Invoke fill_composition_exclusions.
43359         Output decomposition and composition tables.
43360
43361         New module 'uninorm/base'.
43362         * lib/uninorm.h: New file.
43363         * lib/unictype.h: Update comment.
43364         * modules/uninorm/base: New file.
43365
43366 2009-02-21  David Lutterkort  <lutter@redhat.com>
43367
43368         Tests for module 'safe-alloc'.
43369         * tests/test-safe-alloc.c: New file.
43370         * modules/safe-alloc-tests: New file.
43371
43372         New module 'safe-alloc'.
43373         * lib/safe-alloc.h: New file.
43374         * lib/safe-alloc.c: New file.
43375         * m4/safe-alloc.m4: New file.
43376         * modules/safe-alloc: New file.
43377         * doc/safe-alloc.texi: New file.
43378         * doc/gnulib.texi: Include it.
43379         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
43380         safe-alloc.
43381
43382 2009-02-18  Bruno Haible  <bruno@clisp.org>
43383
43384         Fix link error on non-glibc systems.
43385         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
43386         variable.
43387         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43388
43389 2009-02-18  Jim Meyering  <meyering@redhat.com>
43390
43391         fts: avoid used-uninitialized error due to recent change
43392         * lib/fts.c (fts_read): Guard uses of the new member,
43393         parent->fts_n_dirs_remaining, since it's not relevant for
43394         the parent of a directory specified on the command-line.
43395
43396 2009-02-17  James Youngman  <jay@gnu.org>
43397             Bruno Haible  <bruno@clisp.org>
43398
43399         * m4/include_next.m4: Reformulate comment.
43400
43401 2009-02-16  Jim Meyering  <meyering@redhat.com>
43402
43403         fts: add #if guards so that the fts_lgpl module still builds
43404         * lib/fts.c: Guard just-added hash-table-using parts with
43405         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
43406         Reported by Simon Josefsson.
43407
43408 2009-02-15  Bruno Haible  <bruno@clisp.org>
43409
43410         * modules/array-mergesort-tests: New file.
43411         * tests/test-array-mergesort.c: New file.
43412
43413         New module 'array-mergesort'.
43414         * modules/array-mergesort: New file.
43415         * lib/array-mergesort.h: New file.
43416
43417 2009-02-15  Bruno Haible  <bruno@clisp.org>
43418
43419         Fix 2009-02-07 commit.
43420         * lib/gen-uni-tables.c (output_predicate, output_category,
43421         output_combclass, output_bidi_category, output_decimal_digit,
43422         output_digit, output_numeric, output_mirror, output_scripts,
43423         output_ident_category, output_simple_mapping): Fix format directives.
43424         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
43425
43426 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
43427
43428         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
43429         fixes are available from IBM.
43430
43431 2009-02-13  Jim Meyering  <meyering@redhat.com>
43432
43433         fts: arrange not to stat non-directories in more cases
43434         This makes GNU find (when it doesn't need to stat each file)
43435         *much* more efficient at traversing reiserfs file systems.
43436         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
43437         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
43438         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
43439         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
43440         (leaf_optimization_applies): New function.
43441         (LCO_hash, LCO_compare): New helper functions.
43442         (link_count_optimize_ok): New function.
43443         (fts_stat): Initialize new member (if dir).
43444         (fts_read): Decrement parent's fts_n_dirs_remaining count if
43445         we've just stat'ed a directory.  Skip the stat call when possible.
43446         ---
43447         Note this AFS-related exchange:
43448         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
43449         and note find's pioctl call in find/fstype.c.
43450         But that is necessary only if you want to enable the
43451         optimization for AFS, and for now, I don't.
43452
43453         fts: move a function definition "up" (no semantic change)
43454         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
43455         "up" to precede upcoming use of a related function.
43456
43457 2009-02-11  Jim Meyering  <meyering@redhat.com>
43458
43459         fts: correct internal computation of nlinks (optimization-related)
43460         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
43461         whether the current entry is a directory, so don't test it.
43462
43463 2009-02-10  Bruno Haible  <bruno@clisp.org>
43464
43465         Tests for module 'uniwbrk/ulc-wordbreaks'.
43466         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
43467         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
43468         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
43469
43470         Tests for module 'uniwbrk/u32-wordbreaks'.
43471         * modules/uniwbrk/u32-wordbreaks-tests: New file.
43472         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
43473
43474         Tests for module 'uniwbrk/u16-wordbreaks'.
43475         * modules/uniwbrk/u16-wordbreaks-tests: New file.
43476         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
43477
43478         Tests for module 'uniwbrk/u8-wordbreaks'.
43479         * modules/uniwbrk/u8-wordbreaks-tests: New file.
43480         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
43481
43482 2009-02-10  Bruno Haible  <bruno@clisp.org>
43483
43484         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
43485         property.
43486         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
43487         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
43488         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
43489
43490 2009-02-10  Simon Josefsson  <simon@josefsson.org>
43491
43492         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
43493         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
43494
43495 2009-02-10  Bruno Haible  <bruno@clisp.org>
43496
43497         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
43498         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
43499         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
43500         * lib/unilbrk/u8-possible-linebreaks.c: Update.
43501         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
43502         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
43503
43504 2009-02-09  Simon Josefsson  <simon@josefsson.org>
43505
43506         * lib/sockets.h (gl_fd_to_handle): New function.
43507
43508         * tests/test-sockets.c: Call gl_fd_to_handle.
43509
43510 2009-02-09  Bruno Haible  <bruno@clisp.org>
43511
43512         * doc/havelib.texi: Document the conventions on bi-arch systems.
43513
43514 2009-02-08  Bruno Haible  <bruno@clisp.org>
43515
43516         Document the AC_LIB_LINKFLAGS macro.
43517         * doc/havelib.texi: New file, mostly written on 2005-05-24.
43518         * doc/gnulib.texi: Include it.
43519
43520 2009-02-08  Bruno Haible  <bruno@clisp.org>
43521
43522         Fix wrong order of sections, compared to TOC.
43523         * doc/gnulib.texi: Include relocatable-maint.texi after the
43524         "Regular expressions" node, not before.
43525
43526 2009-02-08  Bruno Haible  <bruno@clisp.org>
43527
43528         Tests for module 'unicase/totitle'.
43529         * modules/unicase/totitle-tests: New file.
43530
43531         Tests for module 'unicase/tolower'.
43532         * modules/unicase/tolower-tests: New file.
43533
43534         Tests for module 'unicase/toupper'.
43535         * modules/unicase/toupper-tests: New file.
43536         * tests/unicase/test-mapping-part1.h: New file.
43537         * tests/unicase/test-mapping-part2.h: New file.
43538
43539         New module 'unicase/totitle'.
43540         * modules/unicase/totitle: New file.
43541         * lib/unicase/totitle.c: New file.
43542
43543         New module 'unicase/tolower'.
43544         * modules/unicase/tolower: New file.
43545         * lib/unicase/tolower.c: New file.
43546
43547         New module 'unicase/toupper'.
43548         * modules/unicase/toupper: New file.
43549         * lib/unicase/toupper.c: New file.
43550         * lib/unicase/simple-mapping.h: New file.
43551
43552         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
43553         (mapping_table): New structure.
43554         (output_simple_mapping): New function.
43555         (main): Invoke output_simple_mapping_test and output_simple_mapping.
43556         * modules/gen-uni-tables (Description): Update.
43557         * lib/unicase/toupper.h: New file, automatically generated by
43558         gen-uni-tables.
43559         * lib/unicase/tolower.h: New file, automatically generated by
43560         gen-uni-tables.
43561         * lib/unicase/totitle.h: New file, automatically generated by
43562         gen-uni-tables.
43563         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
43564         gen-uni-tables.
43565         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
43566         gen-uni-tables.
43567         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
43568         gen-uni-tables.
43569
43570         New module 'unicase/base'.
43571         * modules/unicase/base: New file.
43572         * lib/unicase.h: New file.
43573
43574 2009-02-08  Bruno Haible  <bruno@clisp.org>
43575
43576         New module 'uniwbrk/ulc-wordbreaks'.
43577         * modules/uniwbrk/ulc-wordbreaks: New file.
43578         * lib/uniwbrk/ulc-wordbreaks.c: New file.
43579
43580         New module 'uniwbrk/u32-wordbreaks'.
43581         * modules/uniwbrk/u32-wordbreaks: New file.
43582         * lib/uniwbrk/u32-wordbreaks.c: New file.
43583
43584         New module 'uniwbrk/u16-wordbreaks'.
43585         * modules/uniwbrk/u16-wordbreaks: New file.
43586         * lib/uniwbrk/u16-wordbreaks.c: New file.
43587
43588         New module 'uniwbrk/u8-wordbreaks'.
43589         * modules/uniwbrk/u8-wordbreaks: New file.
43590         * lib/uniwbrk/u8-wordbreaks.c: New file.
43591         * lib/uniwbrk/u-wordbreaks.h: New file.
43592
43593         New module 'uniwbrk/table'.
43594         * modules/uniwbrk/table: New file.
43595         * lib/uniwbrk/wbrktable.h: New file.
43596         * lib/uniwbrk/wbrktable.c: New file.
43597
43598         New module 'uniwbrk/wordbreak-property'.
43599         * modules/uniwbrk/wordbreak-property: New file.
43600         * lib/uniwbrk/wordbreak-property.c: New file.
43601
43602         * lib/gen-uni-tables.c (WBP_*): New enum items.
43603         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
43604         (unicode_org_wbp): New variable.
43605         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
43606         New functions.
43607         (wbp_table): New structure.
43608         (output_wbp, output_wbrk_tables): New functions.
43609         (main): Accept additional argument. Invoke fill_org_wbp,
43610         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
43611         output_wbrk_tables.
43612         * modules/gen-uni-tables (Description): Update.
43613         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
43614         gen-uni-tables.
43615
43616         New module 'uniwbrk/base'.
43617         * modules/uniwbrk/base: New file.
43618         * lib/uniwbrk.h: New file.
43619
43620 2009-02-08  Bruno Haible  <bruno@clisp.org>
43621
43622         Update to Unicode 5.1.0.
43623         * lib/gen-uni-tables.c (is_property_alphabetic): Include
43624         U+2185..U+2188.
43625         (is_property_default_ignorable_code_point): Don't include characters
43626         of category Cc or Cs and not-a-characters.
43627         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
43628         U+0D79, U+109E, U+109F, U+A60C.
43629         * lib/unictype/bidi_of.h: Regenerated.
43630         * lib/unictype/blocks.h: Regenerated.
43631         * lib/unictype/categ_C.h: Regenerated.
43632         * lib/unictype/categ_Cf.h: Regenerated.
43633         * lib/unictype/categ_Cn.h: Regenerated.
43634         * lib/unictype/categ_L.h: Regenerated.
43635         * lib/unictype/categ_Ll.h: Regenerated.
43636         * lib/unictype/categ_Lm.h: Regenerated.
43637         * lib/unictype/categ_Lo.h: Regenerated.
43638         * lib/unictype/categ_Lu.h: Regenerated.
43639         * lib/unictype/categ_M.h: Regenerated.
43640         * lib/unictype/categ_Mc.h: Regenerated.
43641         * lib/unictype/categ_Me.h: Regenerated.
43642         * lib/unictype/categ_Mn.h: Regenerated.
43643         * lib/unictype/categ_N.h: Regenerated.
43644         * lib/unictype/categ_Nd.h: Regenerated.
43645         * lib/unictype/categ_Nl.h: Regenerated.
43646         * lib/unictype/categ_No.h: Regenerated.
43647         * lib/unictype/categ_P.h: Regenerated.
43648         * lib/unictype/categ_Pd.h: Regenerated.
43649         * lib/unictype/categ_Pe.h: Regenerated.
43650         * lib/unictype/categ_Pf.h: Regenerated.
43651         * lib/unictype/categ_Pi.h: Regenerated.
43652         * lib/unictype/categ_Po.h: Regenerated.
43653         * lib/unictype/categ_Ps.h: Regenerated.
43654         * lib/unictype/categ_S.h: Regenerated.
43655         * lib/unictype/categ_Sk.h: Regenerated.
43656         * lib/unictype/categ_Sm.h: Regenerated.
43657         * lib/unictype/categ_So.h: Regenerated.
43658         * lib/unictype/categ_of.h: Regenerated.
43659         * lib/unictype/combining.h: Regenerated.
43660         * lib/unictype/ctype_alnum.h: Regenerated.
43661         * lib/unictype/ctype_alpha.h: Regenerated.
43662         * lib/unictype/ctype_graph.h: Regenerated.
43663         * lib/unictype/ctype_lower.h: Regenerated.
43664         * lib/unictype/ctype_print.h: Regenerated.
43665         * lib/unictype/ctype_punct.h: Regenerated.
43666         * lib/unictype/ctype_upper.h: Regenerated.
43667         * lib/unictype/decdigit.h: Regenerated.
43668         * lib/unictype/digit.h: Regenerated.
43669         * lib/unictype/mirror.h: Regenerated.
43670         * lib/unictype/numeric.h: Regenerated.
43671         * lib/unictype/pr_alphabetic.h: Regenerated.
43672         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
43673         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
43674         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
43675         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
43676         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
43677         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
43678         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
43679         * lib/unictype/pr_combining.h: Regenerated.
43680         * lib/unictype/pr_dash.h: Regenerated.
43681         * lib/unictype/pr_decimal_digit.h: Regenerated.
43682         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
43683         * lib/unictype/pr_deprecated.h: Regenerated.
43684         * lib/unictype/pr_diacritic.h: Regenerated.
43685         * lib/unictype/pr_extender.h: Regenerated.
43686         * lib/unictype/pr_format_control.h: Regenerated.
43687         * lib/unictype/pr_grapheme_base.h: Regenerated.
43688         * lib/unictype/pr_grapheme_extend.h: Regenerated.
43689         * lib/unictype/pr_grapheme_link.h: Regenerated.
43690         * lib/unictype/pr_id_continue.h: Regenerated.
43691         * lib/unictype/pr_id_start.h: Regenerated.
43692         * lib/unictype/pr_ideographic.h: Regenerated.
43693         * lib/unictype/pr_ignorable_control.h: Regenerated.
43694         * lib/unictype/pr_lowercase.h: Regenerated.
43695         * lib/unictype/pr_math.h: Regenerated.
43696         * lib/unictype/pr_numeric.h: Regenerated.
43697         * lib/unictype/pr_other_alphabetic.h: Regenerated.
43698         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
43699         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
43700         * lib/unictype/pr_other_id_continue.h: Regenerated.
43701         * lib/unictype/pr_other_lowercase.h: Regenerated.
43702         * lib/unictype/pr_other_math.h: Regenerated.
43703         * lib/unictype/pr_punctuation.h: Regenerated.
43704         * lib/unictype/pr_sentence_terminal.h: Regenerated.
43705         * lib/unictype/pr_soft_dotted.h: Regenerated.
43706         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
43707         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
43708         * lib/unictype/pr_unified_ideograph.h: Regenerated.
43709         * lib/unictype/pr_uppercase.h: Regenerated.
43710         * lib/unictype/pr_xid_continue.h: Regenerated.
43711         * lib/unictype/pr_xid_start.h: Regenerated.
43712         * lib/unictype/pr_zero_width.h: Regenerated.
43713         * lib/unictype/scripts.h: Regenerated.
43714         * lib/unictype/scripts_byname.gperf: Regenerated.
43715         * lib/unictype/sy_java_ident.h: Regenerated.
43716         * lib/unilbrk/lbrkprop1.h: Regenerated.
43717         * lib/unilbrk/lbrkprop2.h: Regenerated.
43718         * tests/unictype/test-categ_C.c: Regenerated.
43719         * tests/unictype/test-categ_Cf.c: Regenerated.
43720         * tests/unictype/test-categ_Cn.c: Regenerated.
43721         * tests/unictype/test-categ_L.c: Regenerated.
43722         * tests/unictype/test-categ_Ll.c: Regenerated.
43723         * tests/unictype/test-categ_Lm.c: Regenerated.
43724         * tests/unictype/test-categ_Lo.c: Regenerated.
43725         * tests/unictype/test-categ_Lu.c: Regenerated.
43726         * tests/unictype/test-categ_M.c: Regenerated.
43727         * tests/unictype/test-categ_Mc.c: Regenerated.
43728         * tests/unictype/test-categ_Me.c: Regenerated.
43729         * tests/unictype/test-categ_Mn.c: Regenerated.
43730         * tests/unictype/test-categ_N.c: Regenerated.
43731         * tests/unictype/test-categ_Nd.c: Regenerated.
43732         * tests/unictype/test-categ_Nl.c: Regenerated.
43733         * tests/unictype/test-categ_No.c: Regenerated.
43734         * tests/unictype/test-categ_P.c: Regenerated.
43735         * tests/unictype/test-categ_Pd.c: Regenerated.
43736         * tests/unictype/test-categ_Pe.c: Regenerated.
43737         * tests/unictype/test-categ_Pf.c: Regenerated.
43738         * tests/unictype/test-categ_Pi.c: Regenerated.
43739         * tests/unictype/test-categ_Po.c: Regenerated.
43740         * tests/unictype/test-categ_Ps.c: Regenerated.
43741         * tests/unictype/test-categ_S.c: Regenerated.
43742         * tests/unictype/test-categ_Sk.c: Regenerated.
43743         * tests/unictype/test-categ_Sm.c: Regenerated.
43744         * tests/unictype/test-categ_So.c: Regenerated.
43745         * tests/unictype/test-ctype_alnum.c: Regenerated.
43746         * tests/unictype/test-ctype_alpha.c: Regenerated.
43747         * tests/unictype/test-ctype_graph.c: Regenerated.
43748         * tests/unictype/test-ctype_lower.c: Regenerated.
43749         * tests/unictype/test-ctype_print.c: Regenerated.
43750         * tests/unictype/test-ctype_punct.c: Regenerated.
43751         * tests/unictype/test-ctype_upper.c: Regenerated.
43752         * tests/unictype/test-decdigit.h: Regenerated.
43753         * tests/unictype/test-digit.h: Regenerated.
43754         * tests/unictype/test-numeric.h: Regenerated.
43755         * tests/unictype/test-pr_alphabetic.c: Regenerated.
43756         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
43757         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
43758         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
43759         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
43760         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
43761         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
43762         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
43763         * tests/unictype/test-pr_combining.c: Regenerated.
43764         * tests/unictype/test-pr_dash.c: Regenerated.
43765         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
43766         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
43767         * tests/unictype/test-pr_deprecated.c: Regenerated.
43768         * tests/unictype/test-pr_diacritic.c: Regenerated.
43769         * tests/unictype/test-pr_extender.c: Regenerated.
43770         * tests/unictype/test-pr_format_control.c: Regenerated.
43771         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
43772         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
43773         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
43774         * tests/unictype/test-pr_id_continue.c: Regenerated.
43775         * tests/unictype/test-pr_id_start.c: Regenerated.
43776         * tests/unictype/test-pr_ideographic.c: Regenerated.
43777         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
43778         * tests/unictype/test-pr_lowercase.c: Regenerated.
43779         * tests/unictype/test-pr_math.c: Regenerated.
43780         * tests/unictype/test-pr_numeric.c: Regenerated.
43781         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
43782         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
43783         Regenerated.
43784         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
43785         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
43786         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
43787         * tests/unictype/test-pr_other_math.c: Regenerated.
43788         * tests/unictype/test-pr_punctuation.c: Regenerated.
43789         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
43790         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
43791         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
43792         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
43793         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
43794         * tests/unictype/test-pr_uppercase.c: Regenerated.
43795         * tests/unictype/test-pr_xid_continue.c: Regenerated.
43796         * tests/unictype/test-pr_xid_start.c: Regenerated.
43797         * tests/unictype/test-pr_zero_width.c: Regenerated.
43798
43799         Update to Unicode 5.1.0.
43800         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
43801         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
43802         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
43803         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
43804         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
43805         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
43806         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
43807         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
43808         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
43809         (nonspacing_table_ind): Update.
43810         * tests/uniwidth/test-uc_width2.sh: Update expected result.
43811
43812         Update to Unicode 5.1.0.
43813         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
43814         code transform.
43815         * lib/uniname/uniname.c (unicode_character_name,
43816         unicode_name_character): Add the range 0x1Fxxx to the code transform.
43817         * lib/uniname/uninames.h: Regenerated.
43818         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
43819
43820 2009-02-07  Bruno Haible  <bruno@clisp.org>
43821
43822         Merge gen-ctype and gen-lbrk into a single program.
43823         * lib/gen-uni-tables.c: New file, incorporating
43824         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
43825         Add directory prefixes to the names of the generated files.
43826         * lib/unictype/gen-ctype.c: Remove file.
43827         * lib/unilbrk/gen-lbrk.c: Remove file.
43828         * modules/gen-uni-tables: New file.
43829         * modules/unictype/gen-ctype: Remove file.
43830         * modules/unilbrk/gen-lbrk: Remove file.
43831
43832 2009-02-07  Bruno Haible  <bruno@clisp.org>
43833
43834         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
43835
43836         New module 'unistr/u32-strcoll'.
43837         * modules/unistr/u32-strcoll: New file.
43838         * lib/unistr/u32-strcoll.c: New file.
43839
43840         New module 'unistr/u16-strcoll'.
43841         * modules/unistr/u16-strcoll: New file.
43842         * lib/unistr/u16-strcoll.c: New file.
43843
43844         New module 'unistr/u8-strcoll'.
43845         * modules/unistr/u8-strcoll: New file.
43846         * lib/unistr/u8-strcoll.c: New file.
43847         * lib/unistr/u-strcoll.h: New file.
43848
43849 2009-02-07  Bruno Haible  <bruno@clisp.org>
43850
43851         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
43852         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43853         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
43854         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
43855         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
43856         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
43857
43858 2009-02-07  Bruno Haible  <bruno@clisp.org>
43859
43860         Make 64-bit clean.
43861         * lib/unictype/gen-ctype.c (output_predicate, output_category,
43862         output_combclass, output_bidi_category, output_decimal_digit,
43863         output_digit, output_numeric, output_mirror, output_scripts,
43864         output_ident_category): Use proper width specifier in format strings.
43865
43866 2009-02-07  Bruno Haible  <bruno@clisp.org>
43867
43868         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
43869         failure behaviour.
43870
43871 2009-02-07  Jim Meyering  <meyering@redhat.com>
43872
43873         regex: avoid compilation failure with upcoming gcc-4.4
43874         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
43875         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
43876         "... error: integer overflow in preprocessor expression".
43877
43878 2009-02-05  Ben Pfaff  <blp@gnu.org>
43879
43880         Fix link errors on Windows when close module is used.
43881         * modules/close: Add $(LIB_CLOSE) to Link section.
43882         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
43883         $(LIB_CLOSE) on Windows.
43884
43885 2009-02-05  Jim Meyering  <meyering@redhat.com>
43886
43887         still avoid unused-parameter warnings, but do it cleanly
43888         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
43889         (get_fs_usage): Cast to void instead.
43890         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
43891         (dev_from_mount_options, read_file_system_list): Cast to void.
43892         Prompted by Bruno Haible.
43893
43894 2009-02-04  Jim Meyering  <meyering@redhat.com>
43895
43896         fsusage.c: correct copyright year
43897         * lib/fsusage.c: Reflect year in which the change is pushed into
43898
43899         avoid misc. warnings
43900         * lib/fsusage.c (UNUSED_PARAM): Define.
43901         (get_fs_usage): Mark parameter "disk" as unused.
43902         * lib/getugroups.c (getgrent): Use "void" in prototype.
43903         * lib/mountlist.c: Mark unused parameters.
43904         (read_file_system_list): Declare a local with "const".
43905         * lib/nanosleep.c (getnow): Declare static.
43906         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
43907
43908         dirfd: set errno upon failure
43909         * lib/dirfd.c: Include <errno.h>.
43910         Set errno to ENOTSUP when returning -1.
43911         * modules/dirfd (Depends-on): Add errno.
43912         Suggested by John Kodis <kodis@comcast.net>.
43913
43914 2009-02-01  Bruno Haible  <bruno@clisp.org>
43915
43916         Don't assume sizeof (long) >= sizeof (void *).
43917         * lib/memcmp.c: Include stdint.h.
43918         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
43919         srcp2 to 'const byte *'.
43920         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
43921         types to uintptr_t.
43922         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
43923         * modules/memcmp (Depends-on): Add stdint.
43924         Reported by Ozkan Sezer <sezeroz@gmail.com>.
43925
43926 2009-01-30  Eric Blake  <ebb9@byu.net>
43927
43928         fix more require-before-expand issues
43929         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
43930         expand, AC_PROG_AWK.
43931         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
43932
43933 2009-01-28  Eric Blake  <ebb9@byu.net>
43934
43935         version-etc: use consistent URL formatting
43936         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
43937         Improve formatting.  Use fputs for string without %.
43938
43939 2009-01-28  Jim Meyering  <meyering@redhat.com>
43940
43941         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
43942         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
43943         "underquoted definition of NAME" from autoconf-2.59.
43944
43945 2009-01-28  Bruno Haible  <bruno@clisp.org>
43946
43947         * doc/gnulib.texi: Add "Obsolete modules" to index.
43948
43949 2009-01-28  Jim Meyering  <meyering@redhat.com>
43950
43951         useless-if-before-free: recognize more variants
43952         * build-aux/useless-if-before-free: Also recognize e.g.,
43953         if (NULL != p) free (p);
43954
43955 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
43956
43957         test-getaddrinfo: skip (don't fail) this test when there's no network
43958         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
43959         on the presumption that it means you lack network access.
43960
43961 2009-01-26  Jim Meyering  <meyering@redhat.com>
43962
43963         fflush: avoid warnings on modern systems
43964         * lib/fflush.c (rpl_fflush): Move declarations of locals,
43965         pos and result, into scopes where they're used.
43966
43967 2009-01-26  Eric Blake  <ebb9@byu.net>
43968
43969         Silence warning reintroduced by recent extensions patch.
43970         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
43971         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
43972         autoconf.
43973
43974         Backport improved autoconf semantics of AC_DEFUN_ONCE.
43975         * m4/00gnulib.m4: New file.
43976         * gnulib-tool (func_get_filelist): Always use it.
43977         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
43978         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
43979
43980 2009-01-25  Bruno Haible  <bruno@clisp.org>
43981
43982         Make test-quotearg work on MacOS X and AIX.
43983         * tests/test-quotearg.sh: New file.
43984         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
43985         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
43986         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
43987         include <libintl.h>.
43988         (fake_locale): Remove variable.
43989         (gettext, dgettext, dcgettext): Remove functions.
43990         (main): Instead of setting a fake locale, set a real locale. Call
43991         textdomain and bindtextdomain.
43992         * modules/quotearg-tests (Files): Add the new files.
43993         (Depends-on): Add gettext, setenv, unsetenv.
43994         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
43995         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
43996         Augment TESTS_ENVIRONMENT.
43997
43998 2009-01-25  Bruno Haible  <bruno@clisp.org>
43999
44000         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
44001         fr_FR.ISO8859-1 locale on MacOS X.
44002         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
44003         ja_JP.eucJP locale on MacOS X.
44004         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
44005         zh_CN.GB18030 locale on MacOS X.
44006
44007 2009-01-25  Bruno Haible  <bruno@clisp.org>
44008
44009         Avoid link errors on MacOS X 10.3.
44010         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
44011         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44012
44013 2009-01-25  Bruno Haible  <bruno@clisp.org>
44014
44015         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44016         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
44017         * modules/pipe (Files): Remove m4/posix_spawn.m4.
44018         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44019         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
44020         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44021         posix_spawnattr_init, posix_spawnattr_setsigmask,
44022         posix_spawnattr_setflags, posix_spawnattr_destroy.
44023
44024         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
44025         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
44026         * modules/execute (Files): Remove m4/posix_spawn.m4.
44027         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
44028         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
44029         posix_spawnattr_init, posix_spawnattr_setsigmask,
44030         posix_spawnattr_setflags, posix_spawnattr_destroy.
44031
44032 2009-01-25  Bruno Haible  <bruno@clisp.org>
44033
44034         * lib/glthread/threadlib.c: Include <stdlib.h>.
44035
44036 2009-01-25  Bruno Haible  <bruno@clisp.org>
44037
44038         * lib/glthread/threadlib.c (dummy): New declaration.
44039
44040 2009-01-25  Bruno Haible  <bruno@clisp.org>
44041
44042         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
44043         multibyte characters also for the GB18030 encoding. Don't crash when
44044         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
44045
44046 2009-01-25  Bruno Haible  <bruno@clisp.org>
44047
44048         Avoid redefining 'struct random_data' on OSF/1 5.1.
44049         * lib/stdlib.in.h: Include <random.h> if it exists.
44050         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
44051         HAVE_RANDOM_H. Include <random.h> when testing whether
44052         'struct random_data' exists.
44053         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
44054
44055 2009-01-25  Bruno Haible  <bruno@clisp.org>
44056
44057         Don't install charset.alias on MacOS X >= 10.3.
44058         * lib/localcharset.c (DARWIN7): New macro.
44059         (get_charset_aliases): Hardcode the result for Darwin7.
44060         * modules/localcharset (install-exec-local): Don't install
44061         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
44062
44063 2009-01-25  Bruno Haible  <bruno@clisp.org>
44064
44065         Don't install charset.alias on mingw and Cygwin.
44066         * modules/localcharset (install-exec-local): Don't install
44067         charset.alias on mingw and Cygwin, if the file does not yet exist.
44068         The result for these platforms is hardcoded in localcharset.c.
44069
44070 2009-01-25  Bruno Haible  <bruno@clisp.org>
44071
44072         Make it possible again to use AC_GNU_SOURCE together with gnulib.
44073         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
44074         before requiring AC_USE_SYSTEM_EXTENSIONS.
44075
44076 2009-01-25  Jim Meyering  <meyering@redhat.com>
44077
44078         c-strtod: avoid warnings
44079         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
44080         "assignment discards qualifiers from pointer target type" warnings.
44081
44082 2009-01-24  Bruno Haible  <bruno@clisp.org>
44083
44084         Add support for non-UTF-8 locales on MacOS X.
44085         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
44086         canonical encodings. For Darwin 7 and newer, don't map traditional
44087         encodings to UTF-8.
44088         Reported by Vincent Lefevre <vincent@vinc17.org>
44089         at <http://savannah.gnu.org/bugs/?25235>.
44090
44091 2009-01-24  Bruno Haible  <bruno@clisp.org>
44092
44093         * doc/gnulib.texi (Obsolete modules): New section.
44094         Reported by Mike Frysinger <vapier@gentoo.org>.
44095
44096 2009-01-24  Bruno Haible  <bruno@clisp.org>
44097
44098         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
44099         (%.dvi): New rule.
44100
44101 2009-01-24  Bruno Haible  <bruno@clisp.org>
44102
44103         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
44104         Reported by Eric Blake.
44105
44106 2009-01-24  Bruno Haible  <bruno@clisp.org>
44107
44108         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
44109         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
44110         Reported by Gary V. Vaughan <gary@gnu.org>.
44111
44112 2009-01-24  Bruno Haible  <bruno@clisp.org>
44113
44114         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
44115
44116 2009-01-23  Bruno Haible  <bruno@clisp.org>
44117
44118         Make c-strtod, c-strtold usable in libraries.
44119         * lib/c-strtod.c: Include string.h instead of xalloc.h.
44120         (C_STRTOD): Call strdup instead of xstrdup.
44121         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
44122         * modules/c-strtold (Depends-on): Likewise.
44123         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
44124         * NEWS: Mention the change.
44125         Reported by Michael Gold <mgold@ncf.ca>.
44126
44127 2009-01-23  Jim Meyering  <meyering@redhat.com>
44128
44129         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
44130         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
44131         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
44132
44133 2009-01-23  Simon Josefsson  <simon@josefsson.org>
44134
44135         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
44136         GNU CoreUtils.
44137         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
44138         * modules/version-etc (Description): Update.
44139
44140 2009-01-22  Bruno Haible  <bruno@clisp.org>
44141
44142         Cache the C locale object.
44143         * lib/c-strtod.c (c_locale_cache): New variable.
44144         (c_locale): New function.
44145         (C_STRTOD): Use it, and don't call freelocale.
44146         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
44147         Suggested by Paolo Bonzini.
44148
44149 2009-01-21  Bruno Haible  <bruno@clisp.org>
44150
44151         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
44152         conditions other than overflow.
44153
44154 2009-01-21  Bruno Haible  <bruno@clisp.org>
44155
44156         * lib/c-strtod.c: Include errno.h.
44157         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
44158         value from STRTOD_L and STRTOD.
44159
44160 2009-01-21  Bruno Haible  <bruno@clisp.org>
44161         and Jim Meyering  <meyering@redhat.com>
44162
44163         nanosleep: skip configure test (fail it) for apple universal builds
44164         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
44165         universal builds, assume that nanosleep does not work.
44166         * modules/nanosleep (Depends-on): Add multiarch.
44167
44168         mktime: skip configure test (fail it) for apple universal builds
44169         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
44170         universal builds, assume that mktime does not work.
44171         * modules/mktime (Depends-on): Add multiarch.
44172
44173 2009-01-21  Eric Blake  <ebb9@byu.net>
44174
44175         multiarch: avoid expand-before-require warning
44176         * modules/multiarch (configure.ac): Require, rather than expand,
44177         gl_MULTIARCH.
44178         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
44179         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
44180         enforce that all clients require it.  Partial reversion of
44181         2008-12-29 patch.
44182
44183         error: avoid expand-before-require warning
44184         * modules/errno (configure.ac): Require, rather than expand,
44185         gl_HEADER_ERRNO_H.
44186         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
44187         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
44188         enforce that all clients require it.
44189
44190         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
44191         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
44192         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
44193         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
44194
44195 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
44196
44197         Revert:
44198         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44199
44200         regex: do not depend on obsolete modules.
44201         * modules/regex: Remove memcmp and memmove.
44202
44203 2009-01-20  Bruno Haible  <bruno@clisp.org>
44204
44205         Make the 'link' module link on Windows NT 4.
44206         * lib/link.c (_WIN32_WINNT): Don't define.
44207         (CreateHardLinkFuncType): New type.
44208         (CreateHardLinkFunc, initialized): New variables.
44209         (initialize): New function.
44210         (link): Invoke CreateHardLink indirectly through the function pointer.
44211
44212 2009-01-20  Bruno Haible  <bruno@clisp.org>
44213
44214         Fix compilation failure on mingw.
44215         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
44216
44217 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
44218
44219         * doc/c-strtod.texi: Mention a couple of restrictions.
44220
44221 2009-01-20  Jim Meyering  <meyering@redhat.com>
44222
44223         gettimeofday: move more declarations out of functions
44224         * lib/gettimeofday.c: Move extern declarations of tzset and
44225         gmtime out of containing functions.  Prompted by Bruno Haible.
44226
44227 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
44228
44229         regex: do not depend on obsolete modules.
44230         * modules/regex: Remove memcmp and memmove.
44231
44232 2009-01-19  Bruno Haible  <bruno@clisp.org>
44233
44234         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44235         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
44236         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44237         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
44238         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
44239
44240 2009-01-19  Bruno Haible  <bruno@clisp.org>
44241
44242         * tests/test-link.c: Include <errno.h>.
44243         (main): Exit with code 77 when a hard link cannot be created due to
44244         the file system.
44245         * tests/test-link.sh: Skip test when a hard link cannot be created due
44246         to the file system.
44247         Suggested by Eric Blake.
44248
44249 2009-01-19  Martin Lambers  <marlam@marlam.de>
44250
44251         * modules/link-tests: New file.
44252         * tests/test-link.sh: New file.
44253         * tests/test-link.c: New file.
44254
44255 2009-01-19  Eric Blake  <ebb9@byu.net>
44256
44257         doc: mention another function added in cygwin 1.7.0
44258         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
44259         Another new function in cygwin 1.7.
44260
44261 2009-01-19  Bruno Haible  <bruno@clisp.org>
44262
44263         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
44264         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
44265         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
44266         gl_BIGENDIAN, not AC_C_BIGENDIAN.
44267         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44268         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
44269         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
44270         * m4/md4.m4 (gl_MD4): Likewise.
44271         * m4/md5.m4 (gl_MD5): Likewise.
44272         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
44273         * m4/sha1.m4 (gl_SHA1): Likewise.
44274         * m4/sha256.m4 (gl_SHA256): Likewise.
44275         * m4/sha512.m4 (gl_SHA512): Likewise.
44276
44277 2009-01-19  Bruno Haible  <bruno@clisp.org>
44278
44279         * modules/uniname/uniname-tests (Depends-on): Add progname.
44280         * tests/uniname/test-uninames.c: Include progname.h.
44281         (main): Call set_program_name.
44282
44283         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
44284         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
44285         (main): Call set_program_name.
44286
44287         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
44288         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
44289         (main): Call set_program_name.
44290
44291         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
44292         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
44293         (main): Call set_program_name.
44294
44295         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
44296         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
44297         (main): Call set_program_name.
44298
44299         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
44300         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
44301         (main): Call set_program_name.
44302
44303         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
44304         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
44305         (main): Call set_program_name.
44306
44307         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
44308         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
44309         (main): Call set_program_name.
44310
44311         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
44312         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
44313         (main): Call set_program_name.
44314
44315 2009-01-19  Eric Blake  <ebb9@byu.net>
44316
44317         test-unistd: test previous patch
44318         * tests/test-unistd.c: Test *_FILENO macros.
44319
44320         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
44321         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44322         Guarantee a definition.
44323         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
44324         * modules/unistd-safer (Depends-on): Add dependency on unistd.
44325         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
44326         * lib/dup-safer.c (STDERR_FILENO): Likewise.
44327         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44328         Likewise.
44329         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
44330         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
44331         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
44332         Likewise.
44333         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
44334         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
44335         (STDERR_FILENO): Likewise.
44336         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
44337         (STDERR_FILENO): Likewise.
44338         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
44339         (STDERR_FILENO): Likewise.
44340         Reported by Elbert Pol.
44341
44342 2009-01-19  Eric Blake  <ebb9@byu.net>
44343
44344         doc: mention more functions added in cygwin 1.7.0
44345         * doc/posix-functions/abort.texi (abort): Update wording related
44346         to cygwin.
44347         * doc/posix-functions/daylight.texi (daylight): Likewise.
44348         * doc/posix-functions/optarg.texi (optarg): Likewise.
44349         * doc/posix-functions/optarg.texi (opterr): Likewise.
44350         * doc/posix-functions/optarg.texi (optind): Likewise.
44351         * doc/posix-functions/optarg.texi (optopt): Likewise.
44352         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
44353         worked in 1.5.x, and was withdrawn in 1.7.
44354         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
44355         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
44356         cygwin versions.
44357         * doc/posix-functions/perror.texi (perror): Likewise.
44358         * doc/posix-functions/printf.texi (printf): Likewise.
44359         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
44360         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
44361         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
44362         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
44363         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
44364         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
44365         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44366         Likewise.
44367         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44368         Likewise.
44369         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
44370         this function.
44371         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
44372         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
44373         Likewise.
44374         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
44375         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
44376         * doc/posix-functions/confstr.texi (confstr): Likewise.
44377         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
44378         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
44379         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
44380         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
44381         * doc/posix-functions/fputws.texi (fputws): Likewise.
44382         * doc/posix-functions/fwide.texi (fwide): Likewise.
44383         * doc/posix-functions/getwc.texi (getwc): Likewise.
44384         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
44385         * doc/posix-functions/putwc.texi (putwc): Likewise.
44386         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
44387         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
44388         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
44389         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
44390         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
44391         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
44392         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
44393         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
44394         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
44395         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
44396         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
44397
44398 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44399
44400         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
44401         * lib/ioctl.c: Include <sys/ioctl.h>.
44402
44403 2009-01-19  Simon Josefsson  <simon@josefsson.org>
44404
44405         * modules/getdate-tests (Depends-on): Add progname.
44406         * tests/test-getdate.c: Use progname module, to avoid link errors
44407         on non-glibc systems.
44408
44409 2009-01-18  Simon Josefsson  <simon@josefsson.org>
44410
44411         * modules/filenamecat-tests (Depends-on): Add progname.
44412         * modules/fstrcmp-tests (Depends-on): Likewise.
44413
44414         * tests/test-filenamecat.c: Use progname module, to avoid link
44415         errors on non-glibc systems.
44416         * tests/test-fstrcmp.c: Likewise.
44417
44418 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
44419
44420         gettimeofday: avoid warning: nested extern declaration of 'localtime'
44421         * lib/gettimeofday.c: Move extern declaration out of function.
44422
44423 2009-01-18  Bruno Haible  <bruno@clisp.org>
44424
44425         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
44426         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
44427         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
44428
44429 2009-01-18  Bruno Haible  <bruno@clisp.org>
44430
44431         * lib/strftime.c (MEMPCPY): Remove unused macro.
44432         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
44433
44434 2009-01-18  Martin Lambers  <marlam@marlam.de>
44435
44436         New module 'link'.
44437         * lib/unistd.in.h (link): New declaration.
44438         * lib/link.c: New file.
44439         * m4/link.m4: New file.
44440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
44441         HAVE_LINK.
44442         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
44443         * modules/link: New file.
44444         * doc/posix-functions/link.texi: Mention the new module.
44445
44446 2009-01-18  Bruno Haible  <bruno@clisp.org>
44447
44448         * tests/test-avltree_list.c (main): Call set_program_name.
44449         * tests/test-avltree_oset.c (main): Likewise.
44450         * tests/test-obstack-printf.c: Include progname.h.
44451         (main): Call set_program_name.
44452         * tests/test-quotearg.c: Include progname.h.
44453         (main): Call set_program_name.
44454         * tests/test-xmemdup0.c: Include progname.h.
44455         (main): Call set_program_name.
44456
44457 2009-01-18  Bruno Haible  <bruno@clisp.org>
44458
44459         New module 'alphasort'.
44460         * lib/dirent.in.h (alphasort): New declaration.
44461         * lib/alphasort.c: New file, from glibc with modifications.
44462         * m4/alphasort.m4: New file.
44463         * modules/alphasort: New file.
44464         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
44465         HAVE_ALPHASORT.
44466         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
44467         HAVE_ALPHASORT.
44468         * doc/posix-functions/alphasort.texi: Mention the new module and the
44469         portability problems.
44470
44471 2009-01-18  Bruno Haible  <bruno@clisp.org>
44472
44473         New module 'scandir'.
44474         * lib/dirent.in.h (scandir): New declaration.
44475         * lib/scandir.c: New file, from glibc with modifications.
44476         * m4/scandir.m4: New file.
44477         * modules/scandir: New file.
44478         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
44479         HAVE_SCANDIR.
44480         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
44481         HAVE_SCANDIR.
44482         * doc/posix-functions/scandir.texi: Mention the new module and the
44483         portability problems.
44484
44485 2009-01-17  Bruno Haible  <bruno@clisp.org>
44486
44487         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
44488         Update documentation.
44489         (func_remove_suffix): Escape all dots in the suffix. Update
44490         documentation.
44491         (func_filter_filelist): Update documentation.
44492         Reported by Ralf Wildenhues.
44493
44494 2009-01-17  Bruno Haible  <bruno@clisp.org>
44495
44496         * modules/dprintf-posix-tests: New file.
44497         * tests/test-dprintf-posix.sh: New file.
44498         * tests/test-dprintf-posix.c: New file.
44499
44500         New modules 'dprintf', 'dprintf-posix'.
44501         * lib/stdio.in.h (dprintf): New declaration.
44502         * lib/dprintf.c: New file.
44503         * m4/dprintf.m4: New file.
44504         * m4/dprintf-posix.m4: New file.
44505         * modules/dprintf: New file.
44506         * modules/dprintf-posix: New file.
44507         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
44508         HAVE_DPRINTF, REPLACE_DPRINTF.
44509         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
44510         HAVE_DPRINTF, REPLACE_DPRINTF.
44511         * doc/posix-functions/dprintf.texi: Mention the new modules.
44512
44513 2009-01-17  Bruno Haible  <bruno@clisp.org>
44514
44515         * modules/vdprintf-posix-tests: New file.
44516         * tests/test-vdprintf-posix.sh: New file.
44517         * tests/test-vdprintf-posix.c: New file.
44518
44519         New modules 'vdprintf', 'vdprintf-posix'.
44520         * lib/stdio.in.h (vdprintf): New declaration.
44521         * lib/vdprintf.c: New file.
44522         * m4/vdprintf.m4: New file.
44523         * m4/vdprintf-posix.m4: New file.
44524         * modules/vdprintf: New file.
44525         * modules/vdprintf-posix: New file.
44526         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
44527         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44528         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
44529         HAVE_VDPRINTF, REPLACE_VDPRINTF.
44530         * doc/posix-functions/vdprintf.texi: Mention the new modules.
44531
44532 2009-01-17  Bruno Haible  <bruno@clisp.org>
44533
44534         Fix replacement of fopen on mingw.
44535         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
44536         mingw.
44537
44538 2009-01-17  Bruno Haible  <bruno@clisp.org>
44539
44540         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
44541         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
44542
44543 2009-01-17  Bruno Haible  <bruno@clisp.org>
44544
44545         Avoid test-fflush2.sh failure on mingw.
44546         * tests/test-fflush2.c: Include binary-io.h.
44547         (main): Put standard input into binary mode.
44548         * modules/fflush-tests (Depends-on): Add binary-io.
44549
44550 2009-01-17  Bruno Haible  <bruno@clisp.org>
44551
44552         * lib/wchar.in.h: In another particular situation, include only the
44553         system's <wchar.h> file.
44554         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
44555         Reported by Albert Chin-A-Young <china@thewrittenword.com>
44556         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
44557
44558 2009-01-17  Bruno Haible  <bruno@clisp.org>
44559
44560         Support for stripping executables in --enable-relocatable.
44561         * build-aux/install-reloc: Expect one more argument, or an environment
44562         variable RELOC_STRIP_PROG. If set, strip the destination program and
44563         its wrapper.
44564         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
44565         RELOC_STRIP_PROG.
44566         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
44567         to set RELOCATABLE_STRIP.
44568         * NEWS: Mention the new Makefile requirement.
44569
44570 2009-01-17  Bruno Haible  <bruno@clisp.org>
44571
44572         * build-aux/install-reloc: Remove debugging information left over by
44573         C compiler on MacOS X.
44574
44575 2009-01-17  Bruno Haible  <bruno@clisp.org>
44576
44577         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
44578         * lib/progreloc.c (find_executable): Fix type of pointer passed to
44579         _NSGetExecutablePath.
44580
44581 2009-01-16  Jim Meyering  <meyering@redhat.com>
44582
44583         strerror: avoid warnings about discarding "const"
44584         * lib/strerror.c (rpl_strerror): Instead of returning a const
44585         string from each and every "case", use a variable, and add a single
44586         cast after the switch.
44587
44588 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
44589
44590         * lib/arpa_inet.in.h: Add extern "C" block for C++.
44591
44592 2009-01-16  Bruno Haible  <bruno@clisp.org>
44593
44594         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
44595         array initializer syntax that also works in C++ mode.
44596         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44597
44598 2009-01-16  Jim Meyering  <meyering@redhat.com>
44599
44600         poll: suppress a warning
44601         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
44602         to ignore "...unsigned expression < 0 is always false" warnings.
44603
44604 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
44605
44606         poll: remove declarations of unused variables
44607         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
44608         sockbuf and optlen.
44609
44610 2009-01-15  Bruno Haible  <bruno@clisp.org>
44611
44612         Make fflush-after-ungetc POSIX compliant on BSD systems.
44613         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
44614         (clear_ungetc_buffer): Implement also for other systems.
44615         (rpl_fflush): On glibc systems, invoke
44616         clear_ungetc_buffer_preserving_position. Otherwise, invoke
44617         clear_ungetc_buffer after fetching the stream's position, not before.
44618
44619 2009-01-15  Bruno Haible  <bruno@clisp.org>
44620
44621         Make fflush-after-ungetc POSIX compliant on glibc systems.
44622         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
44623         after ungetc.
44624         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
44625         (rpl_fflush): On glibc systems, simply call the system's fflush
44626         function after clearing the ungetc buffer.
44627         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
44628         Instead, lseek only to the end of file, then use the system's fseeko
44629         for the rest. On glibc systems, reset the EOF indicator bit.
44630
44631 2009-01-15  Jim Meyering  <meyering@redhat.com>
44632
44633         openmp.m4: revert quote-adding change, for portability to older autoconf
44634         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
44635         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
44636         Simon Josefsson noticed the problem when using autoconf-2.61.
44637
44638 2009-01-15  Bruno Haible  <bruno@clisp.org>
44639
44640         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
44641         * tests/test-fflush2.c (ASSERT): Always fail.
44642         (main): Add two tests for fflush() after ungetc(), taking into account
44643         the Austin Group's clarification.
44644         Suggested by Eric Blake.
44645
44646 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
44647
44648         mktime.m4: remove K&R-style function prototypes
44649         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
44650         for the Sun C++ compiler.
44651
44652 2009-01-14  Bruno Haible  <bruno@clisp.org>
44653
44654         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
44655         while including <wchar.h>.
44656         * lib/wchar.in.h: In two particular situations on HP-UX, include only
44657         the system's <wchar.h> file.
44658         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44659
44660 2009-01-14  Bruno Haible  <bruno@clisp.org>
44661
44662         * m4/csharp.m4: Don't mention gettext on the serial number line.
44663         * m4/csharpexec.m4: Likewise.
44664         * m4/eaccess.m4: Likewise.
44665         * m4/javaexec.m4: Likewise.
44666         * m4/sig_atomic_t.m4: Likewise.
44667         * m4/tmpdir.m4: Likewise.
44668         * m4/intldir.m4: Bump gettext version.
44669         * m4/lib-ld.m4: Likewise.
44670
44671 2009-01-14  Bruno Haible  <bruno@clisp.org>
44672
44673         * lib/progname.c (set_program_name): Add more comments.
44674         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44675
44676 2009-01-14  Simon Josefsson  <simon@josefsson.org>
44677
44678         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
44679         were sys/stat.h does not define it.
44680
44681 2009-01-14  Jim Meyering  <meyering@redhat.com>
44682
44683         many *.m4 files: improve m4 quoting
44684         99% of this change was performed by running the following commands:
44685         git ls-files | grep '\.m4$' | xargs perl -pi \
44686           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
44687           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44688           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
44689           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
44690         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
44691         The remainder were to add Copyright dates, increment serial numbers,
44692         undo some changes in comments, exclude m4/intl.m4, and add quotes
44693         around the "1" in ",1" where the unusual spacing prohibited the
44694         above regexps from doing the job.  For more details, see
44695         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
44696         * m4/acl.m4: Modified.
44697         * m4/afs.m4: Likewise.
44698         * m4/alloca.m4: Likewise.
44699         * m4/argp.m4: Likewise.
44700         * m4/argz.m4: Likewise.
44701         * m4/atexit.m4: Likewise.
44702         * m4/bison-i18n.m4: Likewise.
44703         * m4/bison.m4: Likewise.
44704         * m4/byteswap.m4: Likewise.
44705         * m4/c-stack.m4: Likewise.
44706         * m4/c-strtod.m4: Likewise.
44707         * m4/calloc.m4: Likewise.
44708         * m4/canonicalize-lgpl.m4: Likewise.
44709         * m4/chown.m4: Likewise.
44710         * m4/clock_time.m4: Likewise.
44711         * m4/codeset.m4: Likewise.
44712         * m4/copy-file.m4: Likewise.
44713         * m4/csharp.m4: Likewise.
44714         * m4/csharpcomp.m4: Likewise.
44715         * m4/csharpexec.m4: Likewise.
44716         * m4/d-ino.m4: Likewise.
44717         * m4/d-type.m4: Likewise.
44718         * m4/dirfd.m4: Likewise.
44719         * m4/double-slash-root.m4: Likewise.
44720         * m4/eaccess.m4: Likewise.
44721         * m4/eealloc.m4: Likewise.
44722         * m4/environ.m4: Likewise.
44723         * m4/errno_h.m4: Likewise.
44724         * m4/euidaccess.m4: Likewise.
44725         * m4/execute.m4: Likewise.
44726         * m4/fatal-signal.m4: Likewise.
44727         * m4/fchdir.m4: Likewise.
44728         * m4/fcntl_h.m4: Likewise.
44729         * m4/fileblocks.m4: Likewise.
44730         * m4/filenamecat.m4: Likewise.
44731         * m4/findprog.m4: Likewise.
44732         * m4/flexmember.m4: Likewise.
44733         * m4/fnmatch.m4: Likewise.
44734         * m4/fopen.m4: Likewise.
44735         * m4/fpending.m4: Likewise.
44736         * m4/fprintf-posix.m4: Likewise.
44737         * m4/free.m4: Likewise.
44738         * m4/frexp.m4: Likewise.
44739         * m4/frexpl.m4: Likewise.
44740         * m4/fsusage.m4: Likewise.
44741         * m4/ftruncate.m4: Likewise.
44742         * m4/gc-camellia.m4: Likewise.
44743         * m4/gc-random.m4: Likewise.
44744         * m4/gc.m4: Likewise.
44745         * m4/getaddrinfo.m4: Likewise.
44746         * m4/getcwd-abort-bug.m4: Likewise.
44747         * m4/getcwd-path-max.m4: Likewise.
44748         * m4/getdate.m4: Likewise.
44749         * m4/getdomainname.m4: Likewise.
44750         * m4/getgroups.m4: Likewise.
44751         * m4/gethostname.m4: Likewise.
44752         * m4/gethrxtime.m4: Likewise.
44753         * m4/getline.m4: Likewise.
44754         * m4/getloadavg.m4: Likewise.
44755         * m4/getndelim2.m4: Likewise.
44756         * m4/getpass.m4: Likewise.
44757         * m4/gettext.m4: Likewise.
44758         * m4/gettime.m4: Likewise.
44759         * m4/gettimeofday.m4: Likewise.
44760         * m4/gnulib-common.m4: Likewise.
44761         * m4/group-member.m4: Likewise.
44762         * m4/host-os.m4: Likewise.
44763         * m4/iconv.m4: Likewise.
44764         * m4/iconv_open.m4: Likewise.
44765         * m4/inet_ntop.m4: Likewise.
44766         * m4/inet_pton.m4: Likewise.
44767         * m4/inline.m4: Likewise.
44768         * m4/intldir.m4: Likewise.
44769         * m4/intlmacosx.m4: Likewise.
44770         * m4/intmax.m4: Likewise.
44771         * m4/intmax_t.m4: Likewise.
44772         * m4/inttypes.m4: Likewise.
44773         * m4/inttypes_h.m4: Likewise.
44774         * m4/inttypes-pri.m4: Likewise.
44775         * m4/isapipe.m4: Likewise.
44776         * m4/isnand.m4: Likewise.
44777         * m4/isnanf.m4: Likewise.
44778         * m4/isnanl.m4: Likewise.
44779         * m4/javacomp.m4: Likewise.
44780         * m4/javaexec.m4: Likewise.
44781         * m4/jm-winsz1.m4: Likewise.
44782         * m4/jm-winsz2.m4: Likewise.
44783         * m4/lchown.m4: Likewise.
44784         * m4/lcmessage.m4: Likewise.
44785         * m4/ldexpl.m4: Likewise.
44786         * m4/lib-ld.m4: Likewise.
44787         * m4/lib-link.m4: Likewise.
44788         * m4/libsigsegv.m4: Likewise.
44789         * m4/link-follow.m4: Likewise.
44790         * m4/localcharset.m4: Likewise.
44791         * m4/locale-fr.m4: Likewise.
44792         * m4/locale-ja.m4: Likewise.
44793         * m4/locale-tr.m4: Likewise.
44794         * m4/locale-zh.m4: Likewise.
44795         * m4/lock.m4: Likewise.
44796         * m4/longlong.m4: Likewise.
44797         * m4/ls-mntd-fs.m4: Likewise.
44798         * m4/lstat.m4: Likewise.
44799         * m4/malloc.m4: Likewise.
44800         * m4/mathl.m4: Likewise.
44801         * m4/mbrtowc.m4: Likewise.
44802         * m4/mbstate_t.m4: Likewise.
44803         * m4/mbswidth.m4: Likewise.
44804         * m4/memchr.m4: Likewise.
44805         * m4/memcmp.m4: Likewise.
44806         * m4/memcpy.m4: Likewise.
44807         * m4/memmem.m4: Likewise.
44808         * m4/memmove.m4: Likewise.
44809         * m4/mempcpy.m4: Likewise.
44810         * m4/memrchr.m4: Likewise.
44811         * m4/memset.m4: Likewise.
44812         * m4/minmax.m4: Likewise.
44813         * m4/mkdir-slash.m4: Likewise.
44814         * m4/mkdtemp.m4: Likewise.
44815         * m4/mktime.m4: Likewise.
44816         * m4/mmap-anon.m4: Likewise.
44817         * m4/mountlist.m4: Likewise.
44818         * m4/nanosleep.m4: Likewise.
44819         * m4/nls.m4: Likewise.
44820         * m4/nocrash.m4: Likewise.
44821         * m4/open.m4: Likewise.
44822         * m4/openat.m4: Likewise.
44823         * m4/openmp.m4: Likewise.
44824         * m4/pathmax.m4: Likewise.
44825         * m4/perl.m4: Likewise.
44826         * m4/physmem.m4: Likewise.
44827         * m4/pipe.m4: Likewise.
44828         * m4/po.m4: Likewise.
44829         * m4/poll.m4: Likewise.
44830         * m4/posixtm.m4: Likewise.
44831         * m4/posixver.m4: Likewise.
44832         * m4/printf-frexp.m4: Likewise.
44833         * m4/printf-frexpl.m4: Likewise.
44834         * m4/printf-posix.m4: Likewise.
44835         * m4/printf-posix-rpl.m4: Likewise.
44836         * m4/printf.m4: Likewise.
44837         * m4/progtest.m4: Likewise.
44838         * m4/putenv.m4: Likewise.
44839         * m4/readline.m4: Likewise.
44840         * m4/readlink.m4: Likewise.
44841         * m4/readutmp.m4: Likewise.
44842         * m4/realloc.m4: Likewise.
44843         * m4/regex.m4: Likewise.
44844         * m4/relocatable.m4: Likewise.
44845         * m4/relocatable-lib.m4: Likewise.
44846         * m4/rename-dest-slash.m4: Likewise.
44847         * m4/rename.m4: Likewise.
44848         * m4/rmdir-errno.m4: Likewise.
44849         * m4/rmdir.m4: Likewise.
44850         * m4/roundf.m4: Likewise.
44851         * m4/roundl.m4: Likewise.
44852         * m4/rpmatch.m4: Likewise.
44853         * m4/save-cwd.m4: Likewise.
44854         * m4/selinux-selinux-h.m4: Likewise.
44855         * m4/setenv.m4: Likewise.
44856         * m4/settime.m4: Likewise.
44857         * m4/sig2str.m4: Likewise.
44858         * m4/sig_atomic_t.m4: Likewise.
44859         * m4/signalblocking.m4: Likewise.
44860         * m4/signbit.m4: Likewise.
44861         * m4/sigpipe.m4: Likewise.
44862         * m4/sockets.m4: Likewise.
44863         * m4/sockpfaf.m4: Likewise.
44864         * m4/st_dm_mode.m4: Likewise.
44865         * m4/stat-time.m4: Likewise.
44866         * m4/stdbool.m4: Likewise.
44867         * m4/stdint.m4: Likewise.
44868         * m4/stdint_h.m4: Likewise.
44869         * m4/stpcpy.m4: Likewise.
44870         * m4/stpncpy.m4: Likewise.
44871         * m4/strcase.m4: Likewise.
44872         * m4/strchrnul.m4: Likewise.
44873         * m4/strcspn.m4: Likewise.
44874         * m4/strdup.m4: Likewise.
44875         * m4/strftime.m4: Likewise.
44876         * m4/strndup.m4: Likewise.
44877         * m4/strnlen.m4: Likewise.
44878         * m4/strpbrk.m4: Likewise.
44879         * m4/strptime.m4: Likewise.
44880         * m4/strsep.m4: Likewise.
44881         * m4/strtod.m4: Likewise.
44882         * m4/strtoimax.m4: Likewise.
44883         * m4/strtok_r.m4: Likewise.
44884         * m4/strtol.m4: Likewise.
44885         * m4/strtoll.m4: Likewise.
44886         * m4/strtoul.m4: Likewise.
44887         * m4/strtoull.m4: Likewise.
44888         * m4/strtoumax.m4: Likewise.
44889         * m4/strverscmp.m4: Likewise.
44890         * m4/threadlib.m4: Likewise.
44891         * m4/timegm.m4: Likewise.
44892         * m4/tm_gmtoff.m4: Likewise.
44893         * m4/tmpdir.m4: Likewise.
44894         * m4/tmpfile.m4: Likewise.
44895         * m4/tzset.m4: Likewise.
44896         * m4/uintmax_t.m4: Likewise.
44897         * m4/unlinkdir.m4: Likewise.
44898         * m4/unlocked-io.m4: Likewise.
44899         * m4/uptime.m4: Likewise.
44900         * m4/userspec.m4: Likewise.
44901         * m4/utimbuf.m4: Likewise.
44902         * m4/utime.m4: Likewise.
44903         * m4/utimes-null.m4: Likewise.
44904         * m4/utimes.m4: Likewise.
44905         * m4/vararrays.m4: Likewise.
44906         * m4/vasnprintf.m4: Likewise.
44907         * m4/vfprintf-posix.m4: Likewise.
44908         * m4/vprintf-posix.m4: Likewise.
44909         * m4/wait-process.m4: Likewise.
44910         * m4/wchar_t.m4: Likewise.
44911         * m4/wint_t.m4: Likewise.
44912         * m4/write-any-file.m4: Likewise.
44913         * m4/yield.m4: Likewise.
44914
44915 2009-01-13  Bruno Haible  <bruno@clisp.org>
44916
44917         Avoid test-copy-file.sh failures when ACL support insufficient.
44918         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
44919         TESTS_ENVIRONMENT.
44920         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
44921         Reported by Jim Meyering.
44922
44923 2009-01-13  Bruno Haible  <bruno@clisp.org>
44924
44925         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
44926         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
44927         * modules/unistdio/u8-printf-parse (Files): Likewise.
44928         * modules/unistdio/u32-printf-parse (Files): Likewise.
44929         * modules/unistdio/ulc-printf-parse (Files): Likewise.
44930
44931 2009-01-13  Simon Josefsson  <simon@josefsson.org>
44932
44933         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
44934         and m4/inttypes_h.m4 too.
44935
44936 2009-01-12  Eric Blake  <ebb9@byu.net>
44937
44938         tests: IRIX 6.2 cc can't compile -0.0 into .data
44939         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
44940         rather than at compile-time.
44941         * tests/test-floorl.c (minus_zero): Likewise.
44942         * tests/test-frexpl.c (minus_zero): Likewise.
44943         * tests/test-isnan.c (minus_zerol): Likewise.
44944         * tests/test-isnanl.h (minus_zero): Likewise.
44945         * tests/test-ldexpl.c (minus_zero): Likewise.
44946         * tests/test-roundl.c (minus_zero): Likewise.
44947         * tests/test-signbit.c (minus_zerol): Likewise.
44948         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
44949         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
44950         * tests/test-truncl.c (minus_zero): Likewise.
44951         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
44952         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
44953         Reported by Tom G. Christensen and Nelson H. F. Beebe.
44954
44955 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44956
44957         regex: fix glibc bug 9697
44958         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
44959         handling.
44960
44961 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44962
44963         regex: fix glibc bug 697
44964         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
44965         being NULL also if there are no backreferences.
44966
44967 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
44968
44969         regex: merge glibc changes
44970         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
44971         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
44972         re_string_skip_chars, re_string_reconstruct): Likewise.
44973         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
44974
44975 2009-01-07  Jim Meyering  <meyering@redhat.com>
44976
44977         poll: filter through cppi
44978         * lib/poll.c: Indent cpp directives to reflect nesting.
44979
44980 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
44981
44982         poll: don't return uninitialized
44983         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
44984
44985 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
44986
44987         avoid compile failure on AIX 6.1
44988         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
44989         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
44990
44991 2009-01-04  Jim Meyering  <meyering@redhat.com>
44992
44993         remove duplicate inclusion of <stdio.h>
44994         * tests/test-fprintf-posix.c: Likewise.
44995         * tests/test-printf-posix.c: Likewise.
44996         * tests/test-snprintf-posix.c: Likewise.
44997         * tests/test-sprintf-posix.c: Likewise.
44998         * tests/test-vasprintf-posix.c: Likewise.
44999         * tests/test-vfprintf-posix.c: Likewise.
45000         * tests/test-vprintf-posix.c: Likewise.
45001         * tests/test-vsnprintf-posix.c: Likewise.
45002         * tests/test-vsprintf-posix.c: Likewise.
45003
45004 2009-01-03  Jim Meyering  <meyering@redhat.com>
45005
45006         gnulib-tool: fix sed-based filtering
45007         * gnulib-tool (func_filter_filelist): Remove extra backslash
45008         in sed_fff_filter definition.
45009
45010 2009-01-02  Jim Meyering  <meyering@redhat.com>
45011
45012         strftime: avoid compilation failure on Solaris 2.6
45013         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
45014         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
45015         Don't #define mbrlen or mbsinit, since now they're guaranteed to
45016         be available.  Reported by Tom G. Christensen.  Details in
45017         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
45018
45019 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45020             Bruno Haible  <bruno@clisp.org>
45021
45022         Speed up gnulib-tool by doing more string processing through shell
45023         built-ins.
45024         * gnulib-tool (fast_func_append): New variable.
45025         (func_remove_prefix, func_remove_suffix): New functions.
45026         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
45027         (func_filter_filelist): New function.
45028         (func_get_dependencies): Use func_remove_suffix instead of sed.
45029         (func_get_automake_snippet): Use func_filter_filelist instead of a
45030         subshell and sed invocation.
45031
45032 2009-01-01  Bruno Haible  <bruno@clisp.org>
45033
45034         Fix a security bug.
45035         * gnulib-tool (func_import, import, update): Don't allow the characters
45036         '"', '$', '`', '\' in macro arguments that become part of commands that
45037         are evaluated.
45038
45039 2009-01-01  Bruno Haible  <bruno@clisp.org>
45040
45041         * gnulib-tool (func_reset_sigpipe): Add more comments.
45042
45043 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45044
45045         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
45046         func_emit_tests_Makefile_am, func_import): Abort loops early if we
45047         already know the answer.
45048
45049 2009-01-01  Jim Meyering  <meyering@redhat.com>
45050
45051         * lib/version-etc.c (version_etc_va): Update copyright year.
45052
45053 2008-12-30  Bruno Haible  <bruno@clisp.org>
45054
45055         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
45056         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
45057         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
45058
45059 2008-12-29  Eric Blake  <ebb9@byu.net>
45060
45061         multiarch: avoid autoconf AC_REQUIRE bug
45062         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
45063         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
45064         2.63 and older.
45065         Reported by Bruno Haible, and analyzed in
45066         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
45067
45068 2008-12-29  Bruno Haible  <bruno@clisp.org>
45069
45070         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
45071         files in subdirectories correctly.
45072         Reported by Ralf Wildenhues.
45073
45074 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45075
45076         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
45077         rather than 'join FILE -', for Solaris join.
45078
45079 2008-12-29  Bruno Haible  <bruno@clisp.org>
45080
45081         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
45082         quoting.
45083         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
45084         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
45085         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
45086         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
45087         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
45088         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
45089         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
45090         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
45091         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
45092         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
45093         * m4/nls.m4 (AM_NLS): Likewise.
45094         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
45095         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
45096         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
45097         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
45098         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
45099         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
45100         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
45101         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
45102         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
45103         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
45104         * m4/xsize.m4 (gl_XSIZE): Likewise.
45105         Suggested by Jim Meyering.
45106
45107 2008-11-17  Bruce Korb  <bkorb@gnu.org>
45108
45109         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
45110         * lib/parse-duration.c: use a switch instead of cascading if's.
45111
45112 2008-12-29  Eric Blake  <ebb9@byu.net>
45113
45114         wchar.h: supply WEOF on Irix 5.3
45115         * lib/wchar.in.h (wint_t): Also supply WEOF.
45116         * lib/wctype.in.h (wint_t): Likewise.
45117         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
45118         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
45119         Reported by Tom G. Christensen.
45120
45121 2008-12-26  Bruno Haible  <bruno@clisp.org>
45122
45123         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
45124         i486, i586, i686.
45125
45126 2008-12-26  Bruno Haible  <bruno@clisp.org>
45127
45128         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
45129
45130 2008-12-26  Bruno Haible  <bruno@clisp.org>
45131
45132         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
45133         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
45134         not __STDC_CONSTANT_MACROS.
45135         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
45136
45137 2008-12-25  Bruno Haible  <bruno@clisp.org>
45138
45139         Add support for universal builds to vasnprintf.
45140         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
45141         universal builds, guess no.
45142         * modules/vasnprintf-posix (Depends-on): Add multiarch.
45143         * modules/vasprintf-posix (Depends-on): Likewise.
45144         * modules/fprintf-posix (Depends-on): Likewise.
45145         * modules/vfprintf-posix (Depends-on): Likewise.
45146         * modules/snprintf-posix (Depends-on): Likewise.
45147         * modules/vsnprintf-posix (Depends-on): Likewise.
45148         * modules/sprintf-posix (Depends-on): Likewise.
45149         * modules/vsprintf-posix (Depends-on): Likewise.
45150         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45151         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45152         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45153         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45154         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45155         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45156         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45157
45158         Add support for universal builds to <inttypes.h>.
45159         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
45160         _SCNu64_PREFIX): In Apple
45161         universal builds, define directly, using _LP64.
45162         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
45163         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
45164         * modules/inttypes (Depends-on): Add multiarch.
45165         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45166
45167         Add support for universal builds to <stdint.h>.
45168         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
45169         universal builds, define directly, using _LP64.
45170         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
45171         Apple universal builds, don't test for the size and suffix of ptrdiff_t
45172         and size_t.
45173         * modules/stdint (Depends-on): Add multiarch.
45174         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
45175
45176         New module 'multiarch'.
45177         * modules/multiarch: New file.
45178         * m4/multiarch.m4: New file.
45179
45180 2008-12-25  Bruno Haible  <bruno@clisp.org>
45181
45182         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
45183
45184 2008-12-25  Bruno Haible  <bruno@clisp.org>
45185
45186         * modules/btowc (License): Relicense under LGPLv2+.
45187         * modules/mbsinit (License): Likewise.
45188         * modules/mbrtowc (License): Likewise.
45189         * modules/wcrtomb (License): Likewise.
45190         * modules/streq (License): Likewise.
45191         Reported by David Lutterkort <lutter@redhat.com>.
45192
45193 2008-12-23  Bruno Haible  <bruno@clisp.org>
45194
45195         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
45196
45197 2008-12-23  Bruno Haible  <bruno@clisp.org>
45198
45199         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
45200         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
45201         GETADDRINFO_LIB, not in LIBS.
45202         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
45203         * modules/canon-host (Link): Likewise.
45204         * NEWS: Mention the change.
45205         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
45206         GETADDRINFO_LIB.
45207
45208 2008-12-22  Bruno Haible  <bruno@clisp.org>
45209
45210         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
45211         * doc/posix-functions/iswalpha_l.texi: Likewise.
45212         * doc/posix-functions/iswblank_l.texi: Likewise.
45213         * doc/posix-functions/iswcntrl_l.texi: Likewise.
45214         * doc/posix-functions/iswctype_l.texi: Likewise.
45215         * doc/posix-functions/iswdigit_l.texi: Likewise.
45216         * doc/posix-functions/iswgraph_l.texi: Likewise.
45217         * doc/posix-functions/iswlower_l.texi: Likewise.
45218         * doc/posix-functions/iswprint_l.texi: Likewise.
45219         * doc/posix-functions/iswpunct_l.texi: Likewise.
45220         * doc/posix-functions/iswspace_l.texi: Likewise.
45221         * doc/posix-functions/iswupper_l.texi: Likewise.
45222         * doc/posix-functions/iswxdigit_l.texi: Likewise.
45223         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
45224         * doc/posix-functions/open_wmemstream.texi: Likewise.
45225         * doc/posix-functions/swscanf.texi: Likewise.
45226         * doc/posix-functions/towctrans_l.texi: Likewise.
45227         * doc/posix-functions/towlower.texi: Likewise.
45228         * doc/posix-functions/towlower_l.texi: Likewise.
45229         * doc/posix-functions/towupper.texi: Likewise.
45230         * doc/posix-functions/towupper_l.texi: Likewise.
45231         * doc/posix-functions/vfwprintf.texi: Likewise.
45232         * doc/posix-functions/vfwscanf.texi: Likewise.
45233         * doc/posix-functions/vswscanf.texi: Likewise.
45234         * doc/posix-functions/vwprintf.texi: Likewise.
45235         * doc/posix-functions/vwscanf.texi: Likewise.
45236         * doc/posix-functions/wcpcpy.texi: Likewise.
45237         * doc/posix-functions/wcpncpy.texi: Likewise.
45238         * doc/posix-functions/wcscasecmp.texi: Likewise.
45239         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
45240         * doc/posix-functions/wcscoll_l.texi: Likewise.
45241         * doc/posix-functions/wcsdup.texi: Likewise.
45242         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45243         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
45244         * doc/posix-functions/wcsnlen.texi: Likewise.
45245         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45246         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
45247         * doc/posix-functions/wctrans_l.texi: Likewise.
45248         * doc/posix-functions/wctype_l.texi: Likewise.
45249         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
45250         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
45251         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
45252         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
45253         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
45254         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
45255         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
45256         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
45257         * doc/glibc-functions/wcschrnul.texi: Likewise.
45258         * doc/glibc-functions/wcsftime_l.texi: Likewise.
45259         * doc/glibc-functions/wcstod_l.texi: Likewise.
45260         * doc/glibc-functions/wcstof_l.texi: Likewise.
45261         * doc/glibc-functions/wcstol_l.texi: Likewise.
45262         * doc/glibc-functions/wcstold_l.texi: Likewise.
45263         * doc/glibc-functions/wcstoll_l.texi: Likewise.
45264         * doc/glibc-functions/wcstoq.texi: Likewise.
45265         * doc/glibc-functions/wcstoul_l.texi: Likewise.
45266         * doc/glibc-functions/wcstoull_l.texi: Likewise.
45267         * doc/glibc-functions/wcstouq.texi: Likewise.
45268         * doc/glibc-functions/wmempcpy.texi: Likewise.
45269
45270 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
45271             Eric Blake  <ebb9@byu.net>
45272             Paolo Bonzini  <bonzini@gnu.org>
45273             Bruno Haible  <bruno@clisp.org>
45274
45275         Make c-stack work on Haiku.
45276         * lib/c-stack.c (SA_ONSTACK): Define fallback.
45277         (c_stack_action): Use SA_ONSTACK flag.
45278
45279 2008-12-22  Bruno Haible  <bruno@clisp.org>
45280
45281         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
45282
45283 2008-12-22  Bruno Haible  <bruno@clisp.org>
45284
45285         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
45286         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
45287         being overridden.
45288         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
45289         New macros.
45290         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
45291         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
45292         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
45293         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
45294
45295 2008-12-22  Bruno Haible  <bruno@clisp.org>
45296
45297         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
45298         from test code.
45299
45300 2008-12-22  Eric Blake  <ebb9@byu.net>
45301
45302         Avoid gcc warnings on cygwin.
45303         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
45304         Avoid unused variable.
45305         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
45306         Likewise.
45307
45308 2008-12-22  Bruno Haible  <bruno@clisp.org>
45309
45310         Remove HAVE_MBRTOWC conditionals.
45311         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
45312         (mbscasecmp): Assume mbrtowc function.
45313         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
45314         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
45315         * lib/mbschr.c: Include mbuiter.h unconditionally.
45316         (mbschr): Assume mbrtowc function.
45317         * lib/mbscspn.c: Include mbuiter.h unconditionally.
45318         (mbscspn): Assume mbrtowc function.
45319         * lib/mbslen.c: Include mbuiter.h unconditionally.
45320         (mbslen): Assume mbrtowc function.
45321         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
45322         (mbsncasecmp): Assume mbrtowc function.
45323         * lib/mbsnlen.c: Include mbiter.h unconditionally.
45324         (mbsnlen): Assume mbrtowc function.
45325         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
45326         (mbspbrk): Assume mbrtowc function.
45327         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
45328         (mbspcasecmp): Assume mbrtowc function.
45329         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
45330         (mbsrchr): Assume mbrtowc function.
45331         * lib/mbssep.c: Include mbuiter.h unconditionally.
45332         (mbssep): Assume mbrtowc function.
45333         * lib/mbsspn.c: Include mbuiter.h unconditionally.
45334         (mbsspn): Assume mbrtowc function.
45335         * lib/mbsstr.c: Include mbuiter.h unconditionally.
45336         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
45337         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
45338         (mbstok_r): Assume mbrtowc function.
45339         * lib/propername.c: Include mbuiter.h unconditionally.
45340         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
45341         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
45342         (trim2): Assume mbrtowc function.
45343         * lib/mbswidth.c (mbsinit): Remove fallback definition.
45344         (mbsnwidth): Assume mbrtowc function.
45345         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
45346         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
45347         fallback definitions.
45348         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
45349
45350 2008-12-22  Bruno Haible  <bruno@clisp.org>
45351
45352         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
45353
45354 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
45355
45356         * modules/regex: Request emulations for the mb*/wc* functions we need.
45357         * m4/regex.m4: Don't look for those functions here.
45358         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
45359
45360 2008-12-22  Bruno Haible  <bruno@clisp.org>
45361
45362         * modules/fnmatch (Depends-on): Remove duplicated dependency.
45363
45364 2008-12-21  Bruno Haible  <bruno@clisp.org>
45365
45366         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
45367         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
45368         (Include): Remove conditionalization.
45369         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
45370         (Include): Remove conditionalization.
45371         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
45372         (Include): Remove conditionalization.
45373         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
45374         * m4/mbfile.m4 (gl_MBFILE): Likewise.
45375         * NEWS: Mention the change.
45376         Reported by Alan Hourihane <alanh@fairlite.co.uk>
45377         via Sergey Poznyakoff <gray@gnu.org.ua>.
45378
45379 2008-12-21  Bruno Haible  <bruno@clisp.org>
45380
45381         * MODULES.html.sh (Extended multibyte and wide character utilities
45382         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
45383         wcrtomb, wcsrtombs.
45384         (Support for systems lacking POSIX:2008): Add accept, bind, close,
45385         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
45386         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
45387         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
45388
45389 2008-12-21  Bruno Haible  <bruno@clisp.org>
45390
45391         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
45392
45393 2008-12-21  Bruno Haible  <bruno@clisp.org>
45394
45395         * modules/wcsnrtombs-tests: New file.
45396         * tests/test-wcsnrtombs1.sh: New file.
45397         * tests/test-wcsnrtombs2.sh: New file.
45398         * tests/test-wcsnrtombs3.sh: New file.
45399         * tests/test-wcsnrtombs4.sh: New file.
45400         * tests/test-wcsnrtombs.c: New file.
45401
45402         New module 'wcsnrtombs'.
45403         * lib/wchar.in.h (wcsnrtombs): New declaration.
45404         * lib/wcsnrtombs.c: New file.
45405         * lib/wcsrtombs-state.c: New file.
45406         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
45407         (internal_state): Remove variable.
45408         * m4/wcsnrtombs.m4: New file.
45409         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
45410         compilation units.
45411         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
45412         HAVE_WCSNRTOMBS.
45413         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
45414         HAVE_WCSNRTOMBS.
45415         * modules/wcsnrtombs: New file.
45416         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
45417         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
45418
45419 2008-12-21  Bruno Haible  <bruno@clisp.org>
45420
45421         * modules/wcsrtombs-tests: New file.
45422         * tests/test-wcsrtombs1.sh: New file.
45423         * tests/test-wcsrtombs2.sh: New file.
45424         * tests/test-wcsrtombs3.sh: New file.
45425         * tests/test-wcsrtombs4.sh: New file.
45426         * tests/test-wcsrtombs.c: New file.
45427
45428         New module 'wcsrtombs'.
45429         * lib/wchar.in.h (wcsrtombs): New declaration.
45430         * lib/wcsrtombs.c: New file.
45431         * m4/wcsrtombs.m4: New file.
45432         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
45433         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45434         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
45435         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
45436         * modules/wcsrtombs: New file.
45437         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
45438         bugs.
45439
45440 2008-12-21  Bruno Haible  <bruno@clisp.org>
45441
45442         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
45443         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
45444         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
45445         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
45446         if not correct.
45447         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
45448         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
45449         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45450         m4/locale-zh.m4, m4/codeset.m4.
45451         * doc/posix-functions/wcrtomb.texi: Document the bug.
45452
45453 2008-12-21  Bruno Haible  <bruno@clisp.org>
45454
45455         Work around a btowc() bug on IRIX 6.5.
45456         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
45457         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
45458         REPLACE_WTOBC if not.
45459         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
45460         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
45461         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
45462
45463 2008-12-21  Bruno Haible  <bruno@clisp.org>
45464
45465         * modules/wcrtomb-tests: New file.
45466         * tests/test-wcrtomb.sh: New file.
45467         * tests/test-wcrtomb.c: New file.
45468
45469         New module 'wcrtomb'.
45470         * lib/wchar.in.h (wcrtomb): New declaration.
45471         * lib/wcrtomb.c: New file.
45472         * m4/wcrtomb.m4: New file.
45473         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
45474         HAVE_WCRTOMB.
45475         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
45476         HAVE_WCRTOMB.
45477         * modules/wcrtomb: New file.
45478         * doc/posix-functions/wcrtomb.texi: Mention the new module.
45479
45480 2008-12-21  Bruno Haible  <bruno@clisp.org>
45481
45482         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
45483         * modules/mbsrtowcs (Files): Likewise.
45484         * modules/wctob (Files): Likewise.
45485         * modules/c-strcase-tests (Files): Likewise.
45486         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
45487         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
45488         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
45489         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
45490         * modules/vasnprintf-posix-tests (Files): Likewise.
45491
45492 2008-12-21  William Pursell  <bill.pursell@gmail.com>
45493
45494         gitlog-to-changelog: pass all command-line arguments to git-log
45495         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
45496         it is sometimes convenient to filter the commits in various ways.
45497         gitlog-to-changelog only allows --since to specify a start date,
45498         but git-log itself supports many other filtering mechanisms.
45499         At the moment, I want to filter by branch name.  Rather than
45500         adding a --branch option to gitlog-to-changelog, it seems more
45501         flexible to simply pass all options directly to git-log and let
45502         git do the work.  Notice that this effectively makes --since a
45503         redundant option for gitlog-to-changelog, but removing it would
45504         require current usage to change since calls would then require
45505         an additional '--'.
45506
45507 2008-12-21  Bruno Haible  <bruno@clisp.org>
45508
45509         * modules/mbsnrtowcs-tests: New file.
45510         * tests/test-mbsnrtowcs1.sh: New file.
45511         * tests/test-mbsnrtowcs2.sh: New file.
45512         * tests/test-mbsnrtowcs3.sh: New file.
45513         * tests/test-mbsnrtowcs4.sh: New file.
45514         * tests/test-mbsnrtowcs.c: New file.
45515
45516         New module 'mbsnrtowcs'.
45517         * lib/wchar.in.h (mbsnrtowcs): New declaration.
45518         * lib/mbsnrtowcs.c: New file.
45519         * lib/mbsrtowcs-state.c: New file.
45520         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
45521         (internal_state): Remove variable.
45522         * m4/mbsnrtowcs.m4: New file.
45523         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
45524         compilation units.
45525         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
45526         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45527         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
45528         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
45529         * modules/mbsnrtowcs: New file.
45530         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
45531         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
45532         portability problem.
45533
45534 2008-12-21  Bruno Haible  <bruno@clisp.org>
45535
45536         Work around mbsrtowcs bug.
45537         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
45538         (gl_FUNC_MBSRTOWCS): Invoke it.
45539         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45540         m4/locale-zh.m4.
45541         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
45542
45543 2008-12-21  Bruno Haible  <bruno@clisp.org>
45544
45545         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
45546
45547 2008-12-21  Bruno Haible  <bruno@clisp.org>
45548
45549         Update doc for AIX.
45550         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
45551         16-bit wchar_t type.
45552         * doc/posix-functions/btowc.texi: Likewise.
45553         * doc/posix-functions/fgetwc.texi: Likewise.
45554         * doc/posix-functions/fgetws.texi: Likewise.
45555         * doc/posix-functions/fputwc.texi: Likewise.
45556         * doc/posix-functions/fputws.texi: Likewise.
45557         * doc/posix-functions/fwide.texi: Likewise.
45558         * doc/posix-functions/fwprintf.texi: Likewise.
45559         * doc/posix-functions/fwscanf.texi: Likewise.
45560         * doc/posix-functions/getwchar.texi: Likewise.
45561         * doc/posix-functions/getwc.texi: Likewise.
45562         * doc/posix-functions/iswalnum.texi: Likewise.
45563         * doc/posix-functions/iswalpha.texi: Likewise.
45564         * doc/posix-functions/iswblank.texi: Likewise.
45565         * doc/posix-functions/iswcntrl.texi: Likewise.
45566         * doc/posix-functions/iswctype.texi: Likewise.
45567         * doc/posix-functions/iswdigit.texi: Likewise.
45568         * doc/posix-functions/iswgraph.texi: Likewise.
45569         * doc/posix-functions/iswlower.texi: Likewise.
45570         * doc/posix-functions/iswprint.texi: Likewise.
45571         * doc/posix-functions/iswpunct.texi: Likewise.
45572         * doc/posix-functions/iswspace.texi: Likewise.
45573         * doc/posix-functions/iswupper.texi: Likewise.
45574         * doc/posix-functions/iswxdigit.texi: Likewise.
45575         * doc/posix-functions/mbrtowc.texi: Likewise.
45576         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45577         * doc/posix-functions/mbstowcs.texi: Likewise.
45578         * doc/posix-functions/mbtowc.texi: Likewise.
45579         * doc/posix-functions/putwchar.texi: Likewise.
45580         * doc/posix-functions/putwc.texi: Likewise.
45581         * doc/posix-functions/swprintf.texi: Likewise.
45582         * doc/posix-functions/tolower.texi: Likewise.
45583         * doc/posix-functions/toupper.texi: Likewise.
45584         * doc/posix-functions/towctrans.texi: Likewise.
45585         * doc/posix-functions/ungetwc.texi: Likewise.
45586         * doc/posix-functions/vswprintf.texi: Likewise.
45587         * doc/posix-functions/wcrtomb.texi: Likewise.
45588         * doc/posix-functions/wcscat.texi: Likewise.
45589         * doc/posix-functions/wcschr.texi: Likewise.
45590         * doc/posix-functions/wcscmp.texi: Likewise.
45591         * doc/posix-functions/wcscoll.texi: Likewise.
45592         * doc/posix-functions/wcscpy.texi: Likewise.
45593         * doc/posix-functions/wcscspn.texi: Likewise.
45594         * doc/posix-functions/wcsftime.texi: Likewise.
45595         * doc/posix-functions/wcslen.texi: Likewise.
45596         * doc/posix-functions/wcsncat.texi: Likewise.
45597         * doc/posix-functions/wcsncmp.texi: Likewise.
45598         * doc/posix-functions/wcsncpy.texi: Likewise.
45599         * doc/posix-functions/wcspbrk.texi: Likewise.
45600         * doc/posix-functions/wcsrchr.texi: Likewise.
45601         * doc/posix-functions/wcsrtombs.texi: Likewise.
45602         * doc/posix-functions/wcsspn.texi: Likewise.
45603         * doc/posix-functions/wcsstr.texi: Likewise.
45604         * doc/posix-functions/wcstod.texi: Likewise.
45605         * doc/posix-functions/wcstof.texi: Likewise.
45606         * doc/posix-functions/wcstoimax.texi: Likewise.
45607         * doc/posix-functions/wcstok.texi: Likewise.
45608         * doc/posix-functions/wcstold.texi: Likewise.
45609         * doc/posix-functions/wcstoll.texi: Likewise.
45610         * doc/posix-functions/wcstol.texi: Likewise.
45611         * doc/posix-functions/wcstombs.texi: Likewise.
45612         * doc/posix-functions/wcstoull.texi: Likewise.
45613         * doc/posix-functions/wcstoul.texi: Likewise.
45614         * doc/posix-functions/wcstoumax.texi: Likewise.
45615         * doc/posix-functions/wcswidth.texi: Likewise.
45616         * doc/posix-functions/wcsxfrm.texi: Likewise.
45617         * doc/posix-functions/wctob.texi: Likewise.
45618         * doc/posix-functions/wctomb.texi: Likewise.
45619         * doc/posix-functions/wctrans.texi: Likewise.
45620         * doc/posix-functions/wctype.texi: Likewise.
45621         * doc/posix-functions/wcwidth.texi: Likewise.
45622         * doc/posix-functions/wmemchr.texi: Likewise.
45623         * doc/posix-functions/wmemcmp.texi: Likewise.
45624         * doc/posix-functions/wmemcpy.texi: Likewise.
45625         * doc/posix-functions/wmemmove.texi: Likewise.
45626         * doc/posix-functions/wmemset.texi: Likewise.
45627         * doc/posix-functions/wprintf.texi: Likewise.
45628         * doc/posix-functions/wscanf.texi: Likewise.
45629
45630 2008-12-21  Bruno Haible  <bruno@clisp.org>
45631
45632         Update doc for HP-UX 11.11.
45633         * doc/posix-functions/btowc.texi: Clarify that the function is missing
45634         in HP-UX version 11.00, not in all versions of HP-UX 11.
45635         * doc/posix-functions/fwide.texi: Likewise.
45636         * doc/posix-functions/fwprintf.texi: Likewise.
45637         * doc/posix-functions/fwscanf.texi: Likewise.
45638         * doc/posix-functions/inet_ntop.texi: Likewise.
45639         * doc/posix-functions/inet_pton.texi: Likewise.
45640         * doc/posix-functions/mbrlen.texi: Likewise.
45641         * doc/posix-functions/mbrtowc.texi: Likewise.
45642         * doc/posix-functions/mbsinit.texi: Likewise.
45643         * doc/posix-functions/mbsrtowcs.texi: Likewise.
45644         * doc/posix-functions/swprintf.texi: Likewise.
45645         * doc/posix-functions/swscanf.texi: Likewise.
45646         * doc/posix-functions/towctrans.texi: Likewise.
45647         * doc/posix-functions/vfwprintf.texi: Likewise.
45648         * doc/posix-functions/vswprintf.texi: Likewise.
45649         * doc/posix-functions/vwprintf.texi: Likewise.
45650         * doc/posix-functions/wcrtomb.texi: Likewise.
45651         * doc/posix-functions/wcsrtombs.texi: Likewise.
45652         * doc/posix-functions/wcsstr.texi: Likewise.
45653         * doc/posix-functions/wctob.texi: Likewise.
45654         * doc/posix-functions/wctrans.texi: Likewise.
45655         * doc/posix-functions/wmemchr.texi: Likewise.
45656         * doc/posix-functions/wmemcmp.texi: Likewise.
45657         * doc/posix-functions/wmemcpy.texi: Likewise.
45658         * doc/posix-functions/wmemmove.texi: Likewise.
45659         * doc/posix-functions/wmemset.texi: Likewise.
45660         * doc/posix-functions/wprintf.texi: Likewise.
45661         * doc/posix-functions/wscanf.texi: Likewise.
45662
45663 2008-12-21  Bruno Haible  <bruno@clisp.org>
45664
45665         Work around a portability problem.
45666         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
45667         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
45668
45669 2008-12-20  Bruno Haible  <bruno@clisp.org>
45670
45671         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
45672         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
45673         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
45674         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
45675         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
45676
45677         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
45678         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
45679         set.
45680         (GNULIB_defined_mbstate_t): New macro.
45681         (mbsinit): Redefine if REPLACE_MBSINIT is set.
45682         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
45683         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
45684         reuses the system's mbrtowc function but works around the bugs.
45685         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
45686         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
45687         macros.
45688         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
45689         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
45690         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
45691         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
45692         REPLACE_MBSINIT if mbsinit needs to be overridden.
45693         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
45694         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45695         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
45696         REPLACE_MBSINIT, REPLACE_MBRTOWC.
45697         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
45698         m4/locale-zh.m4.
45699         (Depends): Add mbsinit.
45700         * modules/mbsinit (Depends): Add mbrtowc.
45701         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
45702
45703 2008-12-20  Bruno Haible  <bruno@clisp.org>
45704
45705         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
45706         so that there are no conversion errors on AIX.
45707         * tests/test-mbsrtowcs.c (main): LIkewise.
45708
45709 2008-12-20  Bruno Haible  <bruno@clisp.org>
45710
45711         Work around wctob bug on Solaris <= 9.
45712         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
45713         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
45714         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
45715         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
45716         * modules/wctob (Files): Add m4/locale-fr.m4.
45717         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
45718
45719 2008-12-20  Bruno Haible  <bruno@clisp.org>
45720
45721         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
45722         /dev/null.
45723         * tests/test-select-in.sh: Likewise.
45724         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45725
45726 2008-12-20  Bruno Haible  <bruno@clisp.org>
45727
45728         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
45729         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
45730         Cygwin 1.5.x.
45731
45732 2008-12-20  Bruno Haible  <bruno@clisp.org>
45733
45734         Ensure mbstate_t is defined on HP-UX 11.11.
45735         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
45736         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
45737         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
45738         AC_USE_SYSTEM_EXTENSIONS.
45739         * modules/fnmatch (Depends-on): Add extensions.
45740         * modules/mbrlen (Depends-on): Likewise.
45741         * modules/mbrtowc (Depends-on): Likewise.
45742         * modules/mbsinit (Depends-on): Likewise.
45743         * modules/mbsrtowcs (Depends-on): Likewise.
45744         * modules/mbswidth (Depends-on): Likewise.
45745         * modules/quotearg (Depends-on): Likewise.
45746         * modules/strftime (Depends-on): Likewise.
45747
45748 2008-12-20  Bruno Haible  <bruno@clisp.org>
45749
45750         Ensure wctob is declared on IRIX 6.5.
45751         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
45752         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
45753         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
45754         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
45755         of HAVE_WCTOB.
45756         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
45757         HAVE_WCTOB.
45758         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
45759
45760 2008-12-19  Bruno Haible  <bruno@clisp.org>
45761
45762         * modules/mbsrtowcs-tests: New file.
45763         * tests/test-mbsrtowcs1.sh: New file.
45764         * tests/test-mbsrtowcs2.sh: New file.
45765         * tests/test-mbsrtowcs3.sh: New file.
45766         * tests/test-mbsrtowcs4.sh: New file.
45767         * tests/test-mbsrtowcs.c: New file.
45768
45769         New module 'mbsrtowcs'.
45770         * lib/wchar.in.h (mbsrtowcs): New declaration.
45771         * lib/mbsrtowcs.c: New file.
45772         * m4/mbsrtowcs.m4: New file.
45773         * modules/mbsrtowcs: New file.
45774         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
45775         HAVE_MBSRTOWCS.
45776         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
45777         HAVE_MBSRTOWCS.
45778         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
45779
45780 2008-12-19  Bruno Haible  <bruno@clisp.org>
45781
45782         New module 'mbrlen'.
45783         * lib/wchar.in.h (mbrlen): New declaration.
45784         * lib/mbrlen.c: New file.
45785         * m4/mbrlen.m4: New file.
45786         * modules/mbrlen: New file.
45787         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
45788         HAVE_MBRLEN.
45789         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
45790         HAVE_MBRLEN.
45791         * doc/posix-functions/mbrlen.texi: Document the new module.
45792
45793 2008-12-19  Bruno Haible  <bruno@clisp.org>
45794
45795         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
45796         * modules/mbrtowc (Depends-on): Add verify.
45797         Suggested by Paul Eggert.
45798
45799 2008-12-18  Bruno Haible  <bruno@clisp.org>
45800
45801         * modules/mbsinit-tests: New file.
45802         * tests/test-mbsinit.sh: New file.
45803         * tests/test-mbsinit.c: New file.
45804
45805 2008-12-18  Bruno Haible  <bruno@clisp.org>
45806
45807         * modules/mbrtowc-tests: New file.
45808         * tests/test-mbrtowc1.sh: New file.
45809         * tests/test-mbrtowc2.sh: New file.
45810         * tests/test-mbrtowc3.sh: New file.
45811         * tests/test-mbrtowc4.sh: New file.
45812         * tests/test-mbrtowc.c: New file.
45813
45814         New module 'mbrtowc'.
45815         * lib/wchar.in.h (mbstate_t): Override when the system does not have
45816         mbsinit and mbrtowc.
45817         (mbrtowc): New declaration.
45818         * lib/mbrtowc.c: New file.
45819         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
45820         * modules/mbrtowc: New file.
45821         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
45822         HAVE_MBRTOWC.
45823         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
45824         HAVE_MBRTOWC.
45825         * doc/posix-functions/mbrtowc.texi: Document the new module.
45826
45827 2008-12-18  Bruno Haible  <bruno@clisp.org>
45828
45829         New module 'wctob'.
45830         * lib/wchar.in.h (wctob): New declaration.
45831         * lib/wctob.c: New file.
45832         * m4/wctob.m4: New file.
45833         * modules/wctob: New file.
45834         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
45835         HAVE_WCTOB.
45836         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
45837         * doc/posix-functions/wctob.texi: Document the new module.
45838
45839 2008-12-18  Bruno Haible  <bruno@clisp.org>
45840
45841         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
45842         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
45843
45844 2008-12-18  Simon Josefsson  <simon@josefsson.org>
45845
45846         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
45847         G. Christensen" <tgc@jupiterrise.com>.
45848
45849         * lib/flock.c: Need to include errno.h.  Reported by "Tom
45850         G. Christensen" <tgc@jupiterrise.com>.
45851
45852         * lib/flock.c: Need to include string.h.  Reported by "Tom
45853         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
45854         <ebb9@byu.net>.
45855
45856 2008-12-18  Bruno Haible  <bruno@clisp.org>
45857
45858         * m4/locale-ja.m4: New file, from GNU gettext.
45859
45860 2008-12-17  Bruno Haible  <bruno@clisp.org>
45861
45862         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
45863         Suggested by Eric Blake.
45864
45865 2008-12-17  Bruno Haible  <bruno@clisp.org>
45866
45867         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
45868
45869 2008-12-17  Bruno Haible  <bruno@clisp.org>
45870
45871         * lib/mbsinit.c: Include verify.h. Verify an assumption.
45872         * modules/mbsinit (Depends-on): Add verify.
45873         Suggested by Paul Eggert.
45874
45875 2008-12-17  Bruno Haible  <bruno@clisp.org>
45876
45877         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
45878         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
45879         gl_FUNC_MBRTOWC.
45880         * m4/mbiter.m4 (gl_MBITER): LIkewise.
45881         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
45882         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
45883         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
45884         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
45885         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
45886         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
45887         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
45888         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
45889         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
45890         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
45891         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
45892         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
45893         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
45894         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
45895         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
45896         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
45897         * modules/trim (configure.ac): Likewise.
45898
45899 2008-12-17  Bruno Haible  <bruno@clisp.org>
45900
45901         * modules/btowc-tests: New file.
45902         * tests/test-btowc1.sh: New file.
45903         * tests/test-btowc2.sh: New file.
45904         * tests/test-btowc.c: New file.
45905
45906         New module 'btowc'.
45907         * lib/wchar.in.h (btowc): New declaration.
45908         * lib/btowc.c: New file.
45909         * m4/btowc.m4: New file.
45910         * modules/btowc: New file.
45911         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
45912         HAVE_BTOWC.
45913         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
45914         * doc/posix-functions/btowc.texi: Document the new module.
45915
45916 2008-12-17  Bruno Haible  <bruno@clisp.org>
45917
45918         New module 'mbsinit'.
45919         * lib/wchar.in.h (mbsinit): New declaration.
45920         * lib/mbsinit.c: New file.
45921         * m4/mbsinit.m4: New file.
45922         * modules/mbsinit: New file.
45923         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
45924         HAVE_MBSINIT.
45925         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
45926         HAVE_MBSINIT.
45927         * doc/posix-functions/mbsinit.texi: Document the new module.
45928
45929 2008-12-16  Bruno Haible  <bruno@clisp.org>
45930
45931         * lib/unistd.in.h: Add comment.
45932         * tests/test-environ.c: Don't include <stdlib.h>.
45933
45934 2008-12-16  Bruno Haible  <bruno@clisp.org>
45935
45936         * lib/parse-duration.h (parse_duration): Document return value
45937         convention.
45938         * lib/parse-duration.c: Include specification header first. Add
45939         comments.
45940         (_): Remove macro.
45941         (parse_year_month_day, parse_hour_minute_second): Move side effects
45942         outside of strchr call.
45943         (parse_non_iso8601): Move side effects outside of isspace call.
45944         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
45945         call.
45946
45947 2008-12-16  Bruno Haible  <bruno@clisp.org>
45948
45949         * tests/test-parse-duration.sh: Produce no output when the test
45950         succeeds.
45951
45952 2008-12-16  Bruno Haible  <bruno@clisp.org>
45953
45954         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
45955         expressions.
45956
45957 2008-12-15  Bruno Haible  <bruno@clisp.org>
45958
45959         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
45960         * doc/glibc-functions/flistxattr.texi: Likewise.
45961         * doc/glibc-functions/fopencookie.texi: Likewise.
45962         * doc/glibc-functions/fremovexattr.texi: Likewise.
45963         * doc/glibc-functions/fsetxattr.texi: Likewise.
45964         * doc/glibc-functions/getxattr.texi: Likewise.
45965         * doc/glibc-functions/lgetxattr.texi: Likewise.
45966         * doc/glibc-functions/listxattr.texi: Likewise.
45967         * doc/glibc-functions/llistxattr.texi: Likewise.
45968         * doc/glibc-functions/lremovexattr.texi: Likewise.
45969         * doc/glibc-functions/lsetxattr.texi: Likewise.
45970         * doc/glibc-functions/removexattr.texi: Likewise.
45971         * doc/glibc-functions/setxattr.texi: Likewise.
45972         * doc/posix-functions/open_memstream.texi: Likewise.
45973
45974 2008-12-15  Eric Blake  <ebb9@byu.net>
45975
45976         Update doc for cygwin 1.7.
45977         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
45978         functions.
45979         * doc/posix-functions/fchmodat.texi: Likewise.
45980         * doc/posix-functions/fchownat.texi: Likewise.
45981         * doc/posix-functions/fdopendir.texi: Likewise.
45982         * doc/posix-functions/fmemopen.texi: Likewise.
45983         * doc/posix-functions/freeaddrinfo.texi: Likewise.
45984         * doc/posix-functions/fstatat.texi: Likewise.
45985         * doc/posix-functions/futimens.texi: Likewise.
45986         * doc/posix-functions/gai_strerror.texi: Likewise.
45987         * doc/posix-functions/getaddrinfo.texi: Likewise.
45988         * doc/posix-functions/getnameinfo.texi: Likewise.
45989         * doc/posix-functions/if_freenameindex.texi: Likewise.
45990         * doc/posix-functions/if_indextoname.texi: Likewise.
45991         * doc/posix-functions/if_nameindex.texi: Likewise.
45992         * doc/posix-functions/if_nametoindex.texi: Likewise.
45993         * doc/posix-functions/insque.texi: Likewise.
45994         * doc/posix-functions/linkat.texi: Likewise.
45995         * doc/posix-functions/llrint.texi: Likewise.
45996         * doc/posix-functions/llrintf.texi: Likewise.
45997         * doc/posix-functions/llrintl.texi: Likewise.
45998         * doc/posix-functions/lockf.texi: Likewise.
45999         * doc/posix-functions/lrintl.texi: Likewise.
46000         * doc/posix-functions/mkdirat.texi: Likewise.
46001         * doc/posix-functions/mkfifoat.texi: Likewise.
46002         * doc/posix-functions/mknodat.texi: Likewise.
46003         * doc/posix-functions/mq_close.texi: Likewise.
46004         * doc/posix-functions/mq_getattr.texi: Likewise.
46005         * doc/posix-functions/mq_notify.texi: Likewise.
46006         * doc/posix-functions/mq_open.texi: Likewise.
46007         * doc/posix-functions/mq_receive.texi: Likewise.
46008         * doc/posix-functions/mq_send.texi: Likewise.
46009         * doc/posix-functions/mq_setattr.texi: Likewise.
46010         * doc/posix-functions/mq_timedreceive.texi: Likewise.
46011         * doc/posix-functions/mq_timedsend.texi: Likewise.
46012         * doc/posix-functions/mq_unlink.texi: Likewise.
46013         * doc/posix-functions/open_memstream.texi: Likewise.
46014         * doc/posix-functions/openat.texi: Likewise.
46015         * doc/posix-functions/posix_fadvise.texi: Likewise.
46016         * doc/posix-functions/posix_fallocate.texi: Likewise.
46017         * doc/posix-functions/posix_madvise.texi: Likewise.
46018         * doc/posix-functions/posix_memalign.texi: Likewise.
46019         * doc/posix-functions/posix_openpt.texi: Likewise.
46020         * doc/posix-functions/readlinkat.texi: Likewise.
46021         * doc/posix-functions/remque.texi: Likewise.
46022         * doc/posix-functions/renameat.texi: Likewise.
46023         * doc/posix-functions/rintl.texi: Likewise.
46024         * doc/posix-functions/sem_unlink.texi: Likewise.
46025         * doc/posix-functions/shm_open.texi: Likewise.
46026         * doc/posix-functions/shm_unlink.texi: Likewise.
46027         * doc/posix-functions/signgam.texi: Likewise.
46028         * doc/posix-functions/sigset.texi: Likewise.
46029         * doc/posix-functions/stpcpy.texi: Likewise.
46030         * doc/posix-functions/stpncpy.texi: Likewise.
46031         * doc/posix-functions/strerror.texi: Likewise.
46032         * doc/posix-functions/strtod.texi: Likewise.
46033         * doc/posix-functions/symlinkat.texi: Likewise.
46034         * doc/posix-functions/unlinkat.texi: Likewise.
46035         * doc/posix-functions/utimensat.texi: Likewise.
46036         * doc/glibc-functions/bindresvport.texi: Likewise.
46037         * doc/glibc-functions/dn_expand.texi: Likewise.
46038         * doc/glibc-functions/exp10.texi: Likewise.
46039         * doc/glibc-functions/exp10f.texi: Likewise.
46040         * doc/glibc-functions/fgetxattr.texi: Likewise.
46041         * doc/glibc-functions/flistxattr.texi: Likewise.
46042         * doc/glibc-functions/fopencookie.texi: Likewise.
46043         * doc/glibc-functions/freeifaddrs.texi: Likewise.
46044         * doc/glibc-functions/fremovexattr.texi: Likewise.
46045         * doc/glibc-functions/fsetxattr.texi: Likewise.
46046         * doc/glibc-functions/getifaddrs.texi: Likewise.
46047         * doc/glibc-functions/getxattr.texi: Likewise.
46048         * doc/glibc-functions/lgetxattr.texi: Likewise.
46049         * doc/glibc-functions/listxattr.texi: Likewise.
46050         * doc/glibc-functions/llistxattr.texi: Likewise.
46051         * doc/glibc-functions/lremovexattr.texi: Likewise.
46052         * doc/glibc-functions/lsetxattr.texi: Likewise.
46053         * doc/glibc-functions/pow10.texi: Likewise.
46054         * doc/glibc-functions/pow10f.texi: Likewise.
46055         * doc/glibc-functions/rcmd_af.texi: Likewise.
46056         * doc/glibc-functions/removexattr.texi: Likewise.
46057         * doc/glibc-functions/res_init.texi: Likewise.
46058         * doc/glibc-functions/res_mkquery.texi: Likewise.
46059         * doc/glibc-functions/res_query.texi: Likewise.
46060         * doc/glibc-functions/res_querydomain.texi: Likewise.
46061         * doc/glibc-functions/res_send.texi: Likewise.
46062         * doc/glibc-functions/rresvport_af.texi: Likewise.
46063         * doc/glibc-functions/setxattr.texi: Likewise.
46064         * doc/glibc-functions/strcasestr.texi: Likewise.
46065
46066 2008-12-15  Bruno Haible  <bruno@clisp.org>
46067
46068         Fix compilation error on OSF/1 4.0.
46069         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
46070         <sys/time.h>, simply delegate to the system header.
46071         Reported by Daniel Richard G. <oss@teragram.com>.
46072
46073 2008-12-15  Bruno Haible  <bruno@clisp.org>
46074
46075         * doc/posix-functions/openat.texi: Mention the 'openat' module.
46076         * doc/posix-functions/fchmodat.texi: Likewise.
46077         * doc/posix-functions/fchownat.texi: Likewise.
46078         * doc/posix-functions/fdopendir.texi: Likewise.
46079         * doc/posix-functions/fstatat.texi: Likewise.
46080         * doc/posix-functions/mkdirat.texi: Likewise.
46081         * doc/posix-functions/unlinkat.texi: Likewise.
46082
46083 2008-12-14  Bruno Haible  <bruno@clisp.org>
46084
46085         Update doc for POSIX:2008.
46086         * doc/posix-functions/faccessat.texi: New file.
46087         * doc/posix-functions/fchmodat.texi: New file.
46088         * doc/posix-functions/fchownat.texi: New file.
46089         * doc/posix-functions/fdopendir.texi: New file.
46090         * doc/posix-functions/fstatat.texi: New file.
46091         * doc/posix-functions/futimens.texi: New file.
46092         * doc/posix-functions/linkat.texi: New file.
46093         * doc/posix-functions/mkdirat.texi: New file.
46094         * doc/posix-functions/mkfifoat.texi: New file.
46095         * doc/posix-functions/mknodat.texi: New file.
46096         * doc/posix-functions/open_wmemstream.texi: New file.
46097         * doc/posix-functions/openat.texi: New file.
46098         * doc/posix-functions/psiginfo.texi: New file.
46099         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
46100         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
46101         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
46102         * doc/posix-functions/readlinkat.texi: New file.
46103         * doc/posix-functions/renameat.texi: New file.
46104         * doc/posix-functions/strerror_l.texi: New file.
46105         * doc/posix-functions/symlinkat.texi: New file.
46106         * doc/posix-functions/unlinkat.texi: New file.
46107         * doc/posix-functions/utimensat.texi: New file.
46108         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46109
46110 2008-12-14  Bruno Haible  <bruno@clisp.org>
46111
46112         Update doc for POSIX:2008.
46113         * doc/posix-functions/alphasort.texi: Renamed from
46114         doc/glibc-functions/alphasort.texi.
46115         * doc/posix-functions/dirfd.texi: Renamed from
46116         doc/glibc-functions/dirfd.texi.
46117         * doc/posix-functions/dprintf.texi: Renamed from
46118         doc/glibc-functions/dprintf.texi.
46119         * doc/posix-functions/duplocale.texi: Renamed from
46120         doc/glibc-functions/duplocale.texi.
46121         * doc/posix-functions/fexecve.texi: Renamed from
46122         doc/glibc-functions/fexecve.texi.
46123         * doc/posix-functions/fmemopen.texi: Renamed from
46124         doc/glibc-functions/fmemopen.texi.
46125         * doc/posix-functions/freelocale.texi: Renamed from
46126         doc/glibc-functions/freelocale.texi.
46127         * doc/posix-functions/getdate_err.texi: Renamed from
46128         doc/glibc-functions/getdate_err.texi.
46129         * doc/posix-functions/isalnum_l.texi: Renamed from
46130         doc/glibc-functions/isalnum_l.texi.
46131         * doc/posix-functions/isalpha_l.texi: Renamed from
46132         doc/glibc-functions/isalpha_l.texi.
46133         * doc/posix-functions/isblank_l.texi: Renamed from
46134         doc/glibc-functions/isblank_l.texi.
46135         * doc/posix-functions/iscntrl_l.texi: Renamed from
46136         doc/glibc-functions/iscntrl_l.texi.
46137         * doc/posix-functions/isdigit_l.texi: Renamed from
46138         doc/glibc-functions/isdigit_l.texi.
46139         * doc/posix-functions/isgraph_l.texi: Renamed from
46140         doc/glibc-functions/isgraph_l.texi.
46141         * doc/posix-functions/islower_l.texi: Renamed from
46142         doc/glibc-functions/islower_l.texi.
46143         * doc/posix-functions/isprint_l.texi: Renamed from
46144         doc/glibc-functions/isprint_l.texi.
46145         * doc/posix-functions/ispunct_l.texi: Renamed from
46146         doc/glibc-functions/ispunct_l.texi.
46147         * doc/posix-functions/isspace_l.texi: Renamed from
46148         doc/glibc-functions/isspace_l.texi.
46149         * doc/posix-functions/isupper_l.texi: Renamed from
46150         doc/glibc-functions/isupper_l.texi.
46151         * doc/posix-functions/iswalnum_l.texi: Renamed from
46152         doc/glibc-functions/iswalnum_l.texi.
46153         * doc/posix-functions/iswalpha_l.texi: Renamed from
46154         doc/glibc-functions/iswalpha_l.texi.
46155         * doc/posix-functions/iswblank_l.texi: Renamed from
46156         doc/glibc-functions/iswblank_l.texi.
46157         * doc/posix-functions/iswcntrl_l.texi: Renamed from
46158         doc/glibc-functions/iswcntrl_l.texi.
46159         * doc/posix-functions/iswctype_l.texi: Renamed from
46160         doc/glibc-functions/iswctype_l.texi.
46161         * doc/posix-functions/iswdigit_l.texi: Renamed from
46162         doc/glibc-functions/iswdigit_l.texi.
46163         * doc/posix-functions/iswgraph_l.texi: Renamed from
46164         doc/glibc-functions/iswgraph_l.texi.
46165         * doc/posix-functions/iswlower_l.texi: Renamed from
46166         doc/glibc-functions/iswlower_l.texi.
46167         * doc/posix-functions/iswprint_l.texi: Renamed from
46168         doc/glibc-functions/iswprint_l.texi.
46169         * doc/posix-functions/iswpunct_l.texi: Renamed from
46170         doc/glibc-functions/iswpunct_l.texi.
46171         * doc/posix-functions/iswspace_l.texi: Renamed from
46172         doc/glibc-functions/iswspace_l.texi.
46173         * doc/posix-functions/iswupper_l.texi: Renamed from
46174         doc/glibc-functions/iswupper_l.texi.
46175         * doc/posix-functions/iswxdigit_l.texi: Renamed from
46176         doc/glibc-functions/iswxdigit_l.texi.
46177         * doc/posix-functions/isxdigit_l.texi: Renamed from
46178         doc/glibc-functions/isxdigit_l.texi.
46179         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
46180         doc/glibc-functions/mbsnrtowcs.texi.
46181         * doc/posix-functions/mkdtemp.texi: Renamed from
46182         doc/glibc-functions/mkdtemp.texi.
46183         * doc/posix-functions/newlocale.texi: Renamed from
46184         doc/glibc-functions/newlocale.texi.
46185         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
46186         doc/glibc-functions/nl_langinfo_l.texi.
46187         * doc/posix-functions/open_memstream.texi: Renamed from
46188         doc/glibc-functions/open_memstream.texi.
46189         * doc/posix-functions/opterr.texi: Renamed from
46190         doc/glibc-functions/opterr.texi.
46191         * doc/posix-functions/optind.texi: Renamed from
46192         doc/glibc-functions/optind.texi.
46193         * doc/posix-functions/optopt.texi: Renamed from
46194         doc/glibc-functions/optopt.texi.
46195         * doc/posix-functions/psignal.texi: Renamed from
46196         doc/glibc-functions/psignal.texi.
46197         * doc/posix-functions/scandir.texi: Renamed from
46198         doc/glibc-functions/scandir.texi.
46199         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
46200         doc/glibc-functions/sched_get_priority_min.texi.
46201         * doc/posix-functions/signgam.texi: Renamed from
46202         doc/glibc-functions/signgam.texi.
46203         * doc/posix-functions/stpcpy.texi: Renamed from
46204         doc/glibc-functions/stpcpy.texi.
46205         * doc/posix-functions/stpncpy.texi: Renamed from
46206         doc/glibc-functions/stpncpy.texi.
46207         * doc/posix-functions/strcasecmp_l.texi: Renamed from
46208         doc/glibc-functions/strcasecmp_l.texi.
46209         * doc/posix-functions/strcoll_l.texi: Renamed from
46210         doc/glibc-functions/strcoll_l.texi.
46211         * doc/posix-functions/strfmon_l.texi: Renamed from
46212         doc/glibc-functions/strfmon_l.texi.
46213         * doc/posix-functions/strftime_l.texi: Renamed from
46214         doc/glibc-functions/strftime_l.texi.
46215         * doc/posix-functions/strncasecmp_l.texi: Renamed from
46216         doc/glibc-functions/strncasecmp_l.texi.
46217         * doc/posix-functions/strndup.texi: Renamed from
46218         doc/glibc-functions/strndup.texi.
46219         * doc/posix-functions/strnlen.texi: Renamed from
46220         doc/glibc-functions/strnlen.texi.
46221         * doc/posix-functions/strsignal.texi: Renamed from
46222         doc/glibc-functions/strsignal.texi.
46223         * doc/posix-functions/strxfrm_l.texi: Renamed from
46224         doc/glibc-functions/strxfrm_l.texi.
46225         * doc/posix-functions/timer_gettime.texi: Renamed from
46226         doc/glibc-functions/timer_gettime.texi.
46227         * doc/posix-functions/tolower_l.texi: Renamed from
46228         doc/glibc-functions/tolower_l.texi.
46229         * doc/posix-functions/toupper_l.texi: Renamed from
46230         doc/glibc-functions/toupper_l.texi.
46231         * doc/posix-functions/towctrans_l.texi: Renamed from
46232         doc/glibc-functions/towctrans_l.texi.
46233         * doc/posix-functions/towlower_l.texi: Renamed from
46234         doc/glibc-functions/towlower_l.texi.
46235         * doc/posix-functions/towupper_l.texi: Renamed from
46236         doc/glibc-functions/towupper_l.texi.
46237         * doc/posix-functions/uselocale.texi: Renamed from
46238         doc/glibc-functions/uselocale.texi.
46239         * doc/posix-functions/vdprintf.texi: Renamed from
46240         doc/glibc-functions/vdprintf.texi.
46241         * doc/posix-functions/wcpcpy.texi:
46242         Renamed from doc/glibc-functions/wcpcpy.texi.
46243         * doc/posix-functions/wcpncpy.texi: Renamed from
46244         doc/glibc-functions/wcpncpy.texi.
46245         * doc/posix-functions/wcscasecmp.texi: Renamed from
46246         doc/glibc-functions/wcscasecmp.texi.
46247         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
46248         doc/glibc-functions/wcscasecmp_l.texi.
46249         * doc/posix-functions/wcscoll_l.texi: Renamed from
46250         doc/glibc-functions/wcscoll_l.texi.
46251         * doc/posix-functions/wcsdup.texi: Renamed from
46252         doc/glibc-functions/wcsdup.texi.
46253         * doc/posix-functions/wcsncasecmp.texi: Renamed from
46254         doc/glibc-functions/wcsncasecmp.texi.
46255         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
46256         doc/glibc-functions/wcsncasecmp_l.texi.
46257         * doc/posix-functions/wcsnlen.texi: Renamed from
46258         doc/glibc-functions/wcsnlen.texi.
46259         * doc/posix-functions/wcsnrtombs.texi: Renamed from
46260         doc/glibc-functions/wcsnrtombs.texi.
46261         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
46262         doc/glibc-functions/wcsxfrm_l.texi.
46263         * doc/posix-functions/wctrans_l.texi: Renamed from
46264         doc/glibc-functions/wctrans_l.texi.
46265         * doc/posix-functions/wctype_l.texi: Renamed from
46266         doc/glibc-functions/wctype_l.texi.
46267         * doc/gnulib.texi (Function Substitutes): Add these subsections.
46268         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
46269         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
46270         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
46271         these subsections.
46272         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
46273         Remove sections.
46274
46275 2008-12-14  Bruno Haible  <bruno@clisp.org>
46276
46277         Update doc for POSIX:2008.
46278         * doc/posix-functions/*.texi: Update URL of POSIX specification.
46279
46280 2008-12-14  Bruno Haible  <bruno@clisp.org>
46281
46282         Update doc for POSIX:2008.
46283         * doc/pastposix-functions/bcmp.texi: Renamed from
46284         doc/posix-functions/bcmp.texi.
46285         * doc/pastposix-functions/bcopy.texi: Renamed from
46286         doc/posix-functions/bcopy.texi.
46287         * doc/pastposix-functions/bsd_signal.texi: Renamed from
46288         doc/posix-functions/bsd_signal.texi.
46289         * doc/pastposix-functions/bzero.texi: Renamed from
46290         doc/posix-functions/bzero.texi.
46291         * doc/pastposix-functions/ecvt.texi: Renamed from
46292         doc/posix-functions/ecvt.texi.
46293         * doc/pastposix-functions/fcvt.texi: Renamed from
46294         doc/posix-functions/fcvt.texi.
46295         * doc/pastposix-functions/ftime.texi: Renamed from
46296         doc/posix-functions/ftime.texi.
46297         * doc/pastposix-functions/gcvt.texi: Renamed from
46298         doc/posix-functions/gcvt.texi.
46299         * doc/pastposix-functions/getcontext.texi: Renamed from
46300         doc/posix-functions/getcontext.texi.
46301         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
46302         doc/posix-functions/gethostbyaddr.texi.
46303         * doc/pastposix-functions/gethostbyname.texi: Renamed from
46304         doc/posix-functions/gethostbyname.texi.
46305         * doc/pastposix-functions/getwd.texi: Renamed from
46306         doc/posix-functions/getwd.texi.
46307         * doc/pastposix-functions/h_errno.texi: Renamed from
46308         doc/posix-functions/h_errno.texi.
46309         * doc/pastposix-functions/index.texi: Renamed from
46310         doc/posix-functions/index.texi.
46311         * doc/pastposix-functions/makecontext.texi: Renamed from
46312         doc/posix-functions/makecontext.texi.
46313         * doc/pastposix-functions/mktemp.texi: Renamed from
46314         doc/posix-functions/mktemp.texi.
46315         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
46316         doc/posix-functions/pthread_attr_getstackaddr.texi.
46317         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
46318         doc/posix-functions/pthread_attr_setstackaddr.texi.
46319         * doc/pastposix-functions/rindex.texi: Renamed from
46320         doc/posix-functions/rindex.texi.
46321         * doc/pastposix-functions/scalb.texi: Renamed from
46322         doc/posix-functions/scalb.texi.
46323         * doc/pastposix-functions/setcontext.texi: Renamed from
46324         doc/posix-functions/setcontext.texi.
46325         * doc/pastposix-functions/swapcontext.texi: Renamed from
46326         doc/posix-functions/swapcontext.texi.
46327         * doc/pastposix-functions/ualarm.texi: Renamed from
46328         doc/posix-functions/ualarm.texi.
46329         * doc/pastposix-functions/usleep.texi: Renamed from
46330         doc/posix-functions/usleep.texi.
46331         * doc/pastposix-functions/vfork.texi: Renamed from
46332         doc/posix-functions/vfork.texi.
46333         * doc/pastposix-functions/wcswcs.texi: Renamed from
46334         doc/posix-functions/wcswcs.texi.
46335         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
46336         (Function Substitutes): Update.
46337
46338 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46339
46340         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
46341         m4/strerror.m4.
46342
46343 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46344             Bruno Haible  <bruno@clisp.org>
46345
46346         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
46347
46348 2008-12-13  Bruno Haible  <bruno@clisp.org>
46349
46350         * modules/strtoull (Depends-on): Remove unistd.
46351
46352 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46353
46354         * modules/strtoull (Depends-on): Add stdlib.
46355
46356 2008-12-11  Simon Josefsson  <simon@josefsson.org>
46357
46358         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
46359
46360 2008-12-10  Jim Meyering  <meyering@redhat.com>
46361
46362         gl_ASSERT: don't say assertions are disabled when they're not
46363         * m4/assert.m4 (gl_ASSERT): Do not make configure report
46364         "checking whether to enable assertions... no", when they are in
46365         fact enabled.  This is solely a bug in the output of configure.
46366         In spite of saying "no", NDEBUG was not defined in that case.
46367         Also, as noted by Eric Blake, leave assertions enabled upon
46368         --enable-assert=INVALID.
46369
46370 2008-12-10  Bruno Haible  <bruno@clisp.org>
46371
46372         Change MODULES.html to refer to POSIX:2008 where possible.
46373         * MODULES.html.sh (POSIX2008_URL): New variable.
46374         (posix_headers): Remove sys/timeb, ucontext.
46375         (posix2001_headers): New variable.
46376         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
46377         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
46378         index, makecontext, mktemp, pthread_attr_getstackaddr,
46379         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
46380         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
46381         (posix2001_functions): New variable.
46382         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
46383         otherwise.
46384
46385 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46386
46387         add missing include to parse-duration.c
46388         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
46389         * modules/parse-duration (Depends-on): Add xalloc.
46390
46391         fix sed script reading maint.mk
46392         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
46393         (syntax-check-rules): Use it.
46394
46395 2008-12-09  Bruno Haible  <bruno@clisp.org>
46396
46397         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
46398         MacOS X 10.4/PowerPC.
46399         Reported by Simon Josefsson.
46400
46401 2008-12-08  Jim Meyering  <meyering@redhat.com>
46402
46403         work around mingw's lack of some S_IF definitions
46404         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
46405         Reported by Simon Josefsson.
46406
46407 2008-12-08  Bruno Haible  <bruno@clisp.org>
46408
46409         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
46410         applied to variables. Needed on MacOS X 10.4/PowerPC.
46411         Reported by Simon Josefsson.
46412
46413 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
46414         and Eric Blake  <ebb9@byu.net>
46415
46416         assert: honor --enable-assert
46417         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
46418         order to honor --enable-assert, rather than treating it as a
46419         synonym for --disable-assert.
46420
46421 2008-12-08  Jim Meyering  <meyering@redhat.com>
46422
46423         * lib/posixtm.c: Remove now-useless declaration of mktime.
46424
46425         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
46426
46427 2008-12-07  Bruno Haible  <bruno@clisp.org>
46428
46429         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
46430         test_once): Mark functions as static.
46431         * tests/test-tls.c (test_tls): Likewise.
46432
46433 2008-12-07  Bruno Haible  <bruno@clisp.org>
46434
46435         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
46436         iconv_register_autodetect.
46437
46438 2008-12-07  Jim Meyering  <meyering@redhat.com>
46439
46440         posixtm.c: avoid a warning
46441         * lib/posixtm.c (posixtime): Don't initialize tm0.
46442         It's no longer needed to placate gcc4's -Wuninitialized,
46443         and the attempt to placate would elicit a new warning.
46444
46445         unicodeio.c: mark unused parameters
46446         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46447         (fallback_failure_callback): Likewise.
46448
46449 2008-12-07  Bruno Haible  <bruno@clisp.org>
46450
46451         * gnulib-tool (func_create_testdir): When building the tests
46452         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
46453         Reported by Simon Josefsson.
46454
46455 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46456
46457         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
46458
46459 2008-12-06  Bruno Haible  <bruno@clisp.org>
46460
46461         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
46462         Suggested by Eric Blake.
46463
46464 2008-12-06  Bruno Haible  <bruno@clisp.org>
46465
46466         Fix a c-stack test failure on MacOS X.
46467         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
46468         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
46469         handler for SIGBUS as well.
46470         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
46471         install a signal handler for SIGBUS as well.
46472         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
46473
46474 2008-12-06  Bruno Haible  <bruno@clisp.org>
46475
46476         Advocacy documentation.
46477         * doc/gnulib-intro.texi (Benefits): New section.
46478         * doc/gnulib.texi: Update.
46479
46480 2008-12-06  Bruno Haible  <bruno@clisp.org>
46481
46482         Document the 'manywarnings' module.
46483         * doc/manywarnings.texi: New file.
46484         * doc/gnulib.texi: Include it.
46485
46486 2008-12-05  Eric Blake  <ebb9@byu.net>
46487
46488         tests: silence some gcc warnings
46489         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
46490         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
46491         type mismatches.
46492
46493 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46494             Bruno Haible  <bruno@clisp.org>
46495
46496         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
46497
46498 2008-11-29  Jim Meyering  <meyering@redhat.com>
46499
46500         unicodeio.c: mark unused parameters
46501         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
46502         (fallback_failure_callback): Likewise.
46503
46504         fts: fix a thinko
46505         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
46506         (set_stat_type): Return S_IF*-valued "type" directly.
46507         Prompted by James Youngman's spotting a related bug.
46508         Confirmed by further testing through find.
46509
46510         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
46511         * lib/fts.c (D_TYPE): Define.
46512         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
46513         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
46514         (s_ifmt_shift_bits): New function.
46515         (set_stat_type): New function.
46516         (fts_build): When not calling fts_stat, call set_stat_type
46517         to propagate dirent.d_type info to fts_read caller.
46518         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
46519         fts_statp->st_mode type information may be valid.
46520
46521 2008-11-28  Simon Josefsson  <simon@josefsson.org>
46522
46523         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
46524         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
46525         <sds@gnu.org>.
46526
46527 2008-11-20  Bruno Haible  <bruno@clisp.org>
46528
46529         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
46530         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
46531         INCLUDE_NEXT.
46532         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
46533         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
46534         * modules/math (Makefile.am): Substitute
46535         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
46536         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46537
46538 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
46539             Bruno Haible  <bruno@clisp.org>
46540
46541         * lib/stdint.in.h: Define all type macros so that their expansion is
46542         a single typedef'ed token. Fixes a compilation failure in Boost which
46543         does "using ::int8_t;".
46544
46545 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46546
46547         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
46548         gl_MANYWARN_ALL_GCC.
46549         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
46550         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
46551         * modules/manywarnings: New file.
46552         * MODULES.html.sh: Mention manywarnings module.
46553
46554 2008-11-18  Bruno Haible  <bruno@clisp.org>
46555
46556         * doc/gnulib-tool.texi (Unit tests): New section.
46557
46558 2008-11-18  Simon Josefsson  <simon@josefsson.org>
46559
46560         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
46561         paths like 'lib/po/foo.po'.
46562
46563 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46564
46565         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
46566         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
46567
46568 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46569
46570         * m4/warnings.m4: Use CPPFLAGS to really check whether the
46571         parameter works.
46572
46573 2008-11-17  Simon Josefsson  <simon@josefsson.org>
46574
46575         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
46576
46577 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46578
46579         * modules/parse-duration-tests: New file.
46580         * tests/test-parse-duration.sh: New file.
46581         * tests/test-parse-duration.c: New file.
46582
46583         New module 'parse-duration'.
46584         * lib/parse-duration.h: New file.
46585         * lib/parse-duration.c: New file.
46586         * modules/parse-duration: New file.
46587
46588 2008-11-17  Bruno Haible  <bruno@clisp.org>
46589
46590         * tests/test-select-out.sh: Comment out the first pipe test.
46591         Reported by Simon Josefsson.
46592
46593 2008-11-17  Bruno Haible  <bruno@clisp.org>
46594
46595         * modules/getaddrinfo (Depends-on): Add servent, hostent.
46596         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
46597         gl_HOSTENT.
46598
46599 2008-11-17  Bruno Haible  <bruno@clisp.org>
46600
46601         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
46602         -lnetwork and -lnet. Needed for Haiku and BeOS.
46603
46604 2008-11-16  Bruno Haible  <bruno@clisp.org>
46605
46606         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
46607
46608 2008-11-16  Bruno Haible  <bruno@clisp.org>
46609
46610         Avoid test failure on Haiku.
46611         * tests/test-fsync.c: Include <errno.h>.
46612         (main): Don't require that fsync (0) fails.
46613
46614 2008-11-15  Bruno Haible  <bruno@clisp.org>
46615
46616         New module 'hostent'.
46617         * modules/hostent: New file.
46618         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
46619
46620 2008-11-15  Bruno Haible  <bruno@clisp.org>
46621
46622         New module 'servent'.
46623         * modules/servent: New file.
46624         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
46625
46626 2008-11-15  Bruno Haible  <bruno@clisp.org>
46627
46628         Avoid generating same test program with two different rules.
46629         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
46630         test-frexp to test-frexp-nolibm.
46631         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
46632         test-frexpl to test-frexpl-nolibm.
46633
46634 2008-11-15  Bruno Haible  <bruno@clisp.org>
46635
46636         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
46637         $(FREXPL_LIBM).
46638
46639 2008-11-15  Bruno Haible  <bruno@clisp.org>
46640
46641         * lib/netdb.in.h: Activate the definitions also when the system's
46642         <netdb.h> has 'struct addrinfo'.
46643         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
46644         EAI_OVERFLOW or AI_NUMERICSERV.
46645         * doc/posix-headers/netdb.texi: Document the problem.
46646
46647 2008-11-15  Bruno Haible  <bruno@clisp.org>
46648
46649         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
46650
46651         Make the 'sched' module work on platforms where <sched.h> exists but
46652         is incomplete (such as Haiku).
46653         * lib/sched.in.h; Include the system's <sched.h> if it exists.
46654         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
46655         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
46656         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
46657         HAVE_STRUCT_SCHED_PARAM.
46658         * modules/sched (Depends-on): Add include_next.
46659         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
46660         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
46661         * doc/posix-headers/sched.texi: Document the issue.
46662
46663 2008-11-13  Jim Meyering  <meyering@redhat.com>
46664
46665         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
46666         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
46667         test would fail due to the difference in the Report bugs to ...
46668         line.  The expected address is empty, "<>", while the actual
46669         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
46670
46671 2008-11-12  Bruno Haible  <bruno@clisp.org>
46672
46673         lstat: don't compile lstat.c on systems lacking lstat
46674         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
46675         which don't have lstat; this is handled by lib/sys_stat.in.h already.
46676         Reported by Daniel P. Berrange via Jim Meyering.
46677
46678 2008-11-12  Jim Meyering  <meyering@redhat.com>
46679
46680         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
46681
46682 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46683
46684         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
46685         instead.
46686
46687 2008-11-12  Bruno Haible  <bruno@clisp.org>
46688
46689         * lib/unicodeio.c: Include unistr.h.
46690         (utf8_wctomb): Remove function.
46691         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
46692
46693 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46694
46695         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
46696         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
46697         <bruno@clisp.org>.
46698         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
46699
46700 2008-11-12  Simon Josefsson  <simon@josefsson.org>
46701
46702         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
46703         * doc/gnulib.texi: Add section for warnings.
46704
46705 2008-11-11  Bruno Haible  <bruno@clisp.org>
46706
46707         * lib/sockets.h: Add a comment.
46708
46709 2008-11-11  Karl Berry  <karl@gnu.org>
46710
46711         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
46712
46713 2008-11-11  Eric Blake  <ebb9@byu.net>
46714
46715         fdl.texi: avoid git symlinks
46716         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
46717
46718 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46719
46720         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
46721
46722 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46723
46724         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
46725         (gl_WARN_ADD): Substitute $2 if literal.
46726
46727 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46728
46729         * m4/warning.m4: Remove.
46730
46731 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
46732
46733         * m4/warnings.m4: Almost complete rewrite. :-)
46734
46735 2008-11-10  Simon Josefsson  <simon@josefsson.org>
46736
46737         * modules/warnings: New module.
46738         * m4/warnings.m4: New file.
46739         * MODULES.html.sh: Mention warnings module.
46740         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
46741         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46742
46743 2008-11-10  Eric Blake  <ebb9@byu.net>
46744
46745         fdl.texi: make a symlink to the latest version
46746         * doc/standards.texi: Revert today's earlier change.
46747         * doc/fdl-1.2.texi: Rename from old fdl.texi...
46748         * doc/fdl.texi: ...and replace this with a symlink to the newer
46749         fdl-1.3.texi.
46750
46751 2008-11-10  Bruno Haible  <bruno@clisp.org>
46752
46753         * tests/test-select-fd.c (main): Accept the result file name as fourth
46754         argument.
46755         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
46756         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
46757
46758 2008-11-10  Bruno Haible  <bruno@clisp.org>
46759
46760         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
46761         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
46762         as autoconf-substituted macros.
46763         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
46764         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
46765         gl_NETDB_H_DEFAULTS. Set these variables.
46766         * modules/netdb (Makefile.am): Substitute these variables.
46767
46768 2008-11-10  Eric Blake  <ebb9@byu.net>
46769
46770         standards.texi: include correct file for FDL 1.3
46771         * doc/standards.texi (GNU Free Documentation License): Change
46772         include file to pull in FDL 1.3, not 1.2.
46773
46774         fdl.texi: revert accidental change to license
46775         * doc/fdl.texi: This is FDL 1.2, not 1.3.
46776
46777 2008-11-10  Bruno Haible  <bruno@clisp.org>
46778
46779         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
46780         cross-compiling guesses also when the native compile gives no result.
46781
46782 2008-11-10  Bruno Haible  <bruno@clisp.org>
46783
46784         * lib/spawni.c (__spawni): Force variable into the stack.
46785
46786 2008-11-10  Bruno Haible  <bruno@clisp.org>
46787
46788         Add support for Haiku.
46789         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
46790         glibc and BeOS, but also on Haiku.
46791         * lib/fpurge.c (fpurge): Likewise.
46792         * lib/freadable.c (freadable): Likewise.
46793         * lib/freadahead.c (freadahead): Likewise.
46794         * lib/freading.c (freading): Likewise.
46795         * lib/freadptr.c (freadptr): Likewise.
46796         * lib/freadseek.c (freadptrinc): Likewise.
46797         * lib/fseeko.c (rpl_fseeko): Likewise.
46798         * lib/fseterr.c (fseterr): Likewise.
46799         * lib/fwritable.c (fwritable): Likewise.
46800         * lib/fwriting.c (fwriting): Likewise.
46801         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
46802
46803 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46804
46805         * lib/config.charset: Treat Haiku like BeOS.
46806
46807 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
46808
46809         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
46810         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
46811
46812 2008-11-08  Bruno Haible  <bruno@clisp.org>
46813
46814         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
46815         AC_CACHE_CHECK.
46816
46817 2008-11-08  Bruno Haible  <bruno@clisp.org>
46818
46819         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
46820
46821 2008-11-08  Bruno Haible  <bruno@clisp.org>
46822
46823         * tests/test-select-fd.c: New file.
46824         * tests/test-select-in.sh: New file.
46825         * tests/test-select-out.sh: New file.
46826         * tests/test-select-stdin.c: New file.
46827         * modules/select-tests (Files): Add the new files.
46828         (Depends-on): Add gettimeofday.
46829         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
46830         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
46831         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
46832
46833 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
46834             Bruno Haible  <bruno@clisp.org>
46835
46836         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
46837
46838 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
46839
46840         * build-aux/pmccabe2html: Added support for C++ source files.
46841
46842 2008-11-05  Ben Pfaff  <blp@gnu.org>
46843
46844         Fix lib/close.c build on Windows.
46845         * modules/close (Files): Add lib/w32sock.h.
46846
46847 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
46848
46849         Accept Bison's NEWS format.
46850         * build-aux/announce-gen (print_news_deltas): Tweak
46851         $re_prefix.
46852
46853 2008-11-04  Bruno Haible  <bruno@clisp.org>
46854
46855         * modules/random_r (Maintainer): Add glibc.
46856
46857 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46858
46859         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
46860         by karl@freefriends.org (Karl Berry).
46861         * doc/alloca.texi: Likewise.
46862         * doc/c-ctype.texi: Likewise.
46863         * doc/c-strcase.texi: Likewise.
46864         * doc/c-strcaseeq.texi: Likewise.
46865         * doc/c-strcasestr.texi: Likewise.
46866         * doc/c-strstr.texi: Likewise.
46867         * doc/c-strtod.texi: Likewise.
46868         * doc/c-strtold.texi: Likewise.
46869         * doc/ctime.texi: Likewise.
46870         * doc/error.texi: Likewise.
46871         * doc/fdl.texi: Likewise.
46872         * doc/gcd.texi: Likewise.
46873         * doc/getdate.texi: Likewise.
46874         * doc/gnulib-intro.texi: Likewise.
46875         * doc/gnulib-tool.texi: Likewise.
46876         * doc/gnulib.texi: Likewise.
46877         * doc/inet_ntoa.texi: Likewise.
46878         * doc/maintain.texi: Likewise.
46879         * doc/make-stds.texi: Likewise.
46880         * doc/quote.texi: Likewise.
46881         * doc/regexprops-generic.texi: Likewise.
46882         * doc/standards.texi: Likewise.
46883         * doc/verify.texi: Likewise.
46884         * doc/visibility.texi: Likewise.
46885         * doc/gnulib.texi (GNU Free Documentation License): Include
46886         fdl-1.3.texi instead of fdl.texi.
46887
46888 2008-11-04  Simon Josefsson  <simon@josefsson.org>
46889
46890         * doc/fdl-1.3.texi: New file, from
46891         <http://www.gnu.org/licenses/fdl-1.3.texi>.
46892         * modules/fdl-1.3: Add.
46893         * MODULES.html.sh: Add fdl-1.3.
46894
46895 2008-11-03  Bruno Haible  <bruno@clisp.org>
46896
46897         Make determination of absolute name of header file work with AIX xlc.
46898         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
46899         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
46900         preprocessing.
46901         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46902         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46903
46904 2008-11-03  Simon Josefsson  <simon@josefsson.org>
46905
46906         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
46907         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
46908         <ludo@gnu.org>.
46909
46910 2008-11-02  Bruno Haible  <bruno@clisp.org>
46911
46912         Mark 'strpbrk' obsolete.
46913         * modules/strpbrk (Status, Notice): New sections.
46914         * modules/strtok_r (Depends-on): Add strpbrk.
46915
46916 2008-11-02  Bruno Haible  <bruno@clisp.org>
46917
46918         Mark 'strdup' obsolete.
46919         * modules/strdup (Status, Notice): New sections.
46920         * modules/findprog (Depends-on): Add strdup.
46921         * modules/getaddrinfo (Depends-on): Likewise.
46922         * modules/localename (Depends-on): Likewise.
46923         * modules/relocatable-lib (Depends-on): Likewise.
46924         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
46925         * modules/relocatable-prog (Depends-on): Likewise.
46926         * modules/trim (Depends-on): Likewise.
46927         * modules/unictype/gen-ctype (Depends-on): Likewise.
46928         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
46929
46930 2008-11-02  Bruno Haible  <bruno@clisp.org>
46931
46932         Mark 'strcspn' obsolete.
46933         * modules/strcspn (Status, Notice): New sections.
46934
46935 2008-11-02  Bruno Haible  <bruno@clisp.org>
46936
46937         Mark 'rmdir' obsolete.
46938         * modules/rmdir (Status, Notice): New sections.
46939         * modules/clean-temp (Depends-on): Add rmdir.
46940         * modules/openat (Depends-on): Likewise.
46941
46942 2008-11-02  Bruno Haible  <bruno@clisp.org>
46943
46944         Mark 'raise' obsolete.
46945         * modules/raise (Status, Notice): New sections.
46946         (Include): Specify <signal.h>.
46947         * modules/stdio (Depends-on): Add raise.
46948         * modules/write (Depends-on): Likewise.
46949
46950 2008-11-02  Bruno Haible  <bruno@clisp.org>
46951
46952         Mark 'memset' obsolete.
46953         * modules/memset (Status, Notice): New sections.
46954
46955 2008-11-02  Bruno Haible  <bruno@clisp.org>
46956
46957         Mark 'memmove' obsolete.
46958         * modules/memmove (Status, Notice): New sections.
46959         * modules/argp (Depends-on): Add memmove.
46960         * modules/argz (Depends-on): Likewise.
46961         * modules/canonicalize (Depends-on): Likewise.
46962         * modules/canonicalize-lgpl (Depends-on): Likewise.
46963         * modules/fts (Depends-on): Likewise.
46964         * modules/getcwd (Depends-on): Likewise.
46965         * modules/human (Depends-on): Likewise.
46966         * modules/regex (Depends-on): Likewise.
46967         * modules/striconveh (Depends-on): Likewise.
46968         * modules/trim (Depends-on): Likewise.
46969         * modules/unistr/u8-move (Depends-on): Likewise.
46970         * modules/unistr/u16-move (Depends-on): Likewise.
46971         * modules/unistr/u32-move (Depends-on): Likewise.
46972
46973 2008-11-02  Bruno Haible  <bruno@clisp.org>
46974
46975         Mark 'memcpy' obsolete.
46976         * modules/memcpy (Status, Notice): New sections.
46977
46978 2008-11-02  Bruno Haible  <bruno@clisp.org>
46979
46980         Mark 'memcmp' obsolete.
46981         * modules/memcmp (Status, Notice): New sections.
46982         * modules/argmatch (Depends-on): Add memchr.
46983         * modules/backupfile (Depends-on): Likewise.
46984         * modules/c-strcasestr (Depends-on): Likewise.
46985         * modules/crypto/des (Depends-on): Likewise.
46986         * modules/csharpcomp (Depends-on): Likewise.
46987         * modules/fnmatch (Depends-on): Likewise.
46988         * modules/git-merge-changelog (Depends-on): Likewise.
46989         * modules/isnand (Depends-on): Likewise.
46990         * modules/isnand-nolibm (Depends-on): Likewise.
46991         * modules/isnanf (Depends-on): Likewise.
46992         * modules/isnanf-nolibm (Depends-on): Likewise.
46993         * modules/isnanl (Depends-on): Likewise.
46994         * modules/isnanl-nolibm (Depends-on): Likewise.
46995         * modules/mbchar (Depends-on): Likewise.
46996         * modules/memcoll (Depends-on): Likewise.
46997         * modules/quotearg (Depends-on): Likewise.
46998         * modules/regex (Depends-on): Likewise.
46999         * modules/relocatable-prog (Depends-on): Likewise.
47000         * modules/same (Depends-on): Likewise.
47001         * modules/signbit (Depends-on): Likewise.
47002         * modules/strcasestr-simple (Depends-on): Likewise.
47003         * modules/unictype/gen-ctype (Depends-on): Likewise.
47004         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
47005         * modules/uniname/uniname (Depends-on): Likewise.
47006         * modules/unistr/u8-cmp (Depends-on): Likewise.
47007
47008 2008-11-02  Bruno Haible  <bruno@clisp.org>
47009
47010         Mark 'memchr' obsolete.
47011         * modules/memchr (Status, Notice): New sections.
47012         * modules/argp (Depends-on): Add memchr.
47013         * modules/base64 (Depends-on): Likewise.
47014         * modules/c-strcasestr (Depends-on): Likewise.
47015         * modules/chdir-long (Depends-on): Likewise.
47016         * modules/fnmatch (Depends-on): Likewise.
47017         * modules/getsubopt (Depends-on): Likewise.
47018         * modules/git-merge-changelog (Depends-on): Likewise.
47019         * modules/glob (Depends-on): Likewise.
47020         * modules/strcasestr-simple (Depends-on): Likewise.
47021         * modules/strnlen (Depends-on): Likewise.
47022
47023 2008-11-02  Bruno Haible  <bruno@clisp.org>
47024
47025         Mark 'atexit' obsolete.
47026         * modules/atexit (Status, Notice): New sections.
47027         * modules/chdir-long (Depends-on): Add atexit.
47028         * modules/wait-process (Depends-on): Likewise.
47029
47030 2008-11-02  Bruno Haible  <bruno@clisp.org>
47031
47032         * gnulib-tool: New option --with-obsolete.
47033         (func_usage): Document it.
47034         (func_modules_transitive_closure): Drop obsolete dependencies if
47035         incobsolete is not true.
47036         (func_import): Read and save the incobsolete variable to the cache.
47037
47038 2008-11-02  Bruno Haible  <bruno@clisp.org>
47039
47040         * modules/TEMPLATE-EXTENDED: New field 'Status'.
47041         * gnulib-tool: New option --extract-status.
47042         (func_usage): Document it.
47043         (sed_extract_prog): Recognize it.
47044         (func_get_status): New function.
47045
47046 2008-10-30  Simon Josefsson  <simon@josefsson.org>
47047
47048         * modules/sockets (License): Change from LGPL to LGPLv2+.
47049
47050 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47051
47052         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
47053
47054 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47055
47056         * MODULES.html.sh (Support for systems lacking POSIX:2001):
47057         Mention times and sys_times.
47058         * modules/sys_times, modules/sys_times-tests: New modules.
47059         * modules/times, modules/times-tests: Likewise
47060         * m4/sys_times_h.m4: New file.
47061         * lib/sys_times.in.h: Likewise
47062         * lib/times.c: Likewise.
47063         * tests/test-sys_times.c: Likewise.
47064         * tests/test-times.c: Likewise.
47065         * doc/posix-headers/sys_times.texi: Update.
47066         * doc/posix-functions/times.texi: Update.
47067
47068 2008-10-28  Jim Meyering  <meyering@redhat.com>
47069
47070         * modules/tempname (Depends-on): Add lstat.
47071
47072         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
47073
47074 2008-10-28  Simon Josefsson  <simon@josefsson.org>
47075
47076         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
47077         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
47078         using idiom used elsewhere in gnulib.
47079
47080 2008-10-27  Jim Meyering  <meyering@redhat.com>
47081
47082         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
47083
47084 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47085
47086         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
47087         TESTS_ENVIRONMENT, for shell scripts that needs to call built
47088         programs.
47089         * tests/test-argp-2.sh: Use $EXEEXT when needed.
47090
47091 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47092
47093         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
47094
47095 2008-10-27  Bruno Haible  <bruno@clisp.org>
47096
47097         * tests/test-lstat.c: Include <stdio.h>.
47098
47099 2008-10-27  Simon Josefsson  <simon@josefsson.org>
47100
47101         * modules/lstat-tests: New module.
47102         * tests/test-lstat.c: New file.
47103
47104 2008-10-26  Jim Meyering  <meyering@redhat.com>
47105
47106         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
47107
47108 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47109             Bruno Haible  <bruno@clisp.org>
47110
47111         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
47112         * modules/configmake (Include): Add a note that the include must come
47113         after all system headers.
47114         * lib/javaversion.c: Include configmake.h after all other includes.
47115
47116 2008-10-26  Bruno Haible  <bruno@clisp.org>
47117
47118         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
47119         HAVE_STRUCT_RANDOM_DATA to 1.
47120         (gl_STDLIB_H): Simplify.
47121
47122 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47123
47124         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
47125         substitute HAVE_STRUCT_RANDOM_DATA.
47126         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
47127         random_data.
47128         * modules/stdlib (Makefile.am): Substitute
47129         HAVE_STRUCT_RANDOM_DATA.
47130
47131 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47132
47133         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
47134         * doc/gnulib-intro.texi (Copyright): Likewise.
47135
47136 2008-10-26  Simon Josefsson  <simon@josefsson.org>
47137
47138         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
47139         findings.
47140
47141 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
47142             Bruno Haible  <bruno@clisp.org>
47143
47144         * lib/unistd.in.h: Include <winsock2.h>.
47145         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
47146         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
47147         Provide dummy declarations.
47148         (gethostname): Override.
47149         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
47150         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
47151         gl_PREREQ_SYS_H_WINSOCK2.
47152         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
47153         * doc/posix-functions/gethostname.texi: More details.
47154
47155 2008-10-25  Bruno Haible  <bruno@clisp.org>
47156
47157         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47158         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
47159         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
47160
47161         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
47162         here ...
47163         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
47164         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
47165         gl_UNISTD_H_DEFAULTS.
47166
47167 2008-10-25  Eric Blake  <ebb9@byu.net>
47168
47169         signbit: avoid spurious compiler failure
47170         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
47171         declarations inside function.
47172
47173 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47174             Bruno Haible  <bruno@clisp.org>
47175
47176         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
47177         * modules/random_r (Depends-on): Add stdint.
47178
47179 2008-10-24  Bruno Haible  <bruno@clisp.org>
47180
47181         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
47182         Eggert.
47183         * modules/strerror (License): Likewise.
47184
47185 2008-10-24  Jim Meyering  <meyering@redhat.com>
47186
47187         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
47188         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
47189
47190 2008-10-24  Eric Blake  <ebb9@byu.net>
47191
47192         getgroups: fix compilation when getgroups is available
47193         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
47194         but with <config.h> override of getgroups disabled.
47195
47196 2008-10-24  Simon Josefsson  <simon@josefsson.org>
47197
47198         * doc/gnulib.texi (Header files): Add note about C++ problems.
47199         Explained by Bruno Haible <bruno@clisp.org>.
47200
47201 2008-10-23  Bruno Haible  <bruno@clisp.org>
47202
47203         Define a dummy SA_NODEFER macro on Interix.
47204         * lib/signal.in.h (SA_NODEFER): Define fallback.
47205         Reported by Aleksey Cheusov <cheusov@tut.by> via
47206         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
47207
47208 2008-10-23  Bruno Haible  <bruno@clisp.org>
47209
47210         * modules/freadahead (License): Change to LGPLv2+.
47211         Suggested by Simon Josefsson.
47212
47213 2008-10-23  Jim Meyering  <meyering@redhat.com>
47214
47215         random_r: new module
47216         * modules/random_r: New file.
47217         * m4/random_r.m4: New file.
47218         * lib/random_r.c: New file, from glibc.
47219         * modules/random_r-tests: New file.
47220         * tests/test-random_r.c: New file.
47221         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
47222          Declare.
47223         (RAND_MAX): Define.
47224         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
47225         * modules/stdlib: Substitute them, too.
47226         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
47227         * doc/glibc-functions/initstate_r.texi: Mention the new module.
47228         * doc/glibc-functions/random_r.texi: Likewise.
47229         * doc/glibc-functions/setstate_r.texi: Likewise.
47230         * doc/glibc-functions/srandom_r.texi: Likewise.
47231         * config/srclist.txt: Mention it.
47232
47233 2008-10-23  David Lutterkort  <lutter@redhat.com>
47234
47235         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
47236         link requirement
47237
47238 2008-10-23  Jim Meyering  <meyering@redhat.com>
47239
47240         selinux-h: mark parameters of stub functions as intentionally unused
47241         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
47242         * lib/se-context.in.h: Likewise.
47243
47244 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47245
47246         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
47247
47248 2008-10-22  Simon Josefsson  <simon@josefsson.org>
47249
47250         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
47251
47252 2008-10-22  Eric Blake  <ebb9@byu.net>
47253
47254         glthread/thread: avoid compiler warning
47255         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
47256         Add unreachable abort to silence compiler.
47257
47258 2008-10-22  Eric Blake  <ebb9@byu.net>
47259
47260         netdb: also supply struct addrinfo for cygwin 1.5.x
47261         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
47262         older cygwin.
47263         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
47264         cygwin.
47265         * doc/posix-headers/netdb.texi (netdb.h): Document this.
47266
47267 2008-10-22  Bruno Haible  <bruno@clisp.org>
47268
47269         * users.txt: Update entry about pspp.
47270
47271 2008-10-21  Bruno Haible  <bruno@clisp.org>
47272
47273         Simplification.
47274         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
47275         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
47276
47277         Simplification.
47278         * lib/ioctl.c (ioctl): Don't undefine.
47279         * lib/socket.c (socket): Don't undefine.
47280
47281         Remove unused module indicator macros.
47282         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
47283         GNULIB_$1 as a C macro.
47284
47285         * doc/posix-functions/close.texi: Undo last change.
47286         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
47287         Windows platforms.
47288
47289 2008-10-21  Bruno Haible  <bruno@clisp.org>
47290
47291         Add gethostname() declaration to <unistd.h>.
47292         * lib/unistd.in.h (gethostname): New declaration.
47293         * lib/gethostname.c: Include <unistd.h>.
47294         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
47295         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
47296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
47297         and HAVE_GETHOSTNAME.
47298         * modules/gethostname (Depends-on): Add unistd.
47299         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47300         (Include): Specify <unistd.h>.
47301         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
47302         HAVE_GETHOSTNAME.
47303         * tests/test-gethostname.c: Include <unistd.h> first.
47304
47305 2008-10-21  Bruno Haible  <bruno@clisp.org>
47306
47307         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
47308         * modules/select-tests (Depends-on): Likewise.
47309         Reported by Simon Josefsson.
47310
47311 2008-10-21  Simon Josefsson  <simon@josefsson.org>
47312
47313         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
47314         * lib/accept.c: New file, based on winsock.c.
47315         * lib/bind.c: New file, based on winsock.c.
47316         * lib/connect.c: New file, based on winsock.c.
47317         * lib/getpeername.c: New file, based on winsock.c.
47318         * lib/getsockname.c: New file, based on winsock.c.
47319         * lib/getsockopt.c: New file, based on winsock.c.
47320         * lib/ioctl.c: New file, based on winsock.c.
47321         * lib/listen.c: New file, based on winsock.c.
47322         * lib/recv.c: New file, based on winsock.c.
47323         * lib/recvfrom.c: New file, based on winsock.c.
47324         * lib/send.c: New file, based on winsock.c.
47325         * lib/sendto.c: New file, based on winsock.c.
47326         * lib/setsockopt.c: New file, based on winsock.c.
47327         * lib/shutdown.c: New file, based on winsock.c.
47328         * lib/socket.c: New file, based on winsock.c.
47329         * lib/w32sock.h: New file, based on winsock.c.
47330         * lib/winsock.c: Remove file.
47331         * modules/accept: Likewise.
47332         * modules/bind: Likewise.
47333         * modules/connect: Likewise.
47334         * modules/getpeername: Likewise.
47335         * modules/getsockname: Likewise.
47336         * modules/getsockopt: Likewise.
47337         * modules/ioctl: Likewise.
47338         * modules/listen: Likewise.
47339         * modules/recv: Likewise.
47340         * modules/recvfrom: Likewise.
47341         * modules/send: Likewise.
47342         * modules/sendto: Likewise.
47343         * modules/setsockopt: Likewise.
47344         * modules/shutdown: Likewise.
47345         * modules/socket: Use socket.c instead of winsock.c.
47346         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
47347         * doc/posix-functions/accept.texi: Doc fix.
47348         * doc/posix-functions/bind.texi: Doc fix.
47349         * doc/posix-functions/close.texi: Doc fix.
47350         * doc/posix-functions/connect.texi: Doc fix.
47351         * doc/posix-functions/getpeername.texi: Doc fix.
47352         * doc/posix-functions/getsockname.texi: Doc fix.
47353         * doc/posix-functions/getsockopt.texi: Doc fix.
47354         * doc/posix-functions/ioctl.texi: Doc fix.
47355         * doc/posix-functions/listen.texi: Doc fix.
47356         * doc/posix-functions/recv.texi: Doc fix.
47357         * doc/posix-functions/recvfrom.texi: Doc fix.
47358         * doc/posix-functions/send.texi: Doc fix.
47359         * doc/posix-functions/sendto.texi: Doc fix.
47360         * doc/posix-functions/setsockopt.texi: Doc fix.
47361         * doc/posix-functions/shutdown.texi: Doc fix.
47362         * doc/posix-functions/socket.texi: Doc fix.
47363
47364 2008-10-20  Bruno Haible  <bruno@clisp.org>
47365
47366         Take into account the role of SIGABRT_COMPAT on Windows 2008.
47367         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
47368         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
47369         as an alias for SIGABRT.
47370         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
47371         (sigaction): Map it to SIGABRT.
47372         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
47373
47374 2008-10-20  Bruno Haible  <bruno@clisp.org>
47375
47376         * lib/fts.c: Don't include lstat.h.
47377         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
47378
47379         Move the lstat() declaration to <sys/stat.h>.
47380         * lib/lstat.h: Remove file.
47381         * lib/sys_stat.in.h: Add special invocation convention.
47382         (lstat): New declaration.
47383         * lib/lstat.c (orig_lstat): New function.
47384         (rpl_lstat): Use orig_lstat instead of lstat.
47385         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
47386         AC_C_INLINE. Set REPLACE_LSTAT.
47387         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
47388         and REPLACE_LSTAT.
47389         * modules/lstat (Files): Remove lib/lstat.h.
47390         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47391         (Include): Specify <sys/stat.h> instead of lstat.h.
47392         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
47393         REPLACE_LSTAT.
47394         * NEWS: Mention the change.
47395
47396 2008-10-20  Bruno Haible  <bruno@clisp.org>
47397
47398         * modules/posix_spawn-tests: New file.
47399         * tests/test-posix_spawn3.c: New file.
47400
47401 2008-10-20  Bruno Haible  <bruno@clisp.org>
47402
47403         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
47404         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47405         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
47406         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
47407         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
47408
47409 2008-10-20  Bruno Haible  <bruno@clisp.org>
47410
47411         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
47412         of posix_spawn on AIX 5.3.
47413
47414 2008-10-20  Bruno Haible  <bruno@clisp.org>
47415
47416         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
47417
47418 2008-10-20  Bruno Haible  <bruno@clisp.org>
47419
47420         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
47421         of AC_LANG_PROGRAM.
47422
47423 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47424
47425         * lib/netdb.in.h: Don't define GNU specific constants until they
47426         are supported or needed.  Reported by Bruno Haible
47427         <bruno@clisp.org>.
47428
47429 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47430
47431         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
47432
47433 2008-10-20  Simon Josefsson  <simon@josefsson.org>
47434
47435         * lib/getaddrinfo.h: Remove file.
47436         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
47437         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
47438         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
47439         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
47440         * modules/netdb: Substitute GNULIB_GETADDRINFO.
47441         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
47442         * tests/test-getaddrinfo.c: Likewise.
47443         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
47444         * NEWS: Mention change.
47445
47446 2008-10-19  Bruno Haible  <bruno@clisp.org>
47447
47448         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
47449
47450 2008-10-19  Bruno Haible  <bruno@clisp.org>
47451
47452         * lib/wait-process.c: Include simply <sys/wait.h>.
47453         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
47454         WIFSTOPPED): Remove fallback definitions.
47455         * modules/wait-process (Depends-on): Add sys_wait.
47456
47457         New module 'sys_wait'.
47458         * modules/sys_wait: New file.
47459         * lib/sys_wait.in.h: New file, partially copied from
47460         lib/wait-process.c.
47461         * m4/sys_wait_h.m4: New file.
47462         * doc/posix-headers/sys_wait.texi: Mention the new module.
47463
47464 2008-10-19  Bruno Haible  <bruno@clisp.org>
47465
47466         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
47467
47468 2008-10-19  Bruno Haible  <bruno@clisp.org>
47469
47470         Assume that waitpid() fills an 'int' status, not a 'union wait'.
47471         * lib/wait-process.c (WAIT_T): Remove type.
47472         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
47473         (wait_subprocess): Update.
47474
47475 2008-10-19  Bruno Haible  <bruno@clisp.org>
47476
47477         New module 'atoll'.
47478         * modules/atoll: New file.
47479         * lib/stdlib.in.h (atoll): New declaration.
47480         * lib/atoll.c: New file, from glibc with modifications.
47481         * m4/atoll.m4: New file.
47482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
47483         HAVE_ATOLL.
47484         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
47485         * doc/posix-functions/atoll.texi: Mention the new module.
47486
47487 2008-10-19  Bruno Haible  <bruno@clisp.org>
47488
47489         Add strtoull() declaration to <stdlib.h>.
47490         * lib/stdlib.in.h (strtoull): New declaration.
47491         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47492         Set HAVE_STRTOULL.
47493         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
47494         HAVE_STRTOULL.
47495         * modules/strtoull (Depends-on): Add stdlib.
47496         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47497         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
47498         HAVE_STRTOULL.
47499
47500 2008-10-19  Bruno Haible  <bruno@clisp.org>
47501
47502         Add strtoll() declaration to <stdlib.h>.
47503         * lib/stdlib.in.h (strtoll): New declaration.
47504         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
47505         Set HAVE_STRTOLL.
47506         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
47507         HAVE_STRTOLL.
47508         * modules/strtoll (Depends-on): Add stdlib.
47509         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47510         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
47511
47512 2008-10-19  Bruno Haible  <bruno@clisp.org>
47513
47514         * modules/bcopy (Depends-on): Add strings.
47515         (Include): Specify <strings.h>.
47516
47517 2008-10-19  Bruno Haible  <bruno@clisp.org>
47518
47519         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
47520
47521 2008-10-19  Bruno Haible  <bruno@clisp.org>
47522
47523         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
47524         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
47525         mingw.
47526
47527 2008-10-19  Bruno Haible  <bruno@clisp.org>
47528
47529         * lib/atanl.c: Don't include isnanl.h.
47530         * lib/cosl.c: Likewise.
47531         * lib/ldexpl.c: Likewise.
47532         * lib/logl.c: Likewise.
47533         * lib/sinl.c: Likewise.
47534         * lib/sqrtl.c: Likewise.
47535         * lib/tanl.c: Likewise.
47536
47537         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
47538         * lib/isnanf.h: Remove file.
47539         * lib/isnand.h: Remove file.
47540         * lib/isnanl.h: Remove file.
47541         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
47542         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
47543         macros.
47544         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
47545         HAVE_ISNANF, don't define it as a C macro.
47546         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
47547         HAVE_ISNAND, don't define it as a C macro.
47548         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
47549         HAVE_ISNANL, don't define it as a C macro.
47550         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
47551         HAVE_ISNAN[FDL].
47552         * modules/isnanf (Files): Remove lib/isnanf.h.
47553         (Depends-on): Add math.
47554         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47555         (Include): Specify <math.h> instead of isnanf.h.
47556         * modules/isnand (Files): Remove lib/isnand.h.
47557         (Depends-on): Add math.
47558         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47559         (Include): Specify <math.h> instead of isnand.h.
47560         * modules/isnanl (Files): Remove lib/isnanl.h.
47561         (Depends-on): Add math.
47562         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
47563         (Include): Specify <math.h> instead of isnanl.h.
47564         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
47565         HAVE_ISNAN[FDL].
47566         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
47567         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
47568         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
47569         * NEWS: Mention the change.
47570
47571 2008-10-18  Bruno Haible  <bruno@clisp.org>
47572
47573         Add getusershell(), setusershell(), endusershell() declarations to
47574         <unistd.h>.
47575         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
47576         declarations.
47577         * lib/getusershell.c: Include unistd.h.
47578         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
47579         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47580         HAVE_GETUSERSHELL.
47581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
47582         and HAVE_GETUSERSHELL.
47583         * modules/getusershell (Depends-on): Add unistd, extensions.
47584         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47585         (Include): Specify <unistd.h>.
47586         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
47587         HAVE_GETUSERSHELL.
47588
47589 2008-10-18  Bruno Haible  <bruno@clisp.org>
47590
47591         Add a getloadavg() declaration to <stdlib.h>.
47592         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
47593         getloadavg declaration.
47594         (getloadavg): New declaration.
47595         * lib/getloadavg.c: Include <stdlib.h> first.
47596         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
47597         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
47598         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
47599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
47600         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47601         * modules/getloadavg (Depends-on): Add stdlib, extensions.
47602         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47603         (Include): Specify <stdlib.h>.
47604         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
47605         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
47606
47607 2008-10-18  Bruno Haible  <bruno@clisp.org>
47608
47609         * lib/dirchownmod.c: Don't include lchmod.h.
47610
47611         Move the lchmod() declaration to <sys/stat.h>.
47612         * lib/lchmod.h: Remove file.
47613         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
47614         (lchmod): New declaration, moved here from lib/lchown.h.
47615         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
47616         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
47617         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
47618         and HAVE_LCHMOD.
47619         * modules/lchmod (Files): Remove lib/lchmod.h.
47620         (Depends-on): Add sys_stat, extensions.
47621         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
47622         (Include): Specify <sys/stat.h> instead of lchmod.h.
47623         * modules/sys_stat (Depends-on): Add link-warning.
47624         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
47625         definition of GL_LINK_WARNING.
47626         * NEWS: Mention the change.
47627
47628 2008-10-18  Bruno Haible  <bruno@clisp.org>
47629
47630         * lib/fchdir.c: Don't include dirfd.h.
47631         * lib/fts.c: Likewise.
47632         * lib/getcwd.c: Likewise.
47633         * lib/glob.c: Likewise.
47634
47635         Move the dirfd() declaration to <dirent.h>.
47636         * lib/dirfd.h: Remove file.
47637         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
47638         (dirfd): New declaration.
47639         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
47640         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
47641         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
47642         HAVE_DECL_DIRFD.
47643         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
47644         HAVE_DECL_DIRFD.
47645         * modules/dirfd (Files): Remove lib/dirfd.h.
47646         (Depends-on): Add dirent, extensions.
47647         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
47648         (Include): Specify <dirent.h> instead of dirfd.h.
47649         * modules/dirent (Depends-on): Add link-warning.
47650         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
47651         definition of GL_LINK_WARNING.
47652         * NEWS: Mention the change.
47653
47654 2008-10-18  Bruno Haible  <bruno@clisp.org>
47655
47656         Move the euidaccess() declaration to <unistd.h>.
47657         * lib/euidaccess.h: Remove file.
47658         * lib/unistd.in.h (euidaccess): New declaration.
47659         * lib/euidaccess.c: Don't include euidaccess.h.
47660         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
47661         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
47662         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
47663         and HAVE_EUIDACCESS.
47664         * modules/euidaccess (Files): Remove lib/euidaccess.h.
47665         (Depends-on): Add unistd.
47666         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47667         (Include): Specify <unistd.h> instead of euidaccess.h.
47668         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
47669         HAVE_EUIDACCESS.
47670         * NEWS: Mention the change.
47671
47672 2008-10-18  Bruno Haible  <bruno@clisp.org>
47673
47674         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
47675
47676         Move the getdomainname() declaration to <unistd.h>.
47677         * lib/getdomainname.h: Remove file.
47678         * lib/unistd.in.h (getdomainname): New declaration.
47679         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
47680         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
47681         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
47682         HAVE_GETDOMAINNAME.
47683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47684         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
47685         * modules/getdomainname (Files): Remove lib/getdomainname.h.
47686         (Depends-on): Add unistd, extensions.
47687         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47688         (Includes): Specify <unistd.h> instead of getdomainname.h.
47689         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
47690         HAVE_GETDOMAINNAME.
47691         * NEWS: Mention the change.
47692
47693 2008-10-18  Bruno Haible  <bruno@clisp.org>
47694
47695         * modules/dirent: New file.
47696         * m4/dirent_h.m4: New file.
47697         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
47698         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
47699         * modules/fchdir (Files): Remove lib/dirent.in.h.
47700         (Depends-on): Add dirent.
47701         (Makefile.am): Move rules to modules/dirent.
47702         * doc/posix-headers/dirent.texi: Mention the new module.
47703
47704 2008-10-18  Bruno Haible  <bruno@clisp.org>
47705
47706         Avoid -Wunused-parameter warnings in public gnulib header files.
47707         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
47708         macro.
47709         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
47710
47711 2008-10-18  Bruno Haible  <bruno@clisp.org>
47712
47713         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
47714         * doc/glibc-functions/error.texi: Mention the module 'error'.
47715         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
47716         * doc/glibc-functions/getdomainname.texi: Mention the module
47717         'getdomainname'.
47718         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
47719         * doc/glibc-functions/getpagesize.texi: Mention the module
47720         'getpagesize'.
47721         * doc/glibc-functions/getusershell.texi: Mention the module
47722         'getusershell'.
47723         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
47724         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
47725         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
47726         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
47727         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
47728         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
47729         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
47730         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
47731         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
47732         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
47733         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
47734         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
47735         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
47736         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
47737
47738 2008-10-17  Bruno Haible  <bruno@clisp.org>
47739
47740         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
47741         HP-UX and IRIX, use -0.0L.
47742         * tests/test-ceill.c (minus_zero): Likewise.
47743         * tests/test-floorl.c (minus_zero): Likewise.
47744         * tests/test-frexpl.c (minus_zero): Likewise.
47745         * tests/test-isnan.c (minus_zerol): Likewise.
47746         * tests/test-isnanl.h (minus_zero): Likewise.
47747         * tests/test-ldexpl.c (minus_zero): Likewise.
47748         * tests/test-roundl.c (minus_zero): Likewise.
47749         * tests/test-signbit.c (minus_zerol): Likewise.
47750         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
47751         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
47752         * tests/test-truncl.c (minus_zero): Likewise.
47753         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
47754         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
47755         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
47756         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47757
47758 2008-10-17  Bruno Haible  <bruno@clisp.org>
47759
47760         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
47761         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
47762         that it gets activated only for gcc >= 3.0.
47763         * lib/dirent.in.h: Likewise.
47764         * lib/errno.in.h: Likewise.
47765         * lib/fcntl.in.h: Likewise.
47766         * lib/float.in.h: Likewise.
47767         * lib/iconv.in.h: Likewise.
47768         * lib/inttypes.in.h: Likewise.
47769         * lib/locale.in.h: Likewise.
47770         * lib/math.in.h: Likewise.
47771         * lib/netdb.in.h: Likewise.
47772         * lib/netinet_in.in.h: Likewise.
47773         * lib/search.in.h: Likewise.
47774         * lib/signal.in.h: Likewise.
47775         * lib/spawn.in.h: Likewise.
47776         * lib/stdarg.in.h: Likewise.
47777         * lib/stdint.in.h: Likewise.
47778         * lib/stdio.in.h: Likewise.
47779         * lib/stdlib.in.h: Likewise.
47780         * lib/string.in.h: Likewise.
47781         * lib/strings.in.h: Likewise.
47782         * lib/sys_file.in.h: Likewise.
47783         * lib/sys_ioctl.in.h: Likewise.
47784         * lib/sys_select.in.h: Likewise.
47785         * lib/sys_socket.in.h: Likewise.
47786         * lib/sys_stat.in.h: Likewise.
47787         * lib/sys_time.in.h: Likewise.
47788         * lib/sysexits.in.h: Likewise.
47789         * lib/time.in.h: Likewise.
47790         * lib/unistd.in.h: Likewise.
47791         * lib/wchar.in.h: Likewise.
47792         * lib/wctype.in.h: Likewise.
47793         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47794
47795 2008-10-17  Jim Meyering  <meyering@redhat.com>
47796
47797         ignore-value: don't depend on inline module
47798         * modules/ignore-value (Depends-on): Remove 'inline'.
47799         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
47800         Suggestion from Bruno Haible.
47801
47802 2008-10-17  Bruno Haible  <bruno@clisp.org>
47803
47804         New implementation of condition variables for Win32.
47805         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
47806         (gl_linked_waitqueue_t): New type.
47807         (gl_cond_t): Use it.
47808         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
47809         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
47810         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
47811         (glthread_cond_init_func, glthread_cond_wait_func,
47812         glthread_cond_timedwait_func, glthread_cond_signal_func,
47813         glthread_cond_broadcast_func, glthread_cond_destroy_func):
47814         Reimplemented on the basis of gl_linked_waitqueue_t.
47815         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
47816         gl_waitqueue_t.
47817         (gl_rwlock_t): Update.
47818         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
47819
47820 2008-10-17  Simon Josefsson  <simon@josefsson.org>
47821
47822         * modules/recvfrom (Depends-on): Add dependency on getpeername.
47823         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47824
47825 2008-10-17  Jim Meyering  <meyering@redhat.com>
47826
47827         ignore-value: new module
47828         * modules/ignore-value: New file.
47829         * lib/ignore-value.h: New file.
47830         * MODULES.html.sh (Compiler warning management): New section,
47831         just for this module.  More to come.
47832
47833 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47834
47835         open-safer.c: avoid 'signed and unsigned in conditional...' warning
47836         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
47837         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
47838
47839 2008-10-16  Jim Meyering  <meyering@redhat.com>
47840
47841         openat-die.c: avoid 'no previous prototype' warning
47842         * lib/openat-die.c: Include "openat.h".
47843         Reported by Reuben Thomas <rrt@sc3d.org>.
47844
47845 2008-10-16  Simon Josefsson  <simon@josefsson.org>
47846
47847         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
47848         * lib/netdb.in.h: Fix typo.
47849         Reported by Bruno Haible  <bruno@clisp.org>
47850
47851         * lib/netdb.in.h: Include sys/socket.h for platforms without
47852         netdb.h, to get structures like hostent on MinGW.
47853         * modules/netdb (Depends-on): Add sys_socket.
47854
47855 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47856
47857         * modules/netdb, modules/netdb-tests: New file.
47858         * m4/netdb_h.m4: New file.
47859         * lib/netdb.in.h: Add, currently just an empty file pending
47860         definitions.
47861         * tests/test-netdb.c: New file.
47862         * doc/posix-headers/netdb.texi: Mention that we replace it if
47863         needed.
47864         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47865         netdb.
47866
47867 2008-10-15  Simon Josefsson  <simon@josefsson.org>
47868
47869         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
47870         with code.
47871
47872 2008-10-13  Bruno Haible  <bruno@clisp.org>
47873
47874         * lib/glthread/cond.c (glthread_cond_wait_func,
47875         glthread_cond_timedwait_func): Add a comment.
47876
47877 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47878
47879         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
47880         * tests/test-select.c: Likewise,
47881
47882 2008-10-13  Bruno Haible  <bruno@clisp.org>
47883
47884         * lib/glthread/cond.c (glthread_cond_wait_func,
47885         glthread_cond_timedwait_func): Fix variable name.
47886         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
47887
47888 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
47889
47890         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
47891         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
47892         struct sockaddr.sa_len.
47893         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
47894
47895 2008-10-13  Simon Josefsson  <simon@josefsson.org>
47896
47897         * build-aux/pmccabe2html: Add css and css_url parameters.
47898
47899 2008-10-12  Bruno Haible  <bruno@clisp.org>
47900
47901         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
47902         calling aclx_get.
47903         Reported by Rainer Tammer <tammer@tammer.net>.
47904
47905 2008-10-12  Bruno Haible  <bruno@clisp.org>
47906
47907         Use msvcrt aware primitives for creation/termination of Win32 threads.
47908         * lib/glthread/thread.c: Include <process.h>.
47909         (glthread_create_func): Use _beginthreadex instead of CreateThread.
47910         (wrapper_func): Update signature.
47911         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
47912
47913 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47914             Bruno Haible  <bruno@clisp.org>
47915
47916         Provide a Win32 implementation of the 'cond' module.
47917         * lib/glthread/cond.h [USE_WIN32]: New implementation.
47918         * lib/glthread/cond.c (glthread_cond_init_func,
47919         glthread_cond_wait_func, glthread_cond_timedwait_func,
47920         glthread_cond_signal_func, glthread_cond_broadcast_func,
47921         glthread_cond_destroy_func) [USE_WIN32]: New functions.
47922         * modules/cond (Dependencies): Add gettimeofday.
47923
47924 2008-10-11  Bruno Haible  <bruno@clisp.org>
47925
47926         Make sleep work on older versions of mingw.
47927         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
47928         only whether it exists.
47929         * doc/posix-functions/sleep.texi: Mention the problem with older
47930         versions of mingw.
47931
47932 2008-10-11  Bruno Haible  <bruno@clisp.org>
47933
47934         New module 'shutdown'.
47935         * modules/shutdown: New file.
47936         * lib/sys_socket.in.h (shutdown): New declaration.
47937         * lib/winsock.c (shutdown): New function.
47938         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
47939         GNULIB_SHUTDOWN.
47940         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
47941         * doc/posix-functions/shutdown.texi: Document the new module.
47942
47943 2008-10-11  Jim Meyering  <meyering@redhat.com>
47944
47945         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
47946
47947 2008-10-11  Bruno Haible  <bruno@clisp.org>
47948
47949         New module 'fclose'.
47950         * modules/fclose: New file.
47951         * lib/stdio.in.h (fclose): New declaration.
47952         * lib/fclose.c: New file.
47953         * m4/fclose.m4: New file.
47954         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
47955         REPLACE_FCLOSE.
47956         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
47957         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
47958         REPLACE_FCLOSE.
47959         * modules/close (Depends-on): fclose.
47960         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
47961
47962 2008-10-11  Bruno Haible  <bruno@clisp.org>
47963
47964         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
47965         set errno and don't call _close.
47966
47967 2008-10-10  Bruno Haible  <bruno@clisp.org>
47968
47969         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
47970         ACL, not afterwards. Fixes test failure on Cygwin.
47971
47972 2008-10-09  Ben Pfaff  <blp@gnu.org>
47973
47974         * build-aux/announce-gen: Fix gnulib version related part of usage
47975         message.  Die with a useful error message if no tarballs are
47976         found.
47977
47978 2008-10-10  Jim Meyering  <meyering@redhat.com>
47979
47980         bootstrap: use git's --depth=N option only if it's supported
47981         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
47982         recognize the --depth option.  Reported by Pádraig Brady.
47983
47984 2008-10-09  Bruno Haible  <bruno@clisp.org>
47985
47986         New module 'ioctl'.
47987         * modules/ioctl: New file.
47988         * lib/sys_socket.in.h (ioctl): Remove declaration.
47989         * lib/winsock.c: Include <sys/ioctl.h>.
47990         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
47991         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
47992         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
47993         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
47994         * doc/posix-functions/ioctl.texi: Mention the new module.
47995
47996 2008-10-09  Bruno Haible  <bruno@clisp.org>
47997
47998         New module 'sys_ioctl'.
47999         * lib/sys_ioctl.in.h: New file.
48000         * m4/sys_ioctl_h.m4: New file.
48001         * modules/sys_ioctl: New file.
48002         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
48003
48004 2008-10-09  Bruno Haible  <bruno@clisp.org>
48005
48006         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
48007         * lib/winsock.c: Include <stdarg.h>.
48008         (rpl_ioctl): Change to second argument 'int' and then varargs.
48009
48010 2008-10-09  Bruno Haible  <bruno@clisp.org>
48011
48012         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
48013         when the sys_socket module is present and the system has <winsock2.h>.
48014
48015 2008-10-09  Bruno Haible  <bruno@clisp.org>
48016
48017         * doc/posix-functions/close.texi: Mention module 'close' instead of
48018         module 'sys_socket'.
48019
48020 2008-10-09  Bruno Haible  <bruno@clisp.org>
48021
48022         * doc/glibc-headers/sys_ioctl.texi: New file.
48023         * doc/gnulib.texi: Include it.
48024
48025 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48026             Bruno Haible  <bruno@clisp.org>
48027
48028         Combine the two replacements of 'close'.
48029         * lib/sys_socket.in.h (close): Define to a reminder to include
48030         <unistd.h>.
48031         (_gl_close_fd_maybe_socket): New declaration.
48032         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
48033         * lib/winsock.c (close): Remove undefinition.
48034         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
48035         needed for the gnulib module 'close'.
48036         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
48037         define to an error symbol or to a warning, if suitable.
48038         * lib/close.c: Include <sys/socket.h>.
48039         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
48040         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
48041         UNISTD_H_HAVE_WINSOCK2_H.
48042         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
48043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48044         UNISTD_H_HAVE_WINSOCK2_H.
48045         * modules/sys_socket (Files): Add m4/unistd_h.m4.
48046         (configure.ac): Set a module indicator.
48047         (Makefile.am): Substitute GNULIB_CLOSE.
48048         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
48049         * modules/poll-tests (Depends-on): Add close.
48050         * modules/select-tests (Depends-on): Likewise.
48051
48052 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48053             Bruno Haible  <bruno@clisp.org>
48054
48055         New module 'close'.
48056         * modules/close: New file.
48057         * lib/unistd.in.h (close): Move declaration out of the
48058         FCHDIR_REPLACEMENT scope.
48059         (_gl_unregister_fd): New declaration.
48060         * lib/close.c: New file.
48061         * lib/fchdir.c (rpl_close): Remove function.
48062         * m4/close.m4: New file.
48063         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48064         close.
48065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
48066         REPLACE_CLOSE.
48067         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
48068         REPLACE_CLOSE.
48069         * modules/fchdir (Depends-on): Add close.
48070
48071 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48072             Bruno Haible  <bruno@clisp.org>
48073
48074         * lib/fcntl.in.h (open): Simplify conditionals.
48075         (_gl_register_fd): New declaration.
48076         * lib/fchdir.c (rpl_open): Remove function.
48077         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
48078         also.
48079         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
48080         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
48081         open.
48082
48083 2008-10-09  Jim Meyering  <meyering@redhat.com>
48084
48085         GNUmakefile: use the more name-space-friendly "_version"
48086         * top/GNUmakefile (_dummy): Update.
48087         (_version): Rename from "version".
48088
48089 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48090             Bruno Haible  <bruno@clisp.org>
48091
48092         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
48093         rpl_close.
48094         (_gl_register_fd): New function, extracted from rpl_open.
48095         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
48096         (rpl_open, rpl_opendir): Use _gl_register_fd.
48097
48098 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
48099
48100         Fix organization of 'open' replacement.
48101         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
48102         (gl_FUNC_OPEN): Use it.
48103         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
48104
48105 2008-10-08  Bruno Haible  <bruno@clisp.org>
48106
48107         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
48108
48109 2008-10-08  Simon Josefsson  <simon@josefsson.org>
48110
48111         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
48112         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
48113         listen).
48114
48115 2008-10-08  Eric Blake  <ebb9@byu.net>
48116
48117         GNUmakefile: add 'make version' target
48118         * top/GNUmakefile (_curr-ver): Split version update rules...
48119         (version): ...into a target.
48120
48121 2008-10-07  Bruno Haible  <bruno@clisp.org>
48122
48123         Use a more portable replacement expression for -0.0L.
48124         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
48125         instead of -0.0L. Fix m4 quotation.
48126
48127         * tests/test-signbit.c: Include <float.h>.
48128         (minus_zero): New variable.
48129         (test_signbitl): Use minus_zero instead of -zero.
48130         * modules/signbit-tests (Depends-on): Add float.
48131
48132         * tests/test-ceill.c: Include <float.h>.
48133         (zero): Remove variable.
48134         (minus_zero): New variable.
48135         (main): Use minus_zero instead of -zero.
48136         * modules/ceill-tests (Depends-on): Add float.
48137
48138         * tests/test-floorl.c: Include <float.h>.
48139         (zero): Remove variable.
48140         (minus_zero): New variable.
48141         (main): Use minus_zero instead of -zero.
48142         * modules/floorl-tests (Depends-on): Add float.
48143
48144         * tests/test-roundl.c: Include <float.h>.
48145         (zero): Remove variable.
48146         (minus_zero): New variable.
48147         (main): Use minus_zero instead of -zero.
48148         * modules/roundl-tests (Depends-on): Add float.
48149
48150         * tests/test-truncl.c: Include <float.h>.
48151         (zero): Remove variable.
48152         (minus_zero): New variable.
48153         (main): Use minus_zero instead of -zero.
48154         * modules/truncl-tests (Depends-on): Add float.
48155
48156         * tests/test-frexpl.c (zero): Remove variable.
48157         (minus_zero): New variable.
48158         (main): Use minus_zero instead of -zero.
48159         * modules/frexpl-tests (Depends-on): Add float.
48160
48161         * tests/test-isnan.c (zerol): Remove variable.
48162         (minus_zerol): New variable.
48163         (test_long_double): Use minus_zerol instead of -zerol.
48164         * modules/isnan-tests (Depends-on): Add float.
48165
48166         * tests/test-isnanl.h (zero): Remove variable.
48167         (minus_zero): New variable.
48168         (main): Use minus_zero instead of -zero.
48169         * modules/isnanl-nolibm-tests (Depends-on): Add float.
48170         * modules/isnanl-tests (Depends-on): Add float.
48171
48172         * tests/test-ldexpl.c (zero): Remove variable.
48173         (minus_zero): New variable.
48174         (main): Use minus_zero instead of -zero.
48175         * modules/ldexpl-tests (Depends-on): Add float.
48176
48177         * tests/test-snprintf-posix.h (zerol): Remove variable.
48178         (minus_zerol): New variable.
48179         (test_function): Use minus_zerol instead of -zerol.
48180         * modules/snprintf-posix-tests (Depends-on): Add float.
48181         * modules/vsnprintf-posix-tests (Depends-on): Add float.
48182
48183         * tests/test-sprintf-posix.h (zerol): Remove variable.
48184         (minus_zerol): New variable.
48185         (test_function): Use minus_zerol instead of -zerol.
48186         * modules/sprintf-posix-tests (Depends-on): Add float.
48187         * modules/vsprintf-posix-tests (Depends-on): Add float.
48188
48189         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
48190         (minus_zerol): New variable.
48191         (test_function): Use minus_zerol instead of -zerol.
48192         * modules/vasnprintf-posix-tests (Depends-on): Add float.
48193
48194         * tests/test-vasprintf-posix.c (zerol): Remove variable.
48195         (minus_zerol): New variable.
48196         (test_function): Use minus_zerol instead of -zerol.
48197         * modules/vasprintf-posix-tests (Depends-on): Add float.
48198
48199 2008-10-07  Simon Josefsson  <simon@josefsson.org>
48200
48201         * MODULES.html.sh (Support for building documentation): Mention
48202         pmccabe2html.  Sort entries.
48203
48204         Add pmccabe2html module, from gnupdf.
48205         * build-aux/pmccabe.css: New file.
48206         * build-aux/pmccabe2html: New file.
48207         * m4/pmccabe2html.m4: New file.
48208         * modules/pmccabe2html: New file.
48209
48210 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
48211
48212         flock: new module
48213         * MODULES.html.sh: Add to list of modules.
48214         * lib/flock.c: flock implementation for Windows and Unix systems
48215         which have fcntl.
48216         * doc/glibc-functions/flock.texi: Update documentation.
48217         * lib/sys_file.in.h: <sys/file.h> header file.
48218         * m4/flock.m4: M4 macros.
48219         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
48220         * modules/flock: flock module.
48221         * modules/flock-tests: flock tests module.
48222         * modules/sys_file: sys/file.h module.
48223         * tests/test-flock.c: test suite for flock.
48224
48225 2008-10-06  Jim Meyering  <meyering@redhat.com>
48226
48227         bootstrap: check for LT_INIT more portably still ;-)
48228         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
48229         Spotted by Bruno Haible.
48230
48231 2008-10-06  Eric Blake  <ebb9@byu.net>
48232
48233         test-signbit: avoid tripping Irix cc bug on -0.0L
48234         * tests/test-signbit.c (minus_zerol): Delete, and replace with
48235         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
48236         entire testsuite consistent and avoids an Irix 6.2 bug.
48237
48238 2008-10-05  Bruno Haible  <bruno@clisp.org>
48239             Jim Meyering  <jim@meyering.net>
48240
48241         Add an option for ignoring EPIPE during close_stdout.
48242         * lib/closeout.h: Include <stdbool.h>.
48243         (close_stdout_set_ignore_EPIPE): New declaration.
48244         * lib/closeout.c: Include <stdbool.h>.
48245         (ignore_EPIPE): New variable.
48246         (close_stdout_set_ignore_EPIPE): New function.
48247         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
48248         * lib/close-stream.c (close_stream): Mention the possible EPIPE
48249         failure.
48250         * modules/closeout (Depends-on): Add stdbool.
48251
48252 2008-10-05  Bruno Haible  <bruno@clisp.org>
48253
48254         * modules/accept: New file.
48255         * modules/bind: New file.
48256         * modules/connect: New file.
48257         * modules/getpeername: New file.
48258         * modules/getsockname: New file.
48259         * modules/getsockopt: New file.
48260         * modules/listen: New file.
48261         * modules/recv: New file.
48262         * modules/recvfrom: New file.
48263         * modules/send: New file.
48264         * modules/sendto: New file.
48265         * modules/setsockopt: New file.
48266         * modules/socket: New file.
48267         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
48268         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
48269         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
48270         the particular module is requested. Add a link warning when the
48271         particular module is not requested.
48272         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
48273         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
48274         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
48275         the particular module is requested.
48276         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
48277         gl_SYS_SOCKET_H_DEFAULTS): New macros.
48278         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
48279         * modules/sys_socket (Depends-on): Add link-warning.
48280         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
48281         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
48282         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
48283         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
48284         GL_LINK_WARNING.
48285         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
48286         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
48287         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
48288         * doc/posix-functions/getpeername.texi: Mention the new module
48289         'getpeername'.
48290         * doc/posix-functions/getsockname.texi: Mention the new module
48291         'getsockname'.
48292         * doc/posix-functions/getsockopt.texi: Mention the new module
48293         'getsockopt'.
48294         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
48295         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
48296         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
48297         * doc/posix-functions/send.texi: Mention the new module 'send'.
48298         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
48299         * doc/posix-functions/setsockopt.texi: Mention the new module
48300         'setsockopt'.
48301         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
48302         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
48303         listen, connect, accept.
48304         * modules/select-tests (Depends-on): Likewise.
48305
48306 2008-10-05  Bruno Haible  <bruno@clisp.org>
48307
48308         * lib/winsock.c (strerror): Remove unused #undef.
48309         (rpl_close): Remove unused local variable.
48310
48311         * modules/sys_socket (Depends-on); Add errno.
48312
48313 2008-10-05  Bruno Haible  <bruno@clisp.org>
48314
48315         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
48316         (select): Add a link warning when the 'select' module is not used.
48317         * modules/sys_select (Depends-on): Add link-warning.
48318         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
48319         Suggested by Paolo Bonzini.
48320
48321 2008-10-05  Jim Meyering  <meyering@redhat.com>
48322
48323         bootstrap: check for LT_INIT more portably
48324         * build-aux/bootstrap: Avoid using grep -E, since it's not
48325         portable enough.  Suggestion from Bruno Haible.
48326
48327 2008-10-05  Bruno Haible  <bruno@clisp.org>
48328
48329         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
48330         as being fixed by gnulib.
48331
48332 2008-10-05  Bruno Haible  <bruno@clisp.org>
48333
48334         * modules/select-tests: New file, mostly copied from
48335         modules/sys_select-tests.
48336         * tests/test-select.c: New file, mostly copied from
48337         tests/test-sys_select.c.
48338         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
48339         * modules/sys_select-tests (Depends-on): Remove all dependencies.
48340         (Makefile.am): Remove test_sys_select_LDADD.
48341
48342         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
48343         to an undefined symbol, for an error message.
48344         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
48345         (gl_SYS_SELECT_H_DEFAULTS): New macro.
48346         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
48347         winsock-select.c here.
48348         * modules/sys_select (Files): Remove lib/winsock-select.c.
48349         (Depends-on): Remove alloca.
48350         (Makefile.am): Substitute GNULIB_SELECT.
48351         * modules/select: New file.
48352         * doc/posix-functions/select.texi: Update.
48353
48354 2008-10-05  Bruno Haible  <bruno@clisp.org>
48355
48356         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
48357         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
48358         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
48359         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
48360         getdtablesize.
48361         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
48362         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
48363
48364 2008-10-05  Bruno Haible  <bruno@clisp.org>
48365
48366         * modules/getdtablesize-tests: New file.
48367         * tests/test-getdtablesize.c: New file.
48368
48369         New module 'getdtablesize'.
48370         * lib/unistd.in.h (getdtablesize): New declaration.
48371         * lib/getdtablesize.c: New file.
48372         * m4/getdtablesize.m4: New file.
48373         * modules/getdtablesize: New file.
48374         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48375         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
48376         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
48377         HAVE_GETDTABLESIZE.
48378         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
48379
48380 2008-10-05  Bruno Haible  <bruno@clisp.org>
48381
48382         * modules/sched (Makefile.am): Fix typo.
48383         Reported by Simon Josefsson.
48384
48385 2008-10-05  Jim Meyering  <meyering@redhat.com>
48386
48387         bootstrap: check for LT_INIT, too
48388         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
48389         are deprecated.  Suggestion from Ralf Wildenhues.
48390
48391 2008-10-05  Bruno Haible  <bruno@clisp.org>
48392
48393         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
48394         overriding them by ours.
48395         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
48396
48397 2008-10-05  Jim Meyering  <meyering@redhat.com>
48398
48399         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
48400         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
48401         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
48402
48403 2008-10-04  Bruno Haible  <bruno@clisp.org>
48404
48405         * modules/dup2 (License): Change to LGPLv2+.
48406         * modules/sleep (License): Likewise.
48407         * modules/perror (License): Likewise.
48408         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
48409         Blake.
48410         * modules/signal (License): Likewise.
48411         * modules/sigprocmask (License): Likewise.
48412         * modules/raise (License): Change to LGPLv2+, with approval by Jim
48413         Meyering.
48414
48415 2008-10-04  Bruno Haible  <bruno@clisp.org>
48416
48417         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
48418         Reported by Rainer Tammer <tammer@tammer.net>.
48419
48420 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
48421             Bruno Haible  <bruno@clisp.org>
48422
48423         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
48424         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
48425         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
48426
48427 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
48428
48429         filevercmp: new module
48430         * lib/filevercmp.h: New function filevercmp comparing version strings.
48431         * lib/filevercmp.c: Implementation of filevercmp function.
48432         * modules/filevercmp: Module metadata.
48433         * tests/test-filevercmp.c: Unit test for new module.
48434         * modules/filevercmp-tests: Unit test metadata.
48435         * MODULES.html.sh: Add filevercmp module.
48436
48437 2008-10-03  Bruno Haible  <bruno@clisp.org>
48438
48439         * lib/c-ctype.h: Add comment.
48440         Reported by Jim Meyering.
48441
48442 2008-10-02  Bruno Haible  <bruno@clisp.org>
48443
48444         * modules/posix_spawn-internal (Depends-on): Add 'open'.
48445
48446 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48447
48448         * build-aux/bootstrap: Allow renaming bootstrap, and change the
48449         name of bootstrap.conf accordingly.
48450
48451 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48452
48453         * build-aux/bootstrap: Install git-merge-changelog configuration
48454         items into .gitconfig if needed.
48455
48456 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
48457
48458         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
48459         git repository, and initialize/update it accordingly.
48460
48461 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
48462
48463         * modules/fsync-tests: New file.
48464         * tests/test-fsync.c: New file.
48465
48466         New module 'fsync'.
48467         * lib/fsync.c: New file.
48468         * m4/fsync.m4: New file.
48469         * modules/fsync: New file.
48470         * lib/unistd.in.h (fsync): New declaration.
48471         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
48472         GNULIB_FSYNC and HAVE_FSYNC.
48473         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
48474         * MODULES.html.sh (posix_functions): Add fsync.
48475         * doc/posix-functions/fsync.texi: Mention the new module.
48476
48477 2008-10-02  Jim Meyering  <meyering@redhat.com>
48478
48479         fts.c: sync with similar code from coreutils' remove.c
48480         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
48481         Guard also with "#if defined __linux__", since for now at least,
48482         this code is Linux-kernel-specific.
48483
48484 2008-10-02  Jim Meyering  <meyering@redhat.com>
48485
48486         fts: bug fixes
48487         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
48488         Include <sys/vfs.h>, not <sys/statfs.h>.
48489
48490         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
48491         Include <sys/vfs.h>, not <sys/statfs.h>.
48492
48493 2008-10-01  Bruno Haible  <bruno@clisp.org>
48494
48495         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
48496         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
48497         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
48498         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
48499         * doc/posix-functions/posix_spawnp.texi: Likewise.
48500         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
48501         whether posix_spawn actually works.
48502         * m4/pipe.m4 (gl_PIPE): Likewise.
48503         * modules/execute (Files): Add m4/posix_spawn.m4.
48504         * modules/pipe (Files): Add m4/posix_spawn.m4.
48505         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
48506
48507 2008-10-01  Jim Meyering  <meyering@redhat.com>
48508
48509         remove trailing spaces
48510         * NEWS: Likewise.
48511         * lib/poll.c (poll): Likewise.
48512         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
48513         * lib/winsock.c (rpl_close): Likewise.
48514         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
48515         * modules/yield: Likewise.
48516         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
48517         * tests/test-sys_select.c (connect_to_socket): Likewise.
48518
48519         fts.c: adjust a new interface to be more generally useful
48520         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
48521         (fts_build): Adjust caller.
48522
48523 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48524
48525         * modules/cond-tests: New file.
48526         * tests/test-cond.c: New file.
48527
48528 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48529             Bruno Haible  <bruno@clisp.org>
48530
48531         * modules/cond (Dependencies): Add errno, time.
48532         * lib/glthread/cond.h: Include <time.h>.
48533         (gl_cond_define, gl_cond_define_initialized): Use the same definition
48534         across platforms.
48535
48536 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48537             Bruno Haible  <bruno@clisp.org>
48538
48539         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
48540
48541 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48542             Bruno Haible  <bruno@clisp.org>
48543
48544         * modules/tls-tests (Depends-on): Add thread, yield.
48545         (configure.ac): Remove all checks.
48546         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
48547         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48548         gl_thread_self): Remove definitions. Include glthread/thread.h and
48549         glthread/yield.h instead.
48550         (test_tls): Pass an additional NULL argument to gl_thread_join.
48551
48552 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48553             Bruno Haible  <bruno@clisp.org>
48554
48555         * modules/lock-tests (Depends-on): Add thread, yield.
48556         (configure.ac): Remove all checks.
48557         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
48558         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
48559         gl_thread_self): Remove definitions. Include glthread/thread.h and
48560         glthread/yield.h instead.
48561         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
48562         additional NULL argument to gl_thread_join.
48563
48564 2008-09-30  Bruno Haible  <bruno@clisp.org>
48565
48566         Fix the Win32 implementation of the 'thread' module.
48567         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
48568         pointer type.
48569         (gl_thread_self): Invoke gl_thread_self_func.
48570         (gl_thread_self_func): New declaration.
48571         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
48572         (do_init_self_key, init_self_key): New functions.
48573         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
48574         Remove some fields.
48575         (running_threads, running_lock): Remove variables.
48576         (get_current_thread_handle): New function.
48577         (gl_thread_self_func, wrapper_func, glthread_create_func,
48578         glthread_join_func, gl_thread_exit_func): Largely rewritten and
48579         simplified.
48580
48581 2008-09-30  Bruno Haible  <bruno@clisp.org>
48582
48583         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
48584         files.
48585
48586 2008-09-30  Jim Meyering  <meyering@redhat.com>
48587
48588         fts.m4: correct the test for statfs.f_type
48589         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
48590         when checking for statfs.f_type.
48591
48592 2008-09-15  Simon Josefsson  <simon@josefsson.org>
48593
48594         tests: avoid some compiler warnings
48595         * tests/test-memchr.c (main): Pass NULL indirectly.
48596         * tests/test-getdate.c (main): Remove unused variable 'ret'.
48597
48598 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
48599
48600         getdate.y: disallow countable dayshifts like "4 yesterday ago"
48601         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
48602         exactly specified dayshifts.
48603         (dayshift): New rule.
48604         (rel): Add dayshift.
48605         (relative_time_table) [tomorrow, yesterday, today, now]:
48606         Use tDAY_SHIFT in place of tDAY_UNIT.
48607         * tests/test-getdate.c: Add tests for now-disallowed countable
48608         dayshifts, e.g., "4 yesterday ago".
48609
48610 2008-09-29  Bruno Haible  <bruno@clisp.org>
48611
48612         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
48613         * tests/test-posix_spawn1.in.sh: Renamed from
48614         tests/test-posix_spawn.in.sh.
48615         * tests/test-posix_spawn2.c: New file.
48616         * tests/test-posix_spawn2.in.sh: New file.
48617         * modules/posix_spawnp-tests (Files): Update.
48618         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
48619
48620 2008-09-29  Bruno Haible  <bruno@clisp.org>
48621
48622         Propagate effects of putenv/setenv/unsetenv to child processes.
48623         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
48624         * lib/pipe.c (create_pipe): Likewise.
48625
48626 2008-09-29  Bruno Haible  <bruno@clisp.org>
48627
48628         Enable use of shell scripts as executables in mingw.
48629         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
48630         run the program as a shell script.
48631         * lib/pipe.c (create_pipe): Likewise.
48632         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
48633         resulting array.
48634
48635 2008-09-29  Eric Blake  <ebb9@byu.net>
48636
48637         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
48638
48639 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
48640
48641         * doc/posix-functions/accept.texi: Update mingw problems.
48642         * doc/posix-functions/bind.texi: Update mingw problems.
48643         * doc/posix-functions/close.texi: Update mingw problems.
48644         * doc/posix-functions/connect.texi: Update mingw problems.
48645         * doc/posix-functions/getpeername.texi: Update mingw problems.
48646         * doc/posix-functions/getsockname.texi: Update mingw problems.
48647         * doc/posix-functions/getsockopt.texi: Update mingw problems.
48648         * doc/posix-functions/ioctl.texi: Update mingw problems.
48649         * doc/posix-functions/listen.texi: Update mingw problems.
48650         * doc/posix-functions/recv.texi: Update mingw problems.
48651         * doc/posix-functions/recvfrom.texi: Update mingw problems.
48652         * doc/posix-functions/select.texi: Update mingw problems.
48653         * doc/posix-functions/send.texi: Update mingw problems.
48654         * doc/posix-functions/sendto.texi: Update mingw problems.
48655         * doc/posix-functions/setsockopt.texi: Update mingw problems.
48656         * doc/posix-functions/socket.texi: Update mingw problems.
48657
48658 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
48659             Bruno Haible  <bruno@clisp.org>
48660
48661         * lib/sys_select.in.h: Include sys/time.h.
48662         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
48663         * modules/sys_select: Depend on sys_time.
48664         * tests/test-sys_select.c: Test that sys/select.h defines struct
48665         timeval fully.
48666
48667 2008-09-29  Bruno Haible  <bruno@clisp.org>
48668
48669         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
48670         * lib/sys_select.in.h: Likewise.
48671
48672 2008-09-29  Bruno Haible  <bruno@clisp.org>
48673
48674         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
48675
48676 2008-09-29  Bruno Haible  <bruno@clisp.org>
48677
48678         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
48679         Set LIBSOCKET instead of augmenting LIBS.
48680         * modules/sockets (Link): New section.
48681         * modules/sockets-tests (test_sockets_LDADD): New variable.
48682         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
48683         * modules/poll-tests (test_poll_LDADD): New variable.
48684         * NEWS: Document the change.
48685
48686 2008-09-29  Bruno Haible  <bruno@clisp.org>
48687
48688         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
48689         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
48690         ARPA_INET_H directly.
48691         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
48692
48693 2008-09-28  Bruno Haible  <bruno@clisp.org>
48694
48695         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
48696         from gl_HEADER_SYS_SOCKET.
48697         (gl_HEADER_SYS_SOCKET): Invoke it.
48698         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48699
48700 2008-09-28  Bruno Haible  <bruno@clisp.org>
48701
48702         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
48703         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
48704         Needed on OSF/1 4.0.
48705
48706 2008-09-28  Bruno Haible  <bruno@clisp.org>
48707
48708         Override open more carefully.
48709         * lib/open.c (orig_open): New function.
48710         (rpl_open): Use orig_open instead of open.
48711         * lib/fcntl.in.h: Add special invocation convention.
48712         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
48713         (gl_FUNC_OPEN): Invoke it.
48714
48715         Override freopen more carefully.
48716         * lib/freopen.c (orig_freopen): New function.
48717         (rpl_freopen): Use orig_freopen instead of freopen.
48718         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
48719         (gl_FUNC_FREOPEN): Invoke it.
48720
48721         Override fopen more carefully.
48722         * lib/fopen.c (orig_fopen): New function.
48723         (rpl_fopen): Use orig_fopen instead of fopen.
48724         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
48725         (gl_FUNC_FOPEN): Invoke it.
48726         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
48727
48728 2008-09-28  Bruno Haible  <bruno@clisp.org>
48729
48730         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
48731         SIGPIPE.
48732
48733 2008-09-28  Bruno Haible  <bruno@clisp.org>
48734
48735         * tests/test-sigaction.c (handler, main): Disable the check whether
48736         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
48737         glibc systems with LinuxThreads.
48738
48739 2008-09-28  Bruno Haible  <bruno@clisp.org>
48740
48741         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
48742
48743         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
48744         with AIX xlc.
48745         * lib/fcntl.in.h (open): Likewise.
48746         Reported by Rainer Tammer <tammer@tammer.net>.
48747
48748 2008-09-28  Bruno Haible  <bruno@clisp.org>
48749
48750         * modules/posix_spawnp-tests: New file.
48751         * tests/test-posix_spawn.c: New file.
48752         * tests/test-posix_spawn.in.sh: New file.
48753
48754         New module 'posix_spawnp'.
48755         * modules/posix_spawnp: New file.
48756         * lib/spawnp.c: New file, from GNU libc with modifications.
48757         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
48758
48759         New module 'posix_spawn'.
48760         * modules/posix_spawn: New file.
48761         * lib/spawn.c: New file, from GNU libc with modifications.
48762         * doc/posix-functions/posix_spawn.texi: Mention the new module.
48763
48764         New module 'posix_spawnattr_destroy'.
48765         * modules/posix_spawnattr_destroy: New file.
48766         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
48767         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
48768         module.
48769
48770         New module 'posix_spawnattr_setsigmask'.
48771         * modules/posix_spawnattr_setsigmask: New file.
48772         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
48773         modifications.
48774         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
48775         new module.
48776
48777         New module 'posix_spawnattr_getsigmask'.
48778         * modules/posix_spawnattr_getsigmask: New file.
48779         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
48780         modifications.
48781         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
48782         new module.
48783
48784         New module 'posix_spawnattr_setsigdefault'.
48785         * modules/posix_spawnattr_setsigdefault: New file.
48786         * lib/spawnattr_setdefault.c: New file, from GNU libc with
48787         modifications.
48788         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
48789         new module.
48790
48791         New module 'posix_spawnattr_getsigdefault'.
48792         * modules/posix_spawnattr_getsigdefault: New file.
48793         * lib/spawnattr_getdefault.c: New file, from GNU libc with
48794         modifications.
48795         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
48796         new module.
48797
48798         New module 'posix_spawnattr_setschedpolicy'.
48799         * modules/posix_spawnattr_setschedpolicy: New file.
48800         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
48801         modifications.
48802         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
48803         new module.
48804
48805         New module 'posix_spawnattr_getschedpolicy'.
48806         * modules/posix_spawnattr_getschedpolicy: New file.
48807         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
48808         modifications.
48809         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
48810         new module.
48811
48812         New module 'posix_spawnattr_setschedparam'.
48813         * modules/posix_spawnattr_setschedparam: New file.
48814         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
48815         modifications.
48816         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
48817         new module.
48818
48819         New module 'posix_spawnattr_getschedparam'.
48820         * modules/posix_spawnattr_getschedparam: New file.
48821         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
48822         modifications.
48823         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
48824         new module.
48825
48826         New module 'posix_spawnattr_setpgroup'.
48827         * modules/posix_spawnattr_setpgroup: New file.
48828         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
48829         modifications.
48830         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
48831         module.
48832
48833         New module 'posix_spawnattr_getpgroup'.
48834         * modules/posix_spawnattr_getpgroup: New file.
48835         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
48836         modifications.
48837         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
48838         module.
48839
48840         New module 'posix_spawnattr_setflags'.
48841         * modules/posix_spawnattr_setflags: New file.
48842         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
48843         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
48844         module.
48845
48846         New module 'posix_spawnattr_getflags'.
48847         * modules/posix_spawnattr_getflags: New file.
48848         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
48849         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
48850         module.
48851
48852         New module 'posix_spawnattr_init'.
48853         * modules/posix_spawnattr_init: New file.
48854         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
48855         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
48856         module.
48857
48858         New module 'posix_spawn_file_actions_destroy'.
48859         * modules/posix_spawn_file_actions_destroy: New file.
48860         * lib/spawn_faction_destroy.c: New file, from GNU libc with
48861         modifications.
48862         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
48863         the new module.
48864
48865         New module 'posix_spawn_file_actions_addopen'.
48866         * modules/posix_spawn_file_actions_addopen: New file.
48867         * lib/spawn_faction_addopen.c: New file, from GNU libc with
48868         modifications.
48869         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
48870         the new module.
48871
48872         New module 'posix_spawn_file_actions_adddup2'.
48873         * modules/posix_spawn_file_actions_adddup2: New file.
48874         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
48875         modifications.
48876         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
48877         the new module.
48878
48879         New module 'posix_spawn_file_actions_addclose'.
48880         * modules/posix_spawn_file_actions_addclose: New file.
48881         * lib/spawn_faction_addclose.c: New file, from GNU libc with
48882         modifications.
48883         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
48884         the new module.
48885
48886         New module 'posix_spawn_file_actions_init'.
48887         * modules/posix_spawn_file_actions_init: New file.
48888         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
48889         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
48890         new module.
48891
48892         New module 'posix_spawn-internal'.
48893         * modules/posix_spawn-internal: New file.
48894         * lib/spawn_int.h: New file, from GNU libc with modifications.
48895         * lib/spawni.c: New file, from GNU libc with modifications.
48896         * m4/posix_spawn.m4: New file.
48897
48898         New module 'spawn'.
48899         * modules/spawn: New file.
48900         * lib/spawn.in.h: New file, from GNU libc with modifications.
48901         * m4/spawn_h.m4: New file.
48902         * doc/posix-headers/spawn.texi: Mention the new module.
48903
48904 2008-09-28  Bruno Haible  <bruno@clisp.org>
48905
48906         * modules/sched-tests: New file.
48907         * tests/test-sched.c: New file.
48908
48909         New module 'sched'.
48910         * modules/sched: New file.
48911         * lib/sched.in.h: New file.
48912         * m4/sched_h.m4: New file.
48913         * doc/posix-headers/sched.texi: Mention the new module.
48914
48915 2008-09-27  Eric Blake  <ebb9@byu.net>
48916
48917         Fix previous patch, and tweak references to $0.
48918         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
48919         (func_version, func_gnulib_dir): Don't call this program
48920         gnulib-tool.
48921         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
48922         with using $0 in function.
48923         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
48924         (func_fatal_error): Reuse the name the user invoked us with.
48925
48926 2008-09-27  Bruno Haible  <bruno@clisp.org>
48927
48928         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
48929         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
48930         (gl_ICONV_H): Not here.
48931         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
48932         instead of assigning ICONV_H directly.
48933
48934         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
48935         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
48936         WCHAR_H directly.
48937
48938 2008-09-27  Bruno Haible  <bruno@clisp.org>
48939
48940         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
48941         * modules/arpa_inet (Depends-on): Add link-warning.
48942         (Makefile.am): Insert the definition of GL_LINK-WARNING.
48943         * modules/unistd (Makefile.am): Likewise.
48944
48945 2008-09-26  Bruno Haible  <bruno@clisp.org>
48946
48947         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
48948         variables.
48949         (func_version): Essentially copied from gnulib-tool.
48950         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
48951         func_readlink): Copied from gnulib-tool.
48952
48953 2008-09-26  Bruno Haible  <bruno@clisp.org>
48954
48955         * gnulib-tool (func_version): Change directory to $gnulib_dir before
48956         invoking git-version-gen.
48957
48958 2008-09-26  Bruno Haible  <bruno@clisp.org>
48959
48960         * posix-modules: Update to directory names changed on 2008-01-19.
48961         Remove commas in output before splitting into words. No more need to
48962         avoid 'ftruncate' since 2007-02-19.
48963
48964 2008-09-26  Bruno Haible  <bruno@clisp.org>
48965
48966         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
48967
48968 2008-09-26  Bruno Haible  <bruno@clisp.org>
48969
48970         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
48971         * modules/fwriteerror (Depends-on): Add errno.
48972
48973 2008-09-26  Bruno Haible  <bruno@clisp.org>
48974
48975         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
48976         * tests/test-vc-list-files-cvs.sh: Likewise.
48977
48978 2008-09-26  Bruno Haible  <bruno@clisp.org>
48979
48980         * doc/posix-headers/sys_resource.texi: Reorder items.
48981
48982 2008-09-26  Jim Meyering  <meyering@redhat.com>
48983
48984         fts: tweak inode comparison function
48985         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
48986         inode numbers, as documented.
48987
48988         fts: sort dirent entries on inode number before traversing
48989         This avoids a quadratic, seek-related performance penalty when
48990         operating on a directory containing many entries (measurable at 10k;
48991         3.5 hours at 2 million entries with a cold cache) on certain types
48992         of file systems, including ext3 and ext4, but not tmpfs.
48993         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
48994         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
48995         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
48996         (fs_handles_readdir_ordered_dirents_efficiently): New function.
48997         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
48998         (fts_build): Set the stat.st_ino member from D_INO.
48999         If it is likely to be useful, sort dirent entries on inode number.
49000
49001         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
49002         and the struct statfs.f_type member.
49003         * modules/fts (Depends-on): Add d-ino.
49004
49005 2008-09-26  Bruno Haible  <bruno@clisp.org>
49006
49007         * modules/sigpipe-die (Depends-on): Add sigpipe.
49008
49009         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
49010         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
49011         and GNULIB_STDIO_H_SIGPIPE are set.
49012         * lib/stdio-write.c: New file.
49013         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
49014         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49015         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49016         REPLACE_STDIO_WRITE_FUNCS.
49017         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
49018         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49019         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49020         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49021         * modules/stdio (Files): Add lib/stdio-write.c.
49022         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
49023         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
49024         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
49025         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
49026         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
49027         REPLACE_FPRINTF_POSIX.
49028         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
49029         REPLACE_PRINTF_POSIX.
49030         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
49031         REPLACE_VFPRINTF_POSIX.
49032         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
49033         REPLACE_VPRINTF_POSIX.
49034         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
49035         SIGPIPE issue.
49036         * doc/posix-functions/fputc.texi: Likewise.
49037         * doc/posix-functions/fputs.texi: Likewise.
49038         * doc/posix-functions/fwrite.texi: Likewise.
49039         * doc/posix-functions/printf.texi: Likewise.
49040         * doc/posix-functions/putc.texi: Likewise.
49041         * doc/posix-functions/putchar.texi: Likewise.
49042         * doc/posix-functions/puts.texi: Likewise.
49043         * doc/posix-functions/vfprintf.texi: Likewise.
49044         * doc/posix-functions/vprintf.texi: Likewise.
49045
49046         * modules/safe-write (Depends-on): Add write.
49047
49048         * modules/sigpipe-tests: New file.
49049         * tests/test-sigpipe.c: New file.
49050         * tests/test-sigpipe.sh: New file.
49051
49052         * modules/write: New file.
49053         * lib/unistd.in.h: Include <sys/types.h>.
49054         (write): New declaration.
49055         * lib/write.c: New file.
49056         * m4/write.m4: New file.
49057         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49058         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
49059         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
49060         GNULIB_WRITE, REPLACE_WRITE.
49061         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
49062         and the SIGPIPE issue.
49063
49064         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
49065         (raise): New declaration.
49066         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
49067         (ext_signal): New function.
49068         (rpl_raise): New function.
49069         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
49070         GNULIB_SIGNAL_H_SIGPIPE.
49071         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
49072         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
49073
49074         * modules/sigpipe: New file.
49075         * m4/sigpipe.m4: New file.
49076
49077 2008-09-25  Derek Price  <derek@ximbiot.com>
49078             Bruno Haible  <bruno@clisp.org>
49079
49080         * gnulib-tool (func_import): Report all license incompatibilities, not
49081         just the first one.
49082
49083 2008-09-25  Bruno Haible  <bruno@clisp.org>
49084
49085         * gnulib-tool (func_import): When computing the edits, consider not
49086         only the Makefile.ams that exist but also those that will be generated.
49087
49088 2008-09-25  Simon Josefsson  <simon@josefsson.org>
49089
49090         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
49091         fixes gnulib-tool --test warning about duplicate dependency.
49092
49093 2008-09-25  Bruno Haible  <bruno@clisp.org>
49094
49095         * gnulib-tool: Don't ask the user to perform edits in the generated
49096         Makefile.ams.
49097         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
49098         apply to the Makefile.am being generated.
49099         (func_emit_tests_Makefile_am): Execute edits that apply to the
49100         Makefile.am being generated.
49101         (func_import): Setup list of Makefile.am edits before emitting the
49102         Makefile.ams, not at the end.
49103         (func_create_testdir): Update.
49104         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49105
49106 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49107
49108         * gnulib-tool (func_import): Store the --tests-base option in the
49109         comment in gnulib-cache.m4.
49110
49111 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
49112
49113         * NEWS: Document increased portability that sys_select now provides.
49114
49115         * lib/sys_select.in.h: Install select wrapper.
49116         * lib/sys_socket.in.h: Use more descriptive name when there is no
49117         select wrapper.
49118         * lib/winsock-select.c: New.
49119         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
49120         Require gl_HEADER_SYS_SOCKET.
49121         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
49122         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
49123         * tests/test-sys_select.c: Add functional tests.
49124
49125 2008-09-24  Eric Blake  <ebb9@byu.net>
49126
49127         open, fopen: close fd leak in last patch
49128         * lib/open.c (rpl_open): Close fd before returning error.
49129         * lib/fopen.c (rpl_fopen): Close fd before returning error.
49130         * doc/posix-functions/open.texi (open): Document that Irix also
49131         has the bug.
49132         * doc/posix-functions/fopen.texi (fopen): Likewise.
49133         Reported by Paolo Bonzini.
49134
49135 2008-09-24  Bruno Haible  <bruno@clisp.org>
49136
49137         Ensure that a filename ending in a slash cannot be used to access a
49138         non-directory.
49139         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
49140         to check whether it's really a directory.
49141         * lib/fopen.c: Include fcntl.h, unistd.h.
49142         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
49143         and fdopen().
49144         * modules/fopen (Depends-on): Add unistd.
49145         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
49146         * tests/test-fopen.c (main): Likewise.
49147         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
49148         * doc/posix-functions/fopen.texi: Likewise.
49149         Reported by Eric Blake.
49150
49151 2008-09-23  Eric Blake  <ebb9@byu.net>
49152
49153         c-stack: avoid compiler optimizations when provoking overflow
49154         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
49155         recursion harder to optimize, to ensure a stack overflow occurs.
49156         * tests/test-c-stack.c (recurse): Likewise.
49157         Borrowed from libsigsegv.
49158
49159         c-stack: work around Irix sigaltstack bug
49160         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
49161         whether sigaltstack uses wrong end of stack_t (copied in part from
49162         libsigsegv).
49163         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
49164         Irix bug, without requiring an over-allocation.
49165         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
49166         bug.
49167
49168         fopen: document mingw bug on directories
49169         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
49170         not allowing a stream visiting a directory, even though reading
49171         from such a stream is not portable.
49172
49173 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49174
49175         * lib/poll.c: Rewrite.
49176         * modules/poll: Depend on alloca.
49177
49178 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49179
49180         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
49181         instead define prototypes for a full set of wrappers.  Ensure
49182         that Cygwin does not use the compatibility code, which is only
49183         for MinGW.
49184         * lib/winsock.c: New.
49185         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
49186         * modules/sys_socket: Add lib/winsock.c.
49187
49188         * modules/poll-tests: Add errno and perror.
49189         * tests/test-poll.c: Use ioctl, not ioctlsocket.
49190
49191 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
49192
49193         * tests/test-poll.c: Downgrade minimum needed Winsock version.
49194
49195 2008-09-23  Bruno Haible  <bruno@clisp.org>
49196
49197         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
49198         * doc/glibc-functions/*: Likewise.
49199
49200 2008-09-23  Simon Josefsson  <simon@josefsson.org>
49201
49202         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
49203         success.
49204
49205 2008-09-22  Eric Blake  <ebb9@byu.net>
49206             Bruno Haible  <bruno@clisp.org>
49207
49208         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
49209         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
49210         supply %A but mishandle pseudo-NaN.
49211         Reported by Simon Josefsson.
49212
49213 2008-09-21  Bruno Haible  <bruno@clisp.org>
49214
49215         * tests/test-lock.c (main): Tweak skip message.
49216         * tests/test-tls.c (main): Likewise.
49217
49218 2008-09-21  Bruno Haible  <bruno@clisp.org>
49219
49220         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
49221         whether 'struct sigaction' has sa_sigaction here...
49222         (gl_PREREQ_SIG_HANDLER_H): ... not here.
49223         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
49224
49225 2008-09-21  Bruno Haible  <bruno@clisp.org>
49226
49227         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
49228         section.
49229         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
49230         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
49231         the new section.
49232         (Support for obsolete systems lacking POSIX:2001): New section.
49233         (String handling <string.h>): Move strdup to the new section.
49234         Suggested by Simon Josefsson and Paolo Bonzini.
49235
49236 2008-09-21  Bruno Haible  <bruno@clisp.org>
49237
49238         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
49239         exponents in %e and %g results on 'long double'. Needed for mingw's
49240         improved *printf functions.
49241         * tests/test-vasprintf-posix.c (test_function): Likewise.
49242         * tests/test-snprintf-posix.h (test_function): Likewise.
49243         * tests/test-sprintf-posix.h (test_function): Likewise.
49244         Reported by Eric Blake.
49245
49246 2008-09-21  Bruno Haible  <bruno@clisp.org>
49247
49248         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
49249         * tests/test-sprintf-posix.h (test_function): Likewise.
49250
49251 2008-09-21  Bruno Haible  <bruno@clisp.org>
49252
49253         * modules/getpass (Depends-on): Add strdup-posix.
49254
49255         New module 'strdup-posix'.
49256         * modules/strdup-posix: New file.
49257         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
49258         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
49259         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49260         REPLACE_STRDUP.
49261         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
49262         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
49263         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49264         strdup-posix.
49265
49266         * modules/strdup (Depends-on): Remove malloc-posix.
49267
49268 2008-09-20  Bruno Haible  <bruno@clisp.org>
49269
49270         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
49271         Wildenhues.
49272
49273 2008-09-20  Bruno Haible  <bruno@clisp.org>
49274
49275         Ensure that wint_t gets defined on IRIX 5.3.
49276         * lib/wchar.in.h (wint_t): Define if not defined by the system.
49277         * lib/wctype.in.h (wint_t): Likewise.
49278         (__wctype_wint_t): Remove type.
49279         (isw*): Use wint_t instead of __wctype_wint_t.
49280         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
49281         * modules/wchar (Files): Add m4/wint_t.m4.
49282         (Makefile.am): Substitute HAVE_WINT_T.
49283         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
49284         * tests/test-wctype.c: Check that wint_t is defined.
49285         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
49286         * doc/posix-headers/wctype.texi: Likewise.
49287         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49288
49289 2008-09-18  Bruno Haible  <bruno@clisp.org>
49290
49291         * gnulib-tool (func_exit): Update comment.
49292
49293 2008-09-18  Simon Josefsson  <simon@josefsson.org>
49294
49295         * modules/getaddrinfo (Depends-on): Remove strdup, this module
49296         assumes strdup exists and does not depend on strdup to return
49297         ENOMEM on out of memory conditions.
49298
49299 2008-09-18  Bruno Haible  <bruno@clisp.org>
49300
49301         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
49302         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
49303         digits for the exponent.
49304
49305 2008-09-18  Jim Meyering  <meyering@redhat.com>
49306             Bruno Haible  <bruno@clisp.org>
49307
49308         * lib/vasnprintf.c (decimal_point_char): Define also if
49309         NEED_PRINTF_INFINITE_LONG_DOUBLE.
49310
49311 2008-09-16  Bruno Haible  <bruno@clisp.org>
49312         and Eric Blake  <ebb9@byu.net>
49313
49314         vasnprintf: support Irix 5.3
49315         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
49316         that mishandle long double infinity.
49317         Reported by Tom G. Christensen.
49318
49319 2008-09-16  Bruno Haible  <bruno@clisp.org>
49320
49321         * doc/glibc-functions/scandir.texi: Mention the function is missing on
49322         Solaris 9.
49323         * doc/glibc-functions/alphasort.texi: Likewise.
49324         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
49325
49326 2008-09-16  Jim Meyering  <meyering@redhat.com>
49327
49328         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
49329         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
49330         a umask modification leak out of a subshell.  Otherwise, the
49331         opensolaris /bin/sh would be accepted and thus cause unwarranted
49332         failures in the coreutils test suite.
49333
49334 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
49335
49336         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
49337         to succeed.
49338
49339 2008-09-16  Jim Meyering  <meyering@redhat.com>
49340
49341         avoid spurious test failure when library is built without ACL support
49342         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
49343         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
49344         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
49345         * tests/test-copy-acl.sh: Likewise.
49346
49347 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49348
49349         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
49350         based on character occurrence counts.
49351
49352 2008-09-15  Eric Blake  <ebb9@byu.net>
49353
49354         tests: avoid some compiler warnings
49355         * tests/test-memchr.c (main): Pass NULL indirectly.
49356         * tests/test-closein.c (main): Avoid unused variable.
49357
49358 2008-09-15  Bruno Haible  <bruno@clisp.org>
49359
49360         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
49361         are missing on OpenBSD 4.0 individually.
49362         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49363
49364 2008-09-15  Bruno Haible  <bruno@clisp.org>
49365
49366         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
49367         * doc/posix-functions/strerror.texi: Mention also Cygwin.
49368         * doc/posix-functions/perror.texi: Likewise.
49369         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
49370         is missing.
49371         Reported by Eric Blake.
49372
49373         * lib/errno.in.h: Use replacement values >= 2000.
49374         Reported by Eric Blake.
49375
49376 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49377
49378         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
49379         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
49380         limit.
49381         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
49382         compareseq was aborted.
49383
49384 2008-09-14  Bruno Haible  <bruno@clisp.org>
49385
49386         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
49387         yvec_edit_count.
49388         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
49389         (fstrcmp_bounded): Simplify result computation accordingly.
49390
49391 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49392
49393         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
49394         (fstrcmp): Define in terms of fstrcmp_bounded.
49395         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
49396         lower_bound argument.
49397         Return quickly if the result is certainly < lower_bound.
49398         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
49399
49400 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49401
49402         * lib/diffseq.h (EARLY_ABORT): New macro.
49403         (compareseq): Change return type to bool. Return true when EARLY_ABORT
49404         evaluates to true.
49405
49406 2008-09-14  Bruno Haible  <bruno@clisp.org>
49407
49408         * modules/perror-tests: New file.
49409         * tests/test-perror.sh: New file.
49410         * tests/test-perror.c: New file.
49411
49412         New module 'perror'.
49413         * lib/stdio.in.h (perror): New declaration.
49414         * lib/perror.c: New file.
49415         * m4/perror.m4: New file.
49416         * modules/perror: New file.
49417         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
49418         * doc/posix-functions/perror.texi: Mention the perror module.
49419         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
49420         REPLACE_PERROR.
49421         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
49422         REPLACE_PERROR.
49423
49424 2008-09-14  Bruno Haible  <bruno@clisp.org>
49425
49426         * modules/stdio (Makefile.am): Reorder to match the order in
49427         lib/stdio.in.h.
49428         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49429
49430 2008-09-13  Bruno Haible  <bruno@clisp.org>
49431
49432         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
49433
49434 2008-09-13  Bruno Haible  <bruno@clisp.org>
49435
49436         Extend strerror to cover the added errno values.
49437         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
49438         (rpl_strerror): Provide error messages for the added errno values and
49439         for the WSA* values.
49440         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
49441         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
49442         strerror.
49443         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
49444         * modules/strerror (Depends-on): Add errno.
49445         * doc/posix-functions/strerror.texi: Document the change.
49446         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
49447         and EOVERFLOW.
49448
49449 2008-09-13  Bruno Haible  <bruno@clisp.org>
49450
49451         * modules/EOVERFLOW: Remove file.
49452         * m4/eoverflow.m4: Remove file.
49453         * modules/EOVERFLOW-tests: Remove file.
49454         * tests/test-EOVERFLOW.c: Remove file.
49455         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
49456         * modules/ftell (Depends-on): Likewise.
49457         * modules/getdelim (Depends-on): Likewise.
49458         * modules/getugroups (Depends-on): Likewise.
49459         * modules/poll (Depends-on): Likewise.
49460         * modules/snprintf (Depends-on): Likewise.
49461         * modules/sprintf-posix (Depends-on): Likewise.
49462         * modules/vasnprintf (Depends-on): Likewise.
49463         * modules/vasprintf (Depends-on): Likewise.
49464         * modules/vfprintf-posix (Depends-on): Likewise.
49465         * modules/vsnprintf (Depends-on): Likewise.
49466         * modules/vsprintf-posix (Depends-on): Likewise.
49467         * modules/xvasprintf (Depends-on): Likewise.
49468         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49469         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
49470         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
49471         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
49472         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49473         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
49474         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
49475         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
49476         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49477         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
49478         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
49479         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
49480         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49481         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
49482         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
49483         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
49484         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49485         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
49486         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
49487         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
49488         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49489         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
49490         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
49491         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
49492         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
49493         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49494         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
49495         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
49496         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
49497         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
49498         * MODULES.html.sh: Remove EOVERFLOW.
49499         * NEWS: Mention the change.
49500
49501 2008-09-13  Bruno Haible  <bruno@clisp.org>
49502
49503         * modules/errno-tests: New file.
49504         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
49505
49506         * lib/errno.in.h: New file.
49507         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
49508         * modules/errno: New file.
49509         * doc/posix-headers/errno.texi: Update documentation.
49510         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
49511
49512 2008-09-13  Bruno Haible  <bruno@clisp.org>
49513
49514         * tests/test-poll.c: Use #if for native Windows, rather than testing
49515         __MSVCRT__.
49516
49517 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49518             Bruno Haible  <bruno@clisp.org>
49519
49520         * lib/glob.c: Don't include <pwd.h> on native Windows.
49521         (WINDOWS32): New macro.
49522         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
49523
49524 2008-09-13  Bruno Haible  <bruno@clisp.org>
49525
49526         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
49527         (ETIMEDOUT): Remove macro.
49528         (glthread_cond_timedwait_multithreaded): New declaration.
49529         (glthread_cond_timedwait): Use it.
49530         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
49531         (glthread_cond_timedwait_multithreaded): New function.
49532
49533 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49534
49535         * modules/poll-tests: Do not check for io.h.
49536         * tests/test-poll.c: Check for __MSVCRT__ instead.
49537
49538 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49539
49540         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
49541         * modules/poll-tests: Add inet_pton, stdbool, sockets.
49542         * tests/test-poll.c: Use them.  Use _pipe on Windows.
49543
49544 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
49545
49546         * modules/poll-tests: New.
49547         * tests/test-poll.c: New.
49548
49549 2008-09-12  Eric Blake  <ebb9@byu.net>
49550
49551         frexp: test for NetBSD failure on -0.0
49552         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
49553         not all, bugs from NetBSD 3.0 have been fixed.
49554         * doc/posix-functions/frexp.texi (frexp): Document bug.
49555         Reported by Thomas Klausner.
49556
49557         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
49558         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
49559         literal -0.0.
49560         Reported by Jonathan C. Patschke <jp@centtech.com>.
49561
49562 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49563
49564         * lib/glthread/cond.h: Use dummy implementation also if
49565         USE_WIN32_THREADS.
49566
49567 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49568
49569         * modules/fnmatch-posix (License): Change to LGPLv2+.
49570         * modules/fnmatch-gnu (License): Likewise.
49571
49572 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49573
49574         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
49575
49576 2008-09-11  Jim Meyering  <meyering@redhat.com>
49577
49578         * users.txt: Add gtk-vnc.
49579
49580 2008-09-08  Simon Josefsson  <simon@josefsson.org>
49581
49582         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
49583         rotate amounts.
49584
49585         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
49586         required for 16-bit and 8-bit rotates.
49587         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
49588         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
49589         UINT8_MAX instead of hard-coded constants.
49590         Suggested by Paul Eggert.
49591
49592 2008-09-07  Bruno Haible  <bruno@clisp.org>
49593
49594         * tests/test-striconveh.c (main): Check behaviour when converting from
49595         UTF-7.
49596
49597         Make striconveh work better with stateful encodings.
49598         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
49599         that iconv does not increment the inptr when returning -1/EINVAL.
49600
49601 2008-09-07  Bruno Haible  <bruno@clisp.org>
49602
49603         * build-aux/config.rpath: Update according to libtool-2.2.6.
49604         * build-aux/config.libpath: Likewise.
49605
49606 2008-09-06  Bruno Haible  <bruno@clisp.org>
49607
49608         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
49609         * lib/freadptr.c (freadptr): Likewise.
49610         * lib/freadseek.c (freadptrinc): Likewise.
49611         Reported by Simon Josefsson.
49612
49613 2008-09-06  Bruno Haible  <bruno@clisp.org>
49614
49615         * modules/freadptr (License): Change to LGPLv2+.
49616         * modules/freadseek (License): Likewise.
49617         Suggested by Eric Blake.
49618
49619         * modules/memchr2 (License): Change to LGPLv2+.
49620         Approved by Eric Blake.
49621
49622 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49623             Bruno Haible  <bruno@clisp.org>
49624
49625         Make gnulib-tool work with native 'sed' on AIX.
49626         * gnulib-tool (sed_noop): New variable.
49627         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
49628         func_add_or_update, func_create_testdir): Use it to initialize sed
49629         script variables.
49630         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49631
49632 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
49633             Bruno Haible  <bruno@clisp.org>
49634
49635         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
49636         also works after #include directives.
49637
49638 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
49639
49640         getdate.y: reject an out-of-range timezone value
49641         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
49642         the range [-24...+24].  When specified with only one or two digits,
49643         * tests/test-getdate.c: Tests for the fix.
49644         * doc/getdate.texi: Document this change.
49645
49646 2008-09-03  Bruno Haible  <bruno@clisp.org>
49647
49648         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
49649
49650 2008-09-02  Simon Josefsson  <simon@josefsson.org>
49651
49652         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
49653         <bruce.korb@gmail.com> with ideas from Ben Pfaff
49654         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
49655         Blake <ebb9@byu.net>.
49656
49657         * tests/test-bitrotate.c: Add more test vectors.
49658
49659 2008-09-02  Eric Blake  <ebb9@byu.net>
49660
49661         vasnprintf-posix: handle large precision via %.*d
49662         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
49663         when handling it ourselves.
49664         * tests/test-vasnprintf-posix.c (test_function): Add test.
49665         * tests/test-snprintf-posix.h (test_function): Likewise.
49666         * tests/test-sprintf-posix.h (test_function): Likewise.
49667         * tests/test-vasprintf-posix.c (test_function): Likewise.
49668         Reported by Alain Guibert.
49669
49670 2008-09-01  Eric Blake  <ebb9@byu.net>
49671
49672         c-stack: make configure-time check more robust
49673         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
49674         successful sigaction call.
49675         Reported by Tom G. Christensen.
49676
49677 2008-09-01  Bruno Haible  <bruno@clisp.org>
49678
49679         New module 'findprog-lgpl'.
49680         * modules/findprog-lgpl: New file.
49681         * lib/findprog-lgpl.c: New file.
49682         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
49683         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
49684         to decide whether to use strdup or xstrdup, concatenated_filename or
49685         xconcatenated_filename.
49686
49687 2008-09-01  Bruno Haible  <bruno@clisp.org>
49688
49689         Split module 'concat-filename' into 'concat-filename' (LGPL) and
49690         'xconcat-filename' (GPL).
49691         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
49692         (License): Change to LGPLv2+.
49693         * modules/xconcat-filename: New file.
49694         * lib/concat-filename.h (concatenated_filename): Change specification.
49695         (xconcatenated_filename): New declaration.
49696         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
49697         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
49698         memory situations.
49699         * lib/xconcat-filename.c: New file.
49700         * NEWS: Mention the change.
49701         * lib/findprog.c: Include concat-filename.h, not filename.h.
49702         (find_in_path): Use xconcatenated_filename instead of
49703         concatenated_filename.
49704         * lib/javacomp.c: Include concat-filename.h, not filename.h.
49705         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
49706         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
49707         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
49708         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
49709         instead of concatenated_filename.
49710         * lib/javaexec.c: Include concat-filename.h, not filename.h.
49711         (execute_java_class): Use xconcatenated_filename instead of
49712         concatenated_filename.
49713         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
49714         * modules/javacomp (Depends-on): Likewise.
49715         * modules/javaexec (Depends-on): Likewise.
49716
49717 2008-09-01  Bruno Haible  <bruno@clisp.org>
49718
49719         Split module 'filename' into 'filename' and 'concat-filename'.
49720         * modules/filename: Keep only lib/filename.h.
49721         (License): Change to LGPLv2+.
49722         * modules/concat-filename: New file, extracted from modules/filename.
49723         * lib/filename.h (concatenated_filename): Remove declaration.
49724         * lib/concat-filename.h: New file, extracted from lib/filename.h.
49725         * lib/concat-filename.c: Include concat-filename.h.
49726         * NEWS: Mention the change.
49727
49728 2008-09-01  Simon Josefsson  <simon@josefsson.org>
49729
49730         * lib/bitrotate.h (rotl8, rotr8): Add.
49731
49732         * modules/bitrotate (configure.ac): Need
49733         AC_REQUIRE([AC_C_INLINE]).
49734         (Description): Mention stdint.h.  Reported by Bruno Haible
49735         <bruno@clisp.org>.
49736
49737         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
49738         Paolo Bonzini <bonzini@gnu.org>.
49739
49740 2008-08-31  Bruno Haible  <bruno@clisp.org>
49741
49742         Assume Solaris specific bi-arch conventions on Solaris systems.
49743         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
49744         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
49745         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
49746         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
49747         like acl_libdirstem.
49748         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
49749         acl_libdirstem.
49750         * NEWS: Mention the change.
49751         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
49752
49753 2008-08-31  Jim Meyering  <meyering@redhat.com>
49754
49755         * lib/strftime.h: Add comments describing the two added arguments.
49756
49757         remove duplicate #include directives
49758         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
49759         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
49760
49761 2008-08-31  Bruno Haible  <bruno@clisp.org>
49762
49763         New module 'sigpipe-die'.
49764         * modules/sigpipe-die: New file.
49765         * lib/sigpipe-die.h: New file.
49766         * lib/sigpipe-die.c: New file.
49767         * MODULES.html.sh (Signal handling): Add sigpipe-die.
49768
49769 2008-08-31  Bruno Haible  <bruno@clisp.org>
49770
49771         Don't override previously installed signal handlers.
49772         * lib/fatal-signal.c (saved_sigactions): New variable.
49773         (uninstall_handlers): Reset the signal to the saved handler, not
49774         to SIG_DFL (except when ignored).
49775         (install_handlers): Save the previous handlers.
49776
49777 2008-08-30  Bruno Haible  <bruno@clisp.org>
49778
49779         * gnulib-tool (func_reset_sigpipe): New function.
49780         (func_get_automake_snippet, func_modules_transitive_closure,
49781         func_import): Invoke it before a join command that reads from stdin,
49782         to avoid "echo: write error: Broken pipe" error messages on stderr.
49783         Reported by Sam Steingold <sds@gnu.org>.
49784
49785 2008-08-30  Bruno Haible  <bruno@clisp.org>
49786
49787         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
49788         Code copied from m4/open.m4.
49789         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
49790         access and the filename ends in a slash. Code copied from lib/open.c.
49791         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
49792         * tests/test-fopen.c (main): Check against bug with trailing slash.
49793
49794 2008-08-29  Bruno Haible  <bruno@clisp.org>
49795
49796         Avoid some "gcc -pedantic" warnings.
49797         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
49798         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
49799         * lib/dirent.in.h: Likewise.
49800         * lib/fcntl.in.h: Likewise.
49801         * lib/float.in.h: Likewise.
49802         * lib/iconv.in.h: Likewise.
49803         * lib/inttypes.in.h: Likewise.
49804         * lib/locale.in.h: Likewise.
49805         * lib/math.in.h: Likewise.
49806         * lib/netinet_in.in.h: Likewise.
49807         * lib/search.in.h: Likewise.
49808         * lib/signal.in.h: Likewise.
49809         * lib/stdarg.in.h: Likewise.
49810         * lib/stdint.in.h: Likewise.
49811         * lib/stdio.in.h: Likewise.
49812         * lib/stdlib.in.h: Likewise.
49813         * lib/string.in.h: Likewise.
49814         * lib/strings.in.h: Likewise.
49815         * lib/sys_select.in.h: Likewise.
49816         * lib/sys_socket.in.h: Likewise.
49817         * lib/sys_stat.in.h: Likewise.
49818         * lib/sys_time.in.h: Likewise.
49819         * lib/sysexits.in.h: Likewise.
49820         * lib/time.in.h: Likewise.
49821         * lib/unistd.in.h: Likewise.
49822         * lib/wchar.in.h: Likewise.
49823         * lib/wctype.in.h: Likewise.
49824         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
49825         * modules/fchdir (Makefile.am): Likewise.
49826         * modules/fcntl (Makefile.am): Likewise.
49827         * modules/float (Makefile.am): Likewise.
49828         * modules/iconv_open (Makefile.am): Likewise.
49829         * modules/inttypes (Makefile.am): Likewise.
49830         * modules/locale (Makefile.am): Likewise.
49831         * modules/math (Makefile.am): Likewise.
49832         * modules/netinet_in (Makefile.am): Likewise.
49833         * modules/search (Makefile.am): Likewise.
49834         * modules/signal (Makefile.am): Likewise.
49835         * modules/stdarg (Makefile.am): Likewise.
49836         * modules/stdint (Makefile.am): Likewise.
49837         * modules/stdio (Makefile.am): Likewise.
49838         * modules/stdlib (Makefile.am): Likewise.
49839         * modules/string (Makefile.am): Likewise.
49840         * modules/strings (Makefile.am): Likewise.
49841         * modules/sys_select (Makefile.am): Likewise.
49842         * modules/sys_socket (Makefile.am): Likewise.
49843         * modules/sys_stat (Makefile.am): Likewise.
49844         * modules/sys_time (Makefile.am): Likewise.
49845         * modules/sysexits (Makefile.am): Likewise.
49846         * modules/time (Makefile.am): Likewise.
49847         * modules/unistd (Makefile.am): Likewise.
49848         * modules/wchar (Makefile.am): Likewise.
49849         * modules/wctype (Makefile.am): Likewise.
49850         Reported by Reuben Thomas <rrt@sc3d.org>.
49851
49852 2008-08-29  Bruno Haible  <bruno@clisp.org>
49853
49854         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
49855         any more.
49856
49857 2008-08-29  Simon Josefsson  <simon@josefsson.org>
49858
49859         * MODULES.html.sh (Misc): Add bitrotate.
49860
49861         * modules/bitrotate: New file.
49862
49863         * lib/bitrotate.h: New file.
49864
49865         * modules/bitrotate-tests: New file.
49866
49867         * tests/test-bitrotate.c: New file.
49868
49869         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
49870         on the bitrotate module.
49871
49872         * lib/arctwo.c: Use new bitrotate module.
49873
49874 2008-08-29  Jim Meyering  <meyering@redhat.com>
49875
49876         bootstrap: merge changes from coreutils
49877         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
49878         of copied files.  Remove a kludge, now that this is fixed.
49879         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
49880         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
49881         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
49882
49883 2008-08-29  Bruno Haible  <bruno@clisp.org>
49884
49885         * MODULES.html.sh: Remove --cvs-urls option.
49886
49887 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
49888
49889         maint.mk: adjust to file name change
49890         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
49891
49892 2008-08-28  Jim Meyering  <meyering@redhat.com>
49893
49894         * modules/getndelim2 (License): Relicense to LGPLv2+.
49895         Approved by Richard Stallman for the version of 1995, and by
49896         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
49897
49898 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
49899
49900         * lib/getdelim.c (flockfile, funlockfile): Make all of them
49901         dummy if one is not available.  Do not touch them if
49902         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
49903         (getc_maybe_unlocked): New.
49904         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
49905
49906 2008-08-26  Eric Blake  <ebb9@byu.net>
49907
49908         doc/INSTALL: resync from autoconf
49909         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
49910         (INSTALL_PRELUDE): Delete; this is done more efficiently by
49911         moving...
49912         * install.texi [!autoconf]: ...here.  Resync from autoconf.
49913         * INSTALL: Regenerate.
49914         * INSTALL.ISO: New file.
49915         * INSTALL.UTF-8: Likewise.
49916
49917 2008-08-26  Jim Meyering  <meyering@redhat.com>
49918
49919         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
49920         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
49921         these definitions conditional, so that they may be overridden, too.
49922
49923 2008-08-26  Bruno Haible  <bruno@clisp.org>
49924
49925         Generate INSTALL file variants with prettier quotes.
49926         * doc/Makefile (INSTALL_PRELUDE): New macro.
49927         (INSTALL): Use it.
49928         (INSTALL.ISO, INSTALL.UTF-8): New rules.
49929
49930 2008-08-26  Bruno Haible  <bruno@clisp.org>
49931
49932         Run makeinfo in an English locale.
49933         * doc/Makefile (MAKEINFO): New variable.
49934
49935 2008-08-26  Bruno Haible  <bruno@clisp.org>
49936
49937         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
49938         Suggested by Eric Blake.
49939
49940 2008-08-25  Bruno Haible  <bruno@clisp.org>
49941
49942         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
49943
49944 2008-08-25  Eric Blake  <ebb9@byu.net>
49945
49946         c-stack: test that stack overflow can be caught
49947         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
49948         that platform allows handling stack overflow; at least OS/2 EMX
49949         has sigaltstack, but crashes before transferring control to
49950         handler on stack overflow.
49951         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
49952         check for HAVE_STACK_OVERFLOW_HANDLING.
49953         Reported by Elbert Pol.
49954
49955 2008-08-25  Bruno Haible  <bruno@clisp.org>
49956
49957         * doc/posix-functions/strftime.texi: Fix description of strftime
49958         module.
49959
49960 2008-08-24  Bruno Haible  <bruno@clisp.org>
49961
49962         * tests/uniwidth/test-uc_width2.c: New file.
49963         * tests/uniwidth/test-uc_width2.sh: New file.
49964         * modules/uniwidth/width-tests (Files): Add the new files.
49965         (TESTS): Add uniwidth/test-uc_width2.sh.
49966         (TESTS_ENVIRONMENT): New variable.
49967         (check_PROGRAMS): Add test-uc_width2.
49968         (test_uc_width2_SOURCES): New variable.
49969
49970         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
49971         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
49972         not 0x00AB.
49973         Reported by Alexander V. Lukyanov <lav@netis.ru>.
49974
49975 2008-08-22  Eric Blake  <ebb9@byu.net>
49976
49977         test-lock, test-tls: mention why a test is skipped
49978         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
49979         skipped.
49980         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
49981
49982         count-one-bits: relax license
49983         * modules/count-one-bits (License): Relicense to LGPLv2+.
49984         Suggested by Ludovic Courtès, approved by Ben Pfaff.
49985
49986 2008-08-22  Andreas Schwab  <schwab@suse.de>
49987
49988         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
49989         Remove spurious space in assignment.
49990
49991 2008-08-21  Simon Josefsson  <simon@josefsson.org>
49992
49993         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
49994         Paul Eggert <eggert@CS.UCLA.EDU>.
49995
49996 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
49997
49998         * modules/gettext: Add m4/threadlib.m4.
49999
50000 2008-08-19  Eric Blake  <ebb9@byu.net>
50001
50002         test-c-stack: fix compilation failure on FreeBSD 5.0
50003         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
50004         headers before <sys/resource.h>.
50005         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
50006         the bug.
50007         Reported by Nelson H. F. Beebe.
50008
50009         strverscmp: migrate from "strverscmp.h" to <string.h>
50010         * modules/string (Makefile.am): Add new hooks.
50011         * modules/strverscmp (Files): Remove strverscmp.h.
50012         (Depends-on): Add string.
50013         (configure.ac): Add indicator.
50014         (Include): Mention new header.
50015         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
50016         defaults.
50017         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
50018         results.
50019         * lib/strverscmp.h: Delete.
50020         * lib/string.in.h (strverscmp): Provide declaration, when needed.
50021         * tests/test-strverscmp.c (includes): Adjust client.
50022         * lib/check-version.c (includes): Likewise.
50023         * NEWS: Document the change.
50024
50025         strverscmp: add unit test
50026         * modules/strverscmp-tests: New file.
50027         * tests/test-strverscmp.c: Likewise.
50028
50029 2008-08-19  Simon Josefsson  <simon@josefsson.org>
50030
50031         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
50032         regarding Windows crypto stuff, from Mono.
50033
50034 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
50035
50036         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
50037         if present, for intel RND.  Return error on failures.
50038
50039 2008-08-18  Ben Pfaff  <blp@gnu.org>
50040
50041         gitlog-to-changelog: give better diagnostic for failed pipe-open
50042         * build-aux/gitlog-to-changelog: Improve error message: suggest
50043         that the version of Git may be too old.
50044
50045 2008-08-18  Simon Josefsson  <simon@josefsson.org>
50046
50047         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
50048         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
50049
50050 2008-08-18  Bruno Haible  <bruno@clisp.org>
50051
50052         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
50053         pthread_in_use().
50054
50055 2008-08-18  Bruno Haible  <bruno@clisp.org>
50056
50057         * lib/glthread/threadlib.c: Include <pthread.h>.
50058
50059 2008-08-18  Bruno Haible  <bruno@clisp.org>
50060
50061         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
50062         glthread_recursive_lock_* macros.
50063         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
50064         Fix syntax error.
50065
50066 2008-08-18  Bruno Haible  <bruno@clisp.org>
50067
50068         * lib/glthread/thread.c: Avoid forcing a context switch right after
50069         thread creation.
50070
50071 2008-08-17  Bruno Haible  <bruno@clisp.org>
50072
50073         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
50074         * lib/glthread/thread.h: Provide Win32 specific implementation.
50075         * modules/thread (Files): Add lib/glthread/thread.c.
50076         (Depends-on): Add lock.
50077         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
50078
50079 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50080
50081         New module 'yield'.
50082         * modules/yield: New file.
50083         * lib/glthread/yield.h: New file.
50084         * m4/yield.m4: New file.
50085         * MODULES.html.sh (Multithreading): Add yield.
50086
50087 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50088
50089         New module 'thread'.
50090         * modules/thread: New file.
50091         * lib/glthread/thread.h: New file.
50092         * m4/thread.m4: New file.
50093         * MODULES.html.sh (Multithreading): Add thread.
50094
50095 2008-08-17  Bruno Haible  <bruno@clisp.org>
50096
50097         * lib/glthread/lock.h: Include <stdlib.h> always.
50098         * lib/glthread/tls.h: Likewise.
50099         * lib/glthread/cond.h: Likewise.
50100
50101 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50102
50103         New module 'cond'.
50104         * modules/cond: New file.
50105         * lib/glthread/cond.h: New file.
50106         * lib/glthread/cond.c: New file.
50107         * m4/cond.m4: New file.
50108         * MODULES.html.sh (Multithreading): Add cond.
50109
50110 2008-08-16  Eric Blake  <ebb9@byu.net>
50111
50112         c-stack: fix regression on Irix 5.3 from 2008-06-21
50113         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
50114         sa_sigaction...
50115         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
50116         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
50117         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
50118         * modules/signal (Makefile.am): Use the value.
50119         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
50120         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
50121         * doc/posix-headers/signal.texi (signal.h): Document this
50122         portability issue.
50123         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
50124         Reported by Tom G. Christensen.
50125
50126 2008-08-17  Bruno Haible  <bruno@clisp.org>
50127
50128         New module 'threadlib'.
50129         * modules/threadlib: New file.
50130         * lib/glthread/threadlib.c: New file, extracted from
50131         lib/glthread/lock.c.
50132         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
50133         functions.
50134         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
50135         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
50136         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
50137         macros.
50138         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
50139         (gl_DISABLE_THREADS): Remove macro.
50140         * modules/lock (Files): Remove build-aux/config.rpath.
50141         (Depends-on): Remove havelib. Add threadlib.
50142         (configure.ac-early): Remove section.
50143         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
50144         * modules/tls (Depends-on): Remove lock. Add threadlib.
50145         (Link): New section, copied from threadlib.
50146         * MODULES.html.sh (Multithreading): Add threadlib.
50147
50148 2008-08-14  Bruno Haible  <bruno@clisp.org>
50149
50150         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
50151         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
50152         glthread_rwlock_unlock, glthread_rwlock_destroy,
50153         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
50154         glthread_recursive_lock_destroy): Define as macros always.
50155         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
50156         glthread_lock_lock.
50157         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
50158         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
50159         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
50160         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
50161         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
50162         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
50163         (glthread_recursive_lock_lock_func): Renamed from
50164         glthread_recursive_lock_lock.
50165         (glthread_recursive_lock_unlock_func): Renamed from
50166         glthread_recursive_lock_unlock.
50167         (glthread_recursive_lock_destroy_func): Renamed from
50168         glthread_recursive_lock_destroy.
50169
50170 2008-08-14  Bruno Haible  <bruno@clisp.org>
50171
50172         * lib/glthread/lock.h: Renamed from lib/lock.h.
50173         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
50174         * lib/glthread/tls.h: Renamed from lib/tls.h.
50175         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
50176         * lib/fstrcmp.c: Update includes.
50177         * lib/strsignal.c: Update includes.
50178         * modules/lock (Files, Makefile.am): Update.
50179         (Include): Change to "glthread/lock.h".
50180         * modules/tls (Files, Makefile.am): Update.
50181         (Include): Change to "glthread/tls.h".
50182         * tests/test-lock.c: Update includes.
50183         * tests/test-tls.c: Update includes.
50184         * NEWS: Mention the renamed header files.
50185
50186 2008-08-11  Jim Meyering  <meyering@redhat.com>
50187
50188         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
50189
50190 2008-08-11  Eric Blake  <ebb9@byu.net>
50191
50192         test-c-stack: avoid C99-ism
50193         * tests/test-c-stack.c (main): Fix whitespace, move declaration
50194         before statement.
50195         Reported by Alain Guibert.
50196
50197 2008-08-10  Jim Meyering  <meyering@redhat.com>
50198
50199         ensure that return value of uinttostr et al are not ignored
50200         * lib/inttostr.h (__GNUC_PREREQ): Define.
50201         (__attribute_warn_unused_result__): Define.
50202         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
50203
50204 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
50205
50206         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
50207         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
50208
50209 2008-08-07  Jim Meyering  <meyering@redhat.com>
50210
50211         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
50212
50213         * modules/mkstemp (License): Relicense under LGPLv2+.
50214         * modules/tempname (License): Likewise.
50215
50216 2008-08-06  Bruno Haible  <bruno@clisp.org>
50217
50218         * lib/poll.c (poll): Further micro-optimization.
50219
50220 2008-08-06  Jim Meyering  <meyering@redhat.com>
50221
50222         inet_pton.c: use locale-independent tolower
50223         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
50224         (inet_pton6): Use c_tolower rather than tolower.
50225         * modules/inet_pton (Depends-on): Add c-ctype.
50226
50227 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
50228
50229         * lib/poll.c (poll): Avoid division when timeout is 0, cache
50230         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
50231
50232 2008-08-06  Jim Meyering  <meyering@redhat.com>
50233
50234         * modules/inet_pton (License): Relicense under LGPLv2+.
50235
50236 2008-08-03  Bruno Haible  <bruno@clisp.org>
50237
50238         Additional non-aborting API for lock and tls.
50239         * lib/lock.h: Include <errno.h>.
50240         (glthread_lock_init): New macro/function.
50241         (gl_lock_init): Define as wrapper around glthread_lock_init.
50242         (glthread_lock_lock): New macro/function.
50243         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
50244         (glthread_lock_unlock): New macro/function.
50245         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
50246         (glthread_lock_destroy): New macro/function.
50247         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
50248         (glthread_rwlock_init): New macro/function.
50249         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
50250         (glthread_rwlock_rdlock): New macro/function.
50251         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
50252         (glthread_rwlock_wrlock): New macro/function.
50253         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
50254         (glthread_rwlock_unlock): New macro/function.
50255         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
50256         (glthread_rwlock_destroy): New macro/function.
50257         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
50258         (glthread_recursive_lock_init): New macro/function.
50259         (gl_recursive_lock_init): Define as wrapper around
50260         glthread_recursive_lock_init.
50261         (glthread_recursive_lock_lock): New macro/function.
50262         (gl_recursive_lock_lock): Define as wrapper around
50263         glthread_recursive_lock_lock.
50264         (glthread_recursive_lock_unlock): New macro/function.
50265         (gl_recursive_lock_unlock): Define as wrapper around
50266         glthread_recursive_lock_unlock.
50267         (glthread_recursive_lock_destroy): New macro/function.
50268         (gl_recursive_lock_destroy): Define as wrapper around
50269         glthread_recursive_lock_destroy.
50270         (glthread_once): New macro/function.
50271         (gl_once): Define as wrapper around glthread_once.
50272         Update function declarations.
50273         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
50274         glthread_rwlock_init. Return error code.
50275         (glthread_rwlock_rdlock_multithreaded): Renamed from
50276         glthread_rwlock_rdlock. Return error code.
50277         (glthread_rwlock_wrlock_multithreaded): Renamed from
50278         glthread_rwlock_wrlock. Return error code.
50279         (glthread_rwlock_unlock_multithreaded): Renamed from
50280         glthread_rwlock_unlock. Return error code.
50281         (glthread_rwlock_destroy_multithreaded): Renamed from
50282         glthread_rwlock_destroy. Return error code.
50283         (glthread_recursive_lock_init_multithreaded): Renamed from
50284         glthread_recursive_lock_init. Return error code.
50285         (glthread_recursive_lock_lock_multithreaded): Renamed from
50286         glthread_recursive_lock_lock. Return error code.
50287         (glthread_recursive_lock_unlock_multithreaded): Renamed from
50288         glthread_recursive_lock_unlock. Return error code.
50289         (glthread_recursive_lock_destroy_multithreaded): Renamed from
50290         glthread_recursive_lock_destroy. Return error code.
50291         (glthread_once_call): Make static.
50292         (glthread_once_multithreaded): Renamed from glthread_once.
50293         * lib/tls.h: Include <errno.h>.
50294         (glthread_tls_key_init): New macro/function.
50295         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
50296         (glthread_tls_set): New macro/function.
50297         (gl_tls_set): Define as wrapper around glthread_tls_set.
50298         (glthread_tls_key_destroy): New macro/function.
50299         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
50300         Update function declarations.
50301         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
50302         glthread_tls_get.
50303         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
50304
50305 2008-08-04  Eric Blake  <ebb9@byu.net>
50306
50307         gnumakefile: use space, not TAB, outside of targets
50308         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
50309
50310 2008-08-02  Jim Meyering  <meyering@redhat.com>
50311
50312         getdate.y: avoid locale-dependent date parsing failure
50313         In Turkish locales, getdate would fail to recognize keywords
50314         containing a lowercase "i".  The solution is not to rely on
50315         locale-sensitive case-conversion.
50316         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
50317         (lookup_word): Use c_toupper in place of toupper.
50318         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
50319         Reported by Vefa Bicakci <bicave@superonline.com> in
50320         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
50321         * modules/getdate (Depends-on): Add c-ctype.
50322
50323 2008-08-02  Bruno Haible  <bruno@clisp.org>
50324
50325         * gnulib-tool (func_import): When updating or creating a .gitignore
50326         file, prepend each added line with a slash, and ignore leading slashes
50327         from the existing lines.
50328         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
50329
50330 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50331
50332         Portability fix for GNU make 3.79.1.
50333         * top/GNUmakefile: Avoid 'else COND', which older GNU make
50334         versions do not understand.
50335
50336 2008-08-01  Bruno Haible  <bruno@clisp.org>
50337
50338         Work around bug of HP-UX 10.20 cc with -0.0 literal.
50339         * tests/test-isnanf.h (zero): New variable.
50340         (main): Avoid literal -0.0f.
50341         * tests/test-isnand.h (zero): New variable.
50342         (main): Avoid literal -0.0.
50343         * tests/test-isnanl.h (zero): New variable.
50344         (main): Avoid literal -0.0L.
50345         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
50346         (test_float, test_double, test_long_double): Avoid literals -0.0f,
50347         -0.0, -0.0L.
50348         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
50349         (test_signbitd): Avoid literal -0.0.
50350         (test_signbitl): Avoid literal -0.0L.
50351         * tests/test-ceilf1.c (zero): New variable.
50352         (main): Avoid literal -0.0f.
50353         * tests/test-ceill.c (zero): New variable.
50354         (main): Avoid literal -0.0L.
50355         * tests/test-floorf1.c (zero): New variable.
50356         (main): Avoid literal -0.0f.
50357         * tests/test-floorl.c (zero): New variable.
50358         (main): Avoid literal -0.0L.
50359         * tests/test-roundf1.c (zero): New variable.
50360         (main): Avoid literal -0.0f.
50361         * tests/test-round1.c (zero): New variable.
50362         (main): Avoid literal -0.0.
50363         * tests/test-roundl.c (zero): New variable.
50364         (main): Avoid literal -0.0L.
50365         * tests/test-truncf1.c (zero): New variable.
50366         (main): Avoid literal -0.0f.
50367         * tests/test-trunc1.c (zero): New variable.
50368         (main): Avoid literal -0.0.
50369         * tests/test-truncl.c (zero): New variable.
50370         (main): Avoid literal -0.0L.
50371         * tests/test-frexp.c (zero): New variable.
50372         (main): Avoid literal -0.0.
50373         * tests/test-frexpl.c (zero): New variable.
50374         (main): Avoid literal -0.0L.
50375         * tests/test-ldexpl.c (zero): New variable.
50376         (main): Avoid literal -0.0L.
50377         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50378         (zerod, zerol): New variables.
50379         (test_function): Avoid literals -0.0, -0.0L.
50380         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
50381         (zerod, zerol): New variables.
50382         (test_function): Avoid literals -0.0, -0.0L.
50383         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50384         (zerod, zerol): New variables.
50385         (test_function): Avoid literals -0.0, -0.0L.
50386         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
50387         (zerod, zerol): New variables.
50388         (test_function): Avoid literals -0.0, -0.0L.
50389         * tests/test-strtod.c (zero): New variable.
50390         (main): Avoid literal -0.0.
50391         Reported by Jonathan C. Patschke <jp@centtech.com>.
50392
50393 2008-07-31  Jim Meyering  <meyering@redhat.com>
50394
50395         sha256.h: correct definition of SHA224_DIGEST_SIZE
50396         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
50397         Reported by Paulie Pena IV <paulie4@gmail.com>.
50398         Define as 224 / 8, rather than as a literal.
50399         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
50400         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
50401         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
50402
50403 2008-07-31  Bruno Haible  <bruno@clisp.org>
50404
50405         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
50406         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
50407         Reported by Jonathan Patschke <jp@centtech.com>.
50408
50409 2008-07-31  Bruno Haible  <bruno@clisp.org>
50410
50411         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
50412         Reported by Paolo Bonzini <bonzini@gnu.org>.
50413
50414 2008-07-30  Eric Blake  <ebb9@byu.net>
50415
50416         test-strtod: allow compilation without -lm
50417         * tests/test-strtod.c (main): Avoid link dependence on fabs.
50418         Reported by Dennis Clarke <blastwave@gmail.com>.
50419
50420 2008-07-28  Jim Meyering  <meyering@redhat.com>
50421
50422         bootstrap: work also when there are no .po files in po/
50423         * build-aux/bootstrap (update_po_files): Complete the change
50424         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
50425
50426 2008-07-27  Jim Meyering  <meyering@redhat.com>
50427
50428         * users.txt: Add zile.
50429
50430 2008-07-26  Ben Pfaff  <blp@gnu.org>
50431
50432         Add missing dependencies on new m4/exponent[fdl].m4 files.
50433         * modules/isnanf-nolibm: Add m4/exponentf.m4.
50434         * modules/isnand-nolibm: Add m4/exponentd.m4.
50435         * modules/isnanl-nolibm: Add m4/exponentl.m4.
50436         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
50437         m4/isnan[fdl].m4, because the macros actually used moved.
50438         Reported by Jim Meyering.
50439
50440 2008-07-14  Ben Pfaff  <blp@gnu.org>
50441
50442         Add isinf module.
50443         * lib/isinf.c: New file.
50444         * lib/math.in.h: Define isinf macro if we have decided to replace
50445         it.
50446         * m4/isinf.m4: New file.
50447         * m4/math_h.m4: Initialize and substitute variables for isinf
50448         module.
50449         * modules/isinf: New file.
50450         * modules/isinf-tests: New file.
50451         * modules/math: Add substitutions for new module.
50452         * tests/test-isinf.c: New file.
50453         * doc/posix-functions/isinf.texi: Mention new module.
50454         * MODULES.html.sh: Mention new module.
50455
50456 2008-07-14  Ben Pfaff  <blp@gnu.org>
50457
50458         Factor out some macros for use by additional modules.
50459         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
50460         exponentf.m4.
50461         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
50462         exponentd.m4.
50463         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
50464         file exponentl.m4.
50465         * m4/exponentf.m4: New file.
50466         * m4/exponentd.m4: New file.
50467         * m4/exponentl.m4: New file.
50468         * modules/isnanf: Use new file m4/exponentf.m4.
50469         * modules/isnand: Use new file m4/exponentd.m4.
50470         * modules/isnanl: Use new file m4/exponentl.m4.
50471
50472 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
50473
50474         mktime.c: normalize tp->tm_isdst value to -1/0/1.
50475         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
50476         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
50477         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
50478
50479         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
50480         readlink on platforms without PATH_MAX.
50481
50482 2008-07-21  Eric Blake  <ebb9@byu.net>
50483
50484         Warn, not fail, on stale version.
50485         * top/GNUmakefile (_curr-ver): Tone down previous patch.
50486
50487         Don't allow installation with stale devel version number.
50488         * top/GNUmakefile (_is-install-target): New macro.
50489         (_curr-ver): Forbid installation with stale version number.
50490
50491 2008-07-20  Bruno Haible  <bruno@clisp.org>
50492
50493         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
50494         TESTS_ENVIRONMENT.
50495         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
50496
50497 2008-07-20  Bruno Haible  <bruno@clisp.org>
50498
50499         * lib/c-stack.h (c_stack_action): Add documentation.
50500         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
50501
50502 2008-07-20  Bruno Haible  <bruno@clisp.org>
50503
50504         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
50505         * modules/readlink (License): Likewise.
50506
50507 2008-07-17  Eric Blake  <ebb9@byu.net>
50508
50509         * modules/c-stack (Link): Fix typo.
50510
50511         Make c-stack use libsigsegv, when available.
50512         * modules/c-stack (Depends-on): Add libsigsegv.
50513         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
50514         needed.
50515         * lib/c-stack.c (SIGSTKSZ): Define fallback.
50516         (segv_handler, overflow_handler, c_stack_action)
50517         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
50518         implementation when libsigsegv is available, but only when using
50519         the library is necessary.
50520         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
50521         comment, explaining why XSI check fails on Linux.
50522         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
50523         * tests/test-c-stack2.sh: Tweak skip message.
50524         * NEWS: Document new link-time requirements.
50525
50526 2008-07-16  Eric Blake  <ebb9@byu.net>
50527
50528         c-stack: Expose false positives when not using libsigsegv.
50529         * modules/c-stack-tests (Files): Expand test.
50530         * tests/test-c-stack.c (main): Add means to conditionally trigger
50531         non-overflow SIGSEGV.
50532         * tests/test-c-stack2.sh: New file.
50533
50534 2008-07-14  Bruno Haible  <bruno@clisp.org>
50535
50536         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
50537         Reported by Eric Blake.
50538
50539 2008-07-14  Sam Steingold  <sds@gnu.org>
50540             Bruno Haible  <bruno@clisp.org>
50541
50542         New module libsigsegv.
50543         * modules/libsigsegv: New file.
50544         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
50545         modifications.
50546         * MODULES.html.sh (Signal handling): New section.
50547
50548 2008-07-14  Bruno Haible  <bruno@clisp.org>
50549
50550         * modules/unictype/ctype-* (Description): Add the word "function".
50551         Improves the resulting doc in MODULES.html.
50552
50553 2008-07-12  Ben Pfaff  <blp@gnu.org>
50554
50555         Add longlong module.
50556         * modules/longlong: New file.
50557
50558 2008-07-12  Bruno Haible  <bruno@clisp.org>
50559
50560         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
50561         to empty.
50562
50563 2008-07-10  Ben Pfaff  <blp@gnu.org>
50564
50565         Add isnan module.
50566         * doc/posix-functions/isnan.texi: Mention new module.
50567         * lib/math.in.h: Define isnan macro if we have decided to replace
50568         it.
50569         * m4/isnan.m4: New file.
50570         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
50571         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
50572         also.
50573         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
50574         redundancy.
50575         * m4/math_h.m4: Initialize and substitute variables for isnan
50576         module.
50577         * modules/isnan: New file.
50578         * modules/isnan-tests: New file.
50579         * modules/math: Add substitutions for new module.
50580         * tests/test-isnan.c: New file.
50581         * MODULES.html.sh: Mention new module.
50582
50583 2008-07-10  Ben Pfaff  <blp@gnu.org>
50584
50585         Add isnanf module.
50586         * lib/isnanf.m4: New file.
50587         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
50588         (gl_HAVE_ISNANF_IN_LIBM): New macro.
50589         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
50590         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
50591         * modules/isnanf: New file.
50592         * modules/isnanf-tests: New file.
50593         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
50594         files.
50595         * tests/test-isnanf-nolibm.c: factored most of its contents into
50596         new file tests/test-isnanf.h.
50597         * tests/test-isnanf.h: New file.
50598         * tests/test-isnanf.c: New file.
50599         * MODULES.html.sh: Mention new module.
50600         * doc/glibc-functions/isnanf.texi: Mention new module.
50601
50602 2008-07-10  Ben Pfaff  <blp@gnu.org>
50603
50604         Add isnand module.
50605         * lib/isnand.h: New file.
50606         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
50607         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
50608         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
50609         functionality also.
50610         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
50611         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
50612         (gl_HAVE_ISNAND_IN_LIBM): New macro.
50613         * modules/isnand: New file.
50614         * modules/isnand-tests: New file.
50615         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
50616         files.
50617         * tests/test-isnand-nolibm.c: factored most of its contents into
50618         new file tests/test-isnand.h.
50619         * tests/test-isnand.h: New file.
50620         * tests/test-isnand.c: New file.
50621         * MODULES.html.sh: Mention new module.
50622
50623 2008-07-10  Ben Pfaff  <blp@gnu.org>
50624
50625         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
50626         * lib/isnand.h: Rename lib/isnand-nolibm.h.
50627         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
50628         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
50629         * modules/isnanf-nolibm: Update references to renamed files.
50630         * modules/isnand-nolibm: Likewise.
50631         * modules/isnanf-nolibm-tests: Likewise.
50632         * modules/isnand-nolibm-tests: Likewise.
50633         * lib/frexp.c: Likewise.
50634         * lib/isfinite.c: Likewise.
50635         * lib/signbitd.c: Likewise.
50636         * lib/signbitf.c: Likewise.
50637         * lib/vasnprintf.c: Likewise.
50638         * tests/test-ceilf1.c: Likewise.
50639         * tests/test-ceilf2.c: Likewise.
50640         * tests/test-floorf1.c: Likewise.
50641         * tests/test-floorf2.c: Likewise.
50642         * tests/test-frexp.c: Likewise.
50643         * tests/test-round1.c: Likewise.
50644         * tests/test-round2.c: Likewise.
50645         * tests/test-roundf1.c: Likewise.
50646         * tests/test-strtod.c: Likewise.
50647         * tests/test-trunc1.c: Likewise.
50648         * tests/test-trunc2.c: Likewise.
50649         * tests/test-truncf1.c: Likewise.
50650         * tests/test-truncf2.c: Likewise.
50651         * NEWS: Mention the renamed header files.
50652
50653 2008-07-11  Jim Meyering  <meyering@redhat.com>
50654
50655         vc-list-files: make the last-resort awk code more portable
50656         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
50657         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
50658         does not support it.
50659
50660 2008-07-10  Eric Blake  <ebb9@byu.net>
50661
50662         Work with tar's bootstrap.
50663         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
50664         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
50665         an m4 comment.
50666
50667 2008-07-09  Jim Meyering  <meyering@redhat.com>
50668
50669         posix-shell.m4: fix typo that made this test malfunction
50670         * m4/posix-shell.m4: Remove capitalization in variable name.
50671
50672 2008-07-08  Bruno Haible  <bruno@clisp.org>
50673
50674         * m4/onceonly.m4: Update comments.
50675         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50676
50677 2008-07-04  Jim Meyering  <meyering@redhat.com>
50678
50679         * users.txt: Add vc-dwim.
50680         (bison, coreutils): Use the gitweb URL.
50681
50682 2008-07-03  Jim Meyering  <meyering@redhat.com>
50683
50684         * users.txt: Add libffcall.  From Sam Steingold.
50685
50686 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
50687
50688         getdate.y: do not ignore TZ with relative day, month or year offset
50689         * lib/getdate.y (get_date): Move the tz-handling block to follow the
50690         relative-date-handling, since otherwise, the latter would clobber the
50691         sole output (an updated Start value) of the tz-handling block.
50692         * tests/test-getdate.c: Tests for the fix
50693
50694 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50695
50696         Recognize 'foo_LIBRARIES += libgnu.a'.
50697         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
50698         makefile snippet has already specified an installation location,
50699         also using '+='.
50700
50701 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
50702
50703         getdate.y: factor out common actions
50704         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
50705         Use them in place of open-coded actions.
50706
50707 2008-07-01  Simon Josefsson  <simon@josefsson.org>
50708
50709         Add self-test for getdate module.
50710         * modules/getdate-tests: New file.
50711         * tests/test-getdate.c: New file.
50712
50713 2008-06-29  Bruno Haible  <bruno@clisp.org>
50714
50715         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
50716         .gitignore.
50717         Reported by Sylvain Beucler <beuc@beuc.net>.
50718
50719 2008-06-29  Bruno Haible  <bruno@clisp.org>
50720
50721         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
50722         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
50723
50724 2008-06-29  Bruno Haible  <bruno@clisp.org>
50725
50726         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
50727         EXTRA_DIST.
50728         Reported by Sylvain Beucler <beuc@beuc.net>.
50729
50730 2008-06-26  Jim Meyering  <meyering@redhat.com>
50731
50732         make several modules depend on the "open" module
50733         This provides slightly increased consistency when opening-for-write
50734         the name of a non-directory spelled with a trailing slash.
50735         * modules/chdir-safer: Likewise.
50736         * modules/chown: Likewise.
50737         * modules/clean-temp: Likewise.
50738         * modules/copy-file: Likewise.
50739         * modules/fchdir: Likewise.
50740         * modules/fcntl-safer: Likewise.
50741         * modules/pipe: Likewise.
50742         * modules/utime: Likewise.
50743         Prompted by Eric Blake and Bruno Haible.
50744
50745 2008-06-24  Andreas Schwab  <schwab@suse.de>
50746
50747         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
50748         literals can be used as initializers for global variables.
50749
50750 2008-06-23  Eric Blake  <ebb9@byu.net>
50751
50752         Make gnulib-cache.m4 easier to diff.
50753         * gnulib-tool (func_import): Allow newlines when reading cached
50754         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
50755
50756 2008-06-23  Bruno Haible  <bruno@clisp.org>
50757
50758         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
50759         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
50760         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
50761         m4/signalblocking.m4.
50762         (gl_PREREQ_SIGACTION): Don't invoke it.
50763         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
50764         gl_PREREQ_SIG_HANDLER_H.
50765         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
50766         Don't check for sigaction here.
50767
50768 2008-06-23  Bruno Haible  <bruno@clisp.org>
50769
50770         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
50771         (install_handlers): Don't set the SA_RESETHAND flag.
50772
50773 2008-06-23  Bruno Haible  <bruno@clisp.org>
50774
50775         * m4/sigaction.m4: Comment fixes.
50776         * lib/signal.in.h: Likewise.
50777
50778 2008-06-23  Eric Blake  <ebb9@byu.net>
50779
50780         Fix typo.
50781         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
50782
50783         Avoid SA_ namespace.
50784         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
50785         Reported by Ralf Wildenhues.
50786
50787         Avoid test failure due to SA_RESTORER.
50788         * tests/test-sigaction.c (SA_MASK): New macro.
50789         (main): Avoid failing due to extension flags being set.
50790         Reported by Jim Meyering.
50791
50792         Revert use of sig-handler.h in sigprocmask.c.
50793         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
50794         it requires the existence of struct sigaction.
50795         * lib/sigprocmask.c (handler_t): Restore typedef.
50796         (rpl_signal, old_handlers): Use local type.
50797
50798 2008-06-22  Bruno Haible  <bruno@clisp.org>
50799
50800         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
50801         conditionally.
50802         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50803
50804 2008-06-22  Bruno Haible  <bruno@clisp.org>
50805
50806         * doc/posix-functions/siginterrupt.texi: Move note.
50807
50808         * lib/signal.in.h (SA_RESTART): New macro.
50809         * lib/sigaction.c: Update comment.
50810
50811         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
50812
50813         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
50814         (gl_PREREQ_SIGPROCMASK): Invoke it.
50815         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
50816
50817         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
50818
50819         * lib/sigprocmask.c: Update a comment.
50820
50821 2008-06-21  Eric Blake  <ebb9@byu.net>
50822
50823         Use sigaction module rather than signal().
50824         * modules/c-stack (Depends-on): Add sigaction.
50825         * modules/fatal-signal (Depends-on): Likewise.
50826         * modules/nanosleep (Depends-on): Likewise.
50827         * modules/sigprocmask (Files): Add sig-handler.h.
50828         * modules/sigaction (Files): Likewise.
50829         * lib/sig-handler.h (get_handler): New file, suggested by Paul
50830         Eggert.
50831         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
50832         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
50833         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
50834         (init_fatal_signals): Likewise.
50835         * lib/nanosleep.c (rpl_nanosleep): Likewise.
50836         (siginterrupt): Delete fallback.
50837         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
50838         instead.
50839         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
50840         siginterrupt.
50841
50842         New module sigaction, for mingw.
50843         * modules/sigaction: New module...
50844         * modules/sigaction-tests: ...and its test.
50845         * m4/sigaction.m4: New file.
50846         * lib/sigaction.c: Likewise.
50847         * tests/test-sigaction.c: Likewise.
50848         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
50849         * modules/signal (Makefile.am): Likewise.
50850         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
50851         needed.
50852         * doc/posix-headers/signal.texi (signal.h): Mention provided
50853         types.
50854         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
50855         that sigaction is preferable.
50856         * doc/posix-functions/sigaction.texi (sigaction): Mention new
50857         module.
50858         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50859         sigaction.
50860
50861         Improve robustness of sigprocmask by overriding signal.
50862         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
50863         is in use.
50864         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
50865         (SIGKILL, SIGSTOP): Provide fallbacks.
50866         (rpl_signal): Implement.
50867         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
50868         signal can be called inside handlers.
50869
50870         Fix nanosleep module on mingw.
50871         * modules/nanosleep (Depends-on): Add sys_select.
50872         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
50873
50874         Fix licensing of sigprocmask.
50875         * modules/raise (License): Relicense as LGPL.
50876
50877 2008-06-21  Bruno Haible  <bruno@clisp.org>
50878
50879         * lib/propername.c (proper_name_utf8): Don't use the transliterated
50880         result if it contains question marks.
50881         Reported by Michael Geng <linux@michaelgeng.de>.
50882
50883 2008-06-19  Bruno Haible  <bruno@clisp.org>
50884
50885         Fix CVS-ism.
50886         * doc/gnulib.texi: Include updated-stamp.texi.
50887         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
50888         (updated-stamp.texi): New rule.
50889         (gnulib.info): Depend on it.
50890         * doc/.gitignore: Add updated-stamp.texi.
50891         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
50892
50893 2008-06-19  Bruno Haible  <bruno@clisp.org>
50894
50895         * doc/Makefile (gnulib.info): Update and simplify dependencies.
50896         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50897
50898 2008-06-19  Eric Blake  <ebb9@byu.net>
50899
50900         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
50901         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
50902         Reported by Stepan Kasal.
50903
50904 2008-06-18  Bruno Haible  <bruno@clisp.org>
50905
50906         * lib/fatal-signal.c (init_fatal_signals): Add comment.
50907         Reported by Eric Blake.
50908
50909 2008-06-18  Eric Blake  <ebb9@byu.net>
50910
50911         Work around cygwin 1.5.25 strsignal bug.
50912         * tests/test-strsignal.c: Allow for const char *.
50913         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
50914
50915 2008-06-18  Simon Josefsson  <simon@josefsson.org>
50916
50917         * users.txt: Update URL to article and add author/date
50918         information.
50919
50920 2008-06-17  Bruno Haible  <bruno@clisp.org>
50921
50922         New macro gl_DISABLE_THREADS.
50923         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
50924         if the user did not pass --enable-threads or --disable-threads option.
50925         (gl_DISABLE_THREADS): New macro.
50926         Reported by Eric Blake <ebb9@byu.net>.
50927
50928 2008-06-17  Bruno Haible  <bruno@clisp.org>
50929
50930         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
50931         when the macro ignores it.
50932         Based on a patch by Eric Blake <ebb9@byu.net>.
50933
50934 2008-06-17  Bruno Haible  <bruno@clisp.org>
50935
50936         * modules/tls (License): Change to LGPLv2+.
50937         Reported by Eric Blake.
50938
50939 2008-06-17  Eric Blake  <ebb9@byu.net>
50940
50941         Simplify c-stack prerequisites.
50942         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
50943         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
50944         no longer requires <ucontext.h> to exist.  Optimize setrlimit
50945         check.
50946         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
50947         <sys/resource.h>.
50948
50949         Move c-stack test into testsuite.
50950         * modules/c-stack-tests: New file.
50951         * lib/c-stack.c [DEBUG]: Move test program...
50952         * tests/test-c-stack.c: ...into this new file.  Skip rather than
50953         fail test if sigaltstack is lacking.
50954         * tests/test-c-stack.sh: New driver file.
50955
50956 2008-06-16  Eric Blake  <ebb9@byu.net>
50957
50958         Use raise module consistently.
50959         * modules/fatal-signal (Depends-on): Add raise.
50960         * modules/sigprocmask (Depends-on): Likewise.
50961         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
50962         * lib/sigprocmask.c (sigprocmask): Likewise.
50963         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
50964         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
50965
50966         Fix compliance bug in sigpending.
50967         * lib/sigprocmask.c (sigpending): Return pending array via
50968         parameter, not return value.
50969
50970 2008-06-14  Eric Blake  <ebb9@byu.net>
50971
50972         Improve obstack-printf test code.
50973         * tests/test-obstack-printf.c (test_function): Fix comment, and
50974         simplify usage of obstack_* in macros.  Add a test for coverage.
50975         Reported by Bruno Haible.
50976
50977 2008-06-14  Bruno Haible  <bruno@clisp.org>
50978
50979         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
50980         array size as a constant, not as a const variable.
50981         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
50982         AC_USE_SYSTEM_EXTENSIONS.
50983         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50984         Test whether the obstack_printf function actually exists.
50985         * modules/obstack-printf (Depends-on): Add extensions.
50986         (Include): Remove obstack.h.
50987         * modules/obstack-printf-posix (Depends-on): Add extensions.
50988         (Include): Remove obstack.h.
50989
50990 2008-06-13  Eric Blake  <ebb9@byu.net>
50991
50992         Add obstack-printf and obstack-printf-posix modules.
50993         * modules/obstack-printf: New file.
50994         * modules/obstack-printf-posix: Likewise.
50995         * MODULES.html.sh (Misc): Mention them.
50996         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
50997         Likewise.
50998         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
50999         Likewise.
51000         * modules/stdio (Makefile.am): Accomodate new modules.
51001         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51002         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
51003         Declare.
51004         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
51005         functions.
51006         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
51007         (gl_REPLACE_OBSTACK_PRINTF): New macros
51008         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
51009         * tests/test-obstack-printf.c: New file.
51010         * modules/obstack-printf-tests: Likewise.
51011         * modules/obstack-printf-posix-tests: Likewise.
51012
51013 2008-06-11  Bruno Haible  <bruno@clisp.org>
51014
51015         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
51016         * lib/open.c: Include errno.h.
51017         (open): Fail when attempting to write to a file that has a trailing
51018         slash.
51019         * tests/test-open.c (main): Test against trailing slash bug.
51020         * doc/posix-functions/open.texi: Mention the trailing slash bug.
51021
51022 2008-06-10  Bruno Haible  <bruno@clisp.org>
51023
51024         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
51025         for $? to work inside the trap command, with various /bin/sh-s.
51026         * tests/test-vc-list-files-cvs.sh: Likewise.
51027
51028 2008-06-10  Bruno Haible  <bruno@clisp.org>
51029
51030         * lib/acl-internal.h: Don't include gettext.h here.
51031         * lib/set-mode-acl.c: Include gettext.h here.
51032         * lib/copy-acl.c: Likewise.
51033
51034 2008-06-10  Bruno Haible  <bruno@clisp.org>
51035
51036         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
51037         * lib/wait-process.c (wait_subprocess): Likewise.
51038         * lib/execute.h (execute): Add termsigp argument.
51039         * lib/execute.c (execute): Likewise.
51040         * lib/csharpcomp.c (compile_csharp_using_pnet,
51041         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
51042         * lib/csharpexec.c (execute_csharp_using_pnet,
51043         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
51044         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
51045         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
51046         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
51047         is_jikes_present): Update.
51048         * lib/javaexec.c (execute_java_class): Update.
51049         * lib/javaversion.c (execute_and_read_line): Update.
51050         * NEWS: Document the changes.
51051         Reported by Eric Blake.
51052
51053 2008-06-10  Eric Blake  <ebb9@byu.net>
51054
51055         Add missing include.
51056         * tests/test-strstr.c (includes): Add <signal.h>.
51057         * tests/test-strcasestr.c (includes): Likewise.
51058         * tests/test-memmem.c (includes): Likewise.
51059
51060 2008-06-10  Bruno Haible  <bruno@clisp.org>
51061
51062         * lib/wait-process.c (wait_subprocess): Add an assertion.
51063
51064 2008-06-10  Bruno Haible  <bruno@clisp.org>
51065
51066         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
51067
51068 2008-06-10  Bruno Haible  <bruno@clisp.org>
51069
51070         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
51071         using alarm().
51072         * tests/test-strcasestr.c (main): Likewise.
51073         * tests/test-strstr.c (main): Likewise.
51074
51075 2008-06-09  Bruno Haible  <bruno@clisp.org>
51076
51077         Work around the Solaris 10 ACE ACLs ABI change.
51078         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
51079         declare if ACL_NO_TRIVIAL is present.
51080         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
51081         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
51082         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
51083         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
51084         define if ACL_NO_TRIVIAL is present.
51085         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
51086         and use the current ABI.
51087         (file_has_acl): Use same #if condition as elsewhere.
51088         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
51089         in use, and use the current ABI.
51090         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
51091         Reported by Jim Meyering.
51092
51093 2008-06-09  Eric Blake  <ebb9@byu.net>
51094
51095         Work around environments that (stupidly) ignore SIGALRM.
51096         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
51097         before using alarm().
51098         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51099         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
51100         Reported by Ian Beckwith <ianb@erislabs.net>.
51101
51102         Produce autobuild blurb earlier in log.
51103         * modules/autobuild (configure.ac-early): Move AB_INIT here.
51104
51105 2008-06-09  Jim Meyering  <meyering@redhat.com>
51106         and OndÅ™ej Vašík  <ovasik@redhat.com>
51107
51108         utimens.c: correct kernel bug work-around
51109         OndÅ™ej Vašík found that the invalid return value of 280 indicates
51110         failure, not success, and the kernel bug we're trying to work
51111         around affects not just the utimensat call, but also the fallback
51112         futimens call.
51113         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
51114         not success.
51115         [HAVE_FUTIMENS]: Use the same work-around, here.
51116
51117 2008-06-09  Jim Meyering  <meyering@redhat.com>
51118
51119         add more guards around definition of ACE_-related code
51120         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
51121         ALLOW and ACE_OWNER are also defined.
51122
51123 2008-06-08  Bruno Haible  <bruno@clisp.org>
51124
51125         * lib/acl-internal.h: Add me as co-author.
51126         * lib/file-has-acl.c: Likewise.
51127         * lib/set-mode-acl.c: Likewise.
51128         * lib/copy-acl.c: Likewise.
51129
51130 2008-06-08  Bruno Haible  <bruno@clisp.org>
51131
51132         Add support for AIX ACLs.
51133         * lib/acl-internal.h (acl_nontrivial): New declaration.
51134         * lib/file-has-acl.c (acl_nontrivial): New function.
51135         (file_has_acl): Add implementation using AIX 4 ACL API.
51136         * lib/set-mode-acl.c (qset_acl): Likewise.
51137         * lib/copy-acl.c (qcopy_acl): Likewise.
51138
51139 2008-06-08  Bruno Haible  <bruno@clisp.org>
51140
51141         Add support for HP-UX ACLs.
51142         * lib/acl-internal.h (acl_nontrivial): New declaration.
51143         * lib/file-has-acl.c (acl_nontrivial): New function.
51144         (file_has_acl): Add implementation using HP-UX 11 ACL API.
51145         * lib/set-mode-acl.c (qset_acl): Likewise.
51146         * lib/copy-acl.c (qcopy_acl): Likewise.
51147
51148 2008-06-08  Bruno Haible  <bruno@clisp.org>
51149
51150         Add support for Cygwin ACLs.
51151         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
51152         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
51153         the chmod_or_fchmod call.
51154         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
51155
51156 2008-06-08  Bruno Haible  <bruno@clisp.org>
51157
51158         Fix bug with setuid modes in Solaris 10+ code.
51159         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
51160         succeeded, when the mode contains some special bits.
51161
51162 2008-06-08  Bruno Haible  <bruno@clisp.org>
51163
51164         Add support for Solaris 7..10 ACLs.
51165         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
51166         declarations.
51167         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
51168         functions.
51169         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
51170         * lib/set-mode-acl.c (qset_acl): Likewise.
51171         * lib/copy-acl.c (qcopy_acl): Likewise.
51172
51173 2008-06-08  Bruno Haible  <bruno@clisp.org>
51174
51175         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
51176         declaration.
51177         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
51178         (acl_access_nontrivial): Remove MacOS X case.
51179         (file_has_acl): Use acl_extended_nontrivial.
51180         * lib/copy-acl.c (qcopy_acl): Likewise.
51181
51182 2008-06-08  Bruno Haible  <bruno@clisp.org>
51183
51184         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
51185
51186 2008-06-08  Jim Meyering  <meyering@redhat.com>
51187
51188         * modules/acl (Maintainer): Add Bruno Haible.
51189
51190 2008-06-07  Bruno Haible  <bruno@clisp.org>
51191
51192         Improve support for Tru64 ACLs.
51193         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
51194         ACL on OSF/1.
51195
51196 2008-06-07  Bruno Haible  <bruno@clisp.org>
51197
51198         Add support for MacOS X ACLs.
51199         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
51200         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
51201         * lib/set-mode-acl.c (qset_acl): Likewise.
51202         * lib/copy-acl.c (qcopy_acl): Likewise.
51203
51204 2008-06-07  Bruno Haible  <bruno@clisp.org>
51205
51206         Fix memory leak introduced on 2008-05-22.
51207         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
51208         use.
51209
51210 2008-06-07  Bruno Haible  <bruno@clisp.org>
51211
51212         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
51213         to construct an empty ACL.
51214
51215 2008-06-07  Bruno Haible  <bruno@clisp.org>
51216
51217         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
51218         precisely.
51219         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
51220
51221 2008-06-07  Bruno Haible  <bruno@clisp.org>
51222
51223         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
51224         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
51225
51226 2008-06-07  Bruno Haible  <bruno@clisp.org>
51227
51228         * doc/posix-functions/_setjmp.texi: Explain the use of this function
51229         regardless of POSIX.
51230         * doc/posix-functions/_longjmp.texi: Likewise.
51231         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
51232         SystemV platform in this case.
51233
51234 2008-06-06  Eric Blake  <ebb9@byu.net>
51235
51236         Document abort() bugs.
51237         * doc/posix-functions/abort.texi (abort): Mention anomalies.
51238
51239         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
51240         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
51241         sigsetjmp.
51242         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
51243         siglongjmp, but only as a macro.
51244         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
51245         is obsolete.
51246         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
51247
51248         Tweak documentation to cover cygwin argz bugs.
51249         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
51250         argz bug fix; no code change needed since no cygwin releases
51251         occurred between the last fix and the bug being tested.
51252         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
51253         module and recently fixed cygwin bugs.
51254         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
51255         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
51256         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
51257         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
51258         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
51259         Likewise.
51260         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
51261         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
51262         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
51263         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
51264         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
51265         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
51266         Likewise.
51267
51268         Avoid gcc warning on cygwin.
51269         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
51270         !ACL_NO_TRIVIAL]: Avoid unused variable.
51271
51272 2008-06-05  Eric Blake  <ebb9@byu.net>
51273
51274         Be tolerant of UNKNOWN version in gnulib-tool test dir.
51275         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
51276         git-version-gen fails to come up with a version.
51277         Reported by Simon Josefsson.
51278
51279 2008-06-05  Jim Meyering  <meyering@redhat.com>
51280             Paul Eggert  <eggert@cs.ucla.edu>
51281
51282         utimens.c: work around a probable Linux kernel bug
51283         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
51284         appears to be a kernel bug that causes utimensat to return 280
51285         instead of 0, indicating success.
51286
51287 2008-06-04  Bruno Haible  <bruno@clisp.org>
51288
51289         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
51290         2008-06-01 commit.
51291
51292 2008-06-04  Bruno Haible  <bruno@clisp.org>
51293
51294         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
51295         * lib/file-has-acl.c (acl_access_nontrivial): New function.
51296         (file_has_acl): Use it. Save errno afterwards.
51297         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
51298
51299 2008-06-03  Bruno Haible  <bruno@clisp.org>
51300
51301         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
51302         draft code. Simplify #ifs.
51303         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
51304         Put Solaris code after POSIX-draft code. Fix comments regarding
51305         Solaris 10, HP-UX. Mention Cygwin.
51306         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
51307
51308 2008-06-03  Eric Blake  <ebb9@byu.net>
51309
51310         Provide fallback for older kernels.
51311         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
51312         Provide runtime fallback if kernel lacks support.
51313         Reported by Mike Frysinger.
51314
51315 2008-06-02  Bruno Haible  <bruno@clisp.org>
51316
51317         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
51318         it exists.
51319
51320 2008-06-02  Bruno Haible  <bruno@clisp.org>
51321
51322         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
51323         * lib/copy-acl.c (qcopy_acl): Update comment.
51324
51325 2008-06-02  Bruno Haible  <bruno@clisp.org>
51326
51327         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
51328         like ACL APIs.
51329
51330 2008-06-02  Bruno Haible  <bruno@clisp.org>
51331
51332         * tests/test-file-has-acl.sh: Use different code for Cygwin.
51333         * tests/test-set-mode-acl.sh: Likewise.
51334         * tests/test-copy-acl.sh: Likewise.
51335         * tests/test-copy-file.sh: Likewise.
51336
51337 2008-06-02  Bruno Haible  <bruno@clisp.org>
51338
51339         * tests/test-file-has-acl.sh: Remove unused code.
51340
51341 2008-06-01  Bruno Haible  <bruno@clisp.org>
51342
51343         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
51344         (copy_acl): Just a wrapper around qcopy_acl that emits the error
51345         messages.
51346         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
51347
51348 2008-06-01  Bruno Haible  <bruno@clisp.org>
51349
51350         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
51351         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
51352         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
51353         APIs.
51354         * modules/acl-tests (configure.ac): Remove tests now contained in
51355         m4/acl.m4.
51356
51357 2008-06-02  Jim Meyering  <meyering@redhat.com>
51358
51359         announce-gen: use a better key-server host name
51360         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
51361         it may be more consistently reliable.  Suggested by Werner Koch
51362         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
51363
51364 2008-06-01  Bruno Haible  <bruno@clisp.org>
51365
51366         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
51367         Reported by Voroskoi Andras <voroskoi@gmail.com>.
51368
51369 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
51370
51371         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
51372
51373 2008-06-01  Bruno Haible  <bruno@clisp.org>
51374
51375         New ACL tests.
51376         * tests/test-file-has-acl.sh: New file.
51377         * tests/test-file-has-acl.c: New file.
51378         * tests/test-set-mode-acl.sh: New file.
51379         * tests/test-set-mode-acl.c: New file.
51380         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
51381         * tests/test-copy-acl.c: New file.
51382         * modules/acl-tests: New file, based on modules/copy-file-tests.
51383         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
51384         (Depends-on): Add acl-tests.
51385         (configure.ac): Remove checks.
51386         (Makefile.am): Don't create test-sameacls program here any more.
51387
51388 2008-06-01  Bruno Haible  <bruno@clisp.org>
51389
51390         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
51391         * tests/test-sameacls.c: Include progname.h.
51392         (main): Invoke set_program_name. Portability fixes for MacOS X,
51393         Solaris, HP-UX.
51394
51395 2008-06-01  Bruno Haible  <bruno@clisp.org>
51396
51397         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
51398         function.
51399         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
51400
51401 2008-06-01  Bruno Haible  <bruno@clisp.org>
51402
51403         * modules/rpmatch (Depends-on): Add strdup.
51404
51405 2008-06-01  Bruno Haible  <bruno@clisp.org>
51406
51407         * lib/pipe.c: Include unistd-safer.h.
51408         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
51409         * modules/pipe (Depends-on): Add unistd-safer.
51410
51411 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51412
51413         * modules/autobuild (configure.ac): Call AB_INIT.
51414
51415 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51416
51417         * tests/test-getaddrinfo.c: Don't print debug messages by default.
51418         Suggested by Bruno Haible <bruno@clisp.org>.
51419
51420 2008-05-30  Simon Josefsson  <simon@josefsson.org>
51421
51422         * tests/test-base64.c: Cast size_t to unsigned long when invoking
51423         printf.  Use %lu instead of %d.  Reported by Bruno Haible
51424         <bruno@clisp.org>.
51425
51426 2008-05-29  Eric Blake  <ebb9@byu.net>
51427
51428         Prefer new POSIX 200x interfaces over futimesat.
51429         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
51430         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
51431         when available.
51432         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
51433
51434 2008-05-28  Bruno Haible  <bruno@clisp.org>
51435
51436         * modules/stpcpy (License): Change to LGPLv2+.
51437         Requested by David Lutterkort <dlutter@redhat.com>.
51438
51439 2008-05-27  Bruno Haible  <bruno@clisp.org>
51440
51441         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
51442         current mingw.
51443         Reported by Jose E. Marchesi <jemarch@gnu.org>.
51444
51445 2008-05-27  Bruno Haible  <bruno@clisp.org>
51446
51447         * modules/iconv_open (Link): New section, from module 'iconv'.
51448         * modules/striconv (Link): Likewise.
51449         * modules/striconveh (Link): Likewise.
51450         * modules/xstriconv (Link): Likewise.
51451         * modules/unicodeio (Link): Likewise.
51452         * modules/propername (Link): Likewise.
51453         Reported by Jim Meyering.
51454
51455 2008-05-26  Jim Meyering  <meyering@redhat.com>
51456
51457         sha256: do not artificially restrict buffer length to be < 2^32
51458         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
51459         uint32_t to size_t.
51460         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
51461         to match.
51462
51463         avoid unaligned access errors, e.g., on sparc
51464         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
51465         direct access through a possibly-unaligned uint64* pointer.
51466         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
51467         direct access through a possibly-unaligned uint32* pointer.
51468         Prompted by this patch from Tom "spot" Callaway:
51469         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
51470
51471         sha512.c: fix typo in comment
51472         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
51473
51474 2008-05-25  Bruno Haible  <bruno@clisp.org>
51475
51476         * lib/set-mode-acl.c: Renamed from lib/acl.c.
51477         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
51478         (Makefile.am): Update lib_SOURCES.
51479
51480 2008-05-25  Bruno Haible  <bruno@clisp.org>
51481
51482         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
51483
51484 2008-05-25  Jim Meyering  <meyering@redhat.com>
51485
51486         useless-if-before-free: freed expr may have white-space differences
51487         * build-aux/useless-if-before-free: Recognize cases in which the
51488         freed expression differs from the tested one in embedded white
51489         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
51490         $1 was used, so we can't make any regexp shy.  Improved tests now
51491         detect this.
51492
51493         useless-if-before-free: accept white space in the expression.
51494         * build-aux/useless-if-before-free: For now, any white space
51495         in the expression must be identical in the free argument.
51496
51497         useless-if-before-free: efficiency tweak
51498         * build-aux/useless-if-before-free: Make the expression-matching
51499         regexp "shy".
51500         Make the *outer* regexp shy, not the expr-matching one.
51501
51502         update code-in-comment to accept cast of free arg
51503         * build-aux/useless-if-before-free: Update regexp.
51504
51505 2008-05-25  Bruno Haible  <bruno@clisp.org>
51506
51507         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
51508         * modules/copy-file-tests (Files, Makefile.am): Update.
51509         * tests/test-copy-file.c (func_test_copy): Update.
51510
51511 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
51512
51513         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
51514
51515 2008-05-23  Bruno Haible  <bruno@clisp.org>
51516
51517         Improve support for ACLs on OSF/1.
51518         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
51519         Remove fallback for unknown flavors of ACLs.
51520
51521 2008-05-22  Bruno Haible  <bruno@clisp.org>
51522
51523         Add support for ACLs on OSF/1.
51524         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
51525         replacements.
51526         (acl_free_text): New macro fallback.
51527         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
51528         acl_free.
51529         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
51530         acl_free_text function. Require AC_C_INLINE.
51531
51532 2008-05-22  Bruno Haible  <bruno@clisp.org>
51533
51534         Make copy_acl work on MacOS X 10.5.
51535         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
51536         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
51537         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
51538         If MODE_INSIDE_ACL, don't assume that every system has the same text
51539         representation for ACLs as FreeBSD.
51540         * lib/copy-acl.c (copy_acl): Add support for platforms with
51541         !MODE_INSIDE_ACL.
51542         * lib/file-has-acl.c (file_has_acl): Likewise.
51543         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
51544         FreeBSD, MacOS X, or IRIX, respectively.
51545
51546 2008-05-22  Bruno Haible  <bruno@clisp.org>
51547
51548         * lib/acl.h: Don't include <sys/acl.h>.
51549         (GETACLCNT): Move fallback to lib/acl-internal.h.
51550         * lib/acl-internal.h: Include <sys/acl.h> here.
51551         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
51552
51553 2008-05-22  Bruno Haible  <bruno@clisp.org>
51554
51555         Split off copy_acl function to separate file.
51556         * lib/copy-acl.c: New file, extracted from lib/acl.c.
51557         * lib/acl.c (copy_acl): Moved function to separate file.
51558         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
51559         * modules/acl (Files): Add lib/copy-acl.c.
51560         (Makefiles.am): Augment lib_SOURCES.
51561
51562 2008-05-22  Bruno Haible  <bruno@clisp.org>
51563
51564         * modules/copy-file-tests: New file.
51565         * tests/test-copy-file.sh: New file.
51566         * tests/test-copy-file.c: New file.
51567         * tests/test-copy-file-sameacls.c: New file.
51568
51569 2008-05-22  Eric Blake  <ebb9@byu.net>
51570
51571         Avoid gcc warning.
51572         * tests/test-memcmp.c (main): Pass NULL indirectly.
51573
51574 2008-05-21  Bruno Haible  <bruno@clisp.org>
51575
51576         Add reference doc about ACLs.
51577         * doc/acl-resources.txt: New file.
51578         * doc/acl-cygwin.txt: New file.
51579
51580 2008-05-21  Bruno Haible  <bruno@clisp.org>
51581
51582         Avoid one more warning from gcc.
51583         * lib/vasnprintf.c (IF_LINT): Update comments.
51584         (VASNPRINTF): Use it also for the 'prefix' array initializer.
51585
51586 2008-05-21  Jim Meyering  <meyering@redhat.com>
51587
51588         avoid a warning from gcc
51589         * lib/vasnprintf.c (IF_LINT): Define.
51590         (scale10_round_decimal_long_double):
51591         Use it to avoid a "may be used uninitialized" warning.
51592         (scale10_round_decimal_double): Likewise.
51593
51594 2008-05-21  Simon Josefsson  <simon@josefsson.org>
51595
51596         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
51597         declared.
51598
51599 2008-05-20  Bruno Haible  <bruno@clisp.org>
51600
51601         * tests/test-memcmp.c (main): Test also the sign of the result. Test
51602         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
51603
51604 2008-05-20  Simon Josefsson  <simon@josefsson.org>
51605
51606         * modules/memcmp-tests: New file.
51607         * tests/test-memcmp.c: New file.
51608
51609 2008-05-19  Bruno Haible  <bruno@clisp.org>
51610
51611         * modules/propername (Notice, configure.ac): Put quoted "..." into
51612         --keyword option.
51613         * lib/propername.h: Update comments accordingly.
51614         Reported by Eric Blake.
51615
51616 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
51617
51618         * modules/getpass-gnu (Depends-on): Add fseeko.
51619
51620 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51621
51622         * modules/base64-tests: New file.
51623
51624 2008-05-19  Bo Borgerson <gigabo@gmail.com>
51625
51626         * lib/base64.c (base64_decode_ctx): If a decode context structure
51627         was passed in use it to ignore newlines.  If a context structure
51628         was _not_ passed in, continue to treat newlines as garbage (this
51629         is the historical behavior).  Formerly base64_decode.
51630         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51631         takes a decode context structure.
51632         * lib/base64.h (base64_decode): Macro for four-argument calls.
51633         (base64_decode_alloc): Likewise.
51634         * lib/base64.c (base64_decode_ctx): If a decode context structure
51635         was passed in use it to ignore newlines.  If a context structure
51636         was _not_ passed in, continue to treat newlines as garbage (this
51637         is the historical behavior).  Formerly base64_decode.
51638         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
51639         takes a decode context structure.
51640         * lib/base64.h (base64_decode): Macro for four-argument calls.
51641         (base64_decode_alloc): Likewise.
51642
51643 2008-05-19  Jim Meyering  <meyering@redhat.com>
51644
51645         avoid a warning from gcc
51646         * lib/trim.c (IF_LINT): Define.
51647         (trim2): Use it to avoid a "may be used uninitialized" warning.
51648
51649         Fix doc typo.
51650         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
51651
51652 2008-05-19  Bruno Haible  <bruno@clisp.org>
51653
51654         * doc/glibc-functions/getpass.texi: Document limits of other
51655         implementations.
51656
51657 2008-05-19  Simon Josefsson  <simon@josefsson.org>
51658             Bruno Haible <bruno@clisp.org>
51659
51660         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
51661
51662 2008-05-18  Bruno Haible  <bruno@clisp.org>
51663
51664         * modules/propername: New file, from GNU gettext.
51665         * lib/propername.h: New file, from GNU gettext.
51666         * lib/propername.c: New file, from GNU gettext.
51667         * MODULES.html.sh (Internationalization functions): Add propername.
51668
51669 2008-05-16  Jim Meyering  <meyering@redhat.com>
51670             Bruno Haible  <bruno@clisp.org>
51671
51672         Avoid some warnings from "gcc -Wshadow".
51673         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
51674
51675 2008-05-15  Eric Blake  <ebb9@byu.net>
51676
51677         Extend previous patch to cygwin 1.7.0.
51678         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
51679         fast implementation in cygwin >= 1.7.0.
51680         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51681         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51682
51683 2008-05-15  Bruno Haible  <bruno@clisp.org>
51684
51685         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
51686         implementation in glibc >= 2.9.
51687         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51688         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51689
51690 2008-05-15  Bruno Haible  <bruno@clisp.org>
51691
51692         * MODULES.html.sh (Internationalization functions): Remove linebreak.
51693         (Unicode string functions): Add unilbrk/*.
51694         Reported by Karl Berry.
51695
51696 2008-05-15  Eric Blake  <ebb9@byu.net>
51697
51698         Fix violation of <stdbool.h> replacement in regex.
51699         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
51700         * lib/regexec.c (re_search_internal): Likewise.
51701         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
51702
51703 2008-05-15  Jim Meyering  <meyering@redhat.com>
51704
51705         avoid distracting test output when git or cvs is not found
51706         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
51707         * tests/test-vc-list-files-git.sh: Likewise.
51708
51709 2008-05-15  Eric Blake  <ebb9@byu.net>
51710
51711         Glibc finally accepted the memmem speedup code, bugzilla #5514.
51712         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
51713         glibc version.
51714         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
51715         * doc/posix-functions/strstr.texi (strstr): Likewise.
51716         * lib/str-two-way.h (MAX): Sychronize with glibc.
51717
51718 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
51719
51720         * lib/regcomp.c (optimize_utf8): Add a note on why we test
51721         opr.ctx_type.
51722         (calc_first): Initialize constraint field.
51723         (duplicate_node_closure): Use it instead of special casing ANCHORS.
51724         Fix grammar.
51725         (duplicate_node): Merge constraint field for all node types.
51726         (calc_eclosure_iter): Look at constraint field for all node types.
51727         * lib/regex_internal.c (create_cd_newstate): Don't look at
51728         opr.ctx_type.
51729
51730 2008-05-14  Bruno Haible  <bruno@clisp.org>
51731
51732         Help GCC to do better code generation.
51733         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
51734         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
51735         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
51736         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
51737         Declare with attribute 'malloc' if supported.
51738
51739 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
51740
51741         use "echo STR|wc -c" rather than unportable "expr length STR"
51742         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
51743         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
51744
51745 2008-05-14  Jim Meyering  <meyering@redhat.com>
51746
51747         use dd ibs=$n count=1 ... rather than less-portable head -c$n
51748         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
51749         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
51750         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
51751         via Collin Lasse.
51752
51753 2008-05-14  Eric Blake  <ebb9@byu.net>
51754
51755         Avoid quadratic growth in gl_LIBSOURCES.
51756         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
51757         Suggested by Bruno Haible.
51758
51759         Test xmemdup0.
51760         * modules/xmemdup0-tests: New file.
51761         * tests/test-xmemdup0.c: Likewise.
51762
51763 2008-05-13  Eric Blake  <ebb9@byu.net>
51764
51765         Split xmemdup0 into its own module.
51766         * modules/xmemdup0: New file.
51767         * lib/xmemdup0.h: Likewise.
51768         * lib/xmemdup0.c: Likewise.
51769         * MODULES.html.sh (Memory management functions): Add xmemdup0.
51770         * lib/xalloc.h (xmemdup0): Remove.
51771         * lib/xmalloc.c (xmemdup0): Likewise.
51772
51773 2008-05-13  Eric Blake  <ebb9@byu.net>
51774             Bruno Haible  <bruno@clisp.org>
51775
51776         Reduce number of forks required during autoconf.
51777         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
51778         and gl_LIBSOURCES_DIR.
51779         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
51780         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
51781         m4_syscmd per file.
51782         <m4_foreach_w>: Move...
51783         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
51784
51785 2008-05-13  Eric Blake  <ebb9@byu.net>
51786
51787         * gnulib-tool: Fix various comment typos.
51788
51789 2008-05-12  Bruno Haible  <bruno@clisp.org>
51790
51791         Tailor the linebreaking algorithm.
51792         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
51793
51794 2008-05-12  Bruno Haible  <bruno@clisp.org>
51795
51796         Update to Unicode 5.0.0.
51797         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51798         LBP_JV, LBP_JT. Redistribute values.
51799         (unilbrk_table): Change size.
51800         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
51801         Unicode TR#14 rev. 22.
51802         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
51803         LBP_JV, LBP_JT. Redistribute values.
51804         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
51805         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
51806         Update.
51807         * lib/unilbrk/lbrkprop1.h: Regenerated.
51808         * lib/unilbrk/lbrkprop2.h: Regenerated.
51809         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
51810         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
51811         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
51812         Likewise.
51813         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
51814         Likewise.
51815         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
51816         result.
51817         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
51818         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
51819         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
51820         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
51821         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
51822         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
51823
51824 2008-05-11  Bruno Haible  <bruno@clisp.org>
51825
51826         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
51827
51828 2008-05-11  Bruno Haible  <bruno@clisp.org>
51829
51830         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
51831         * modules/unilbrk/gen-lbrk: New file.
51832
51833 2008-05-11  Bruno Haible  <bruno@clisp.org>
51834
51835         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
51836         * m4/sha512.m4 (gl_SHA512): Likewise.
51837
51838 2008-05-11  Jim Meyering  <meyering@redhat.com>
51839
51840         New modules: crypto/sha256, crypto/sha512 (from coreutils)
51841         * modules/crypto/sha256: New file.
51842         * modules/crypto/sha512: Likewise.
51843         * lib/sha256.c: Likewise.
51844         * lib/sha256.h: Likewise.
51845         * lib/sha512.c: Likewise.
51846         * lib/sha512.h: Likewise.
51847         * lib/u64.h: Likewise.
51848         * m4/sha256.m4: Likewise.
51849         * m4/sha512.m4: Likewise.
51850         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
51851
51852 2008-05-10  Bruno Haible  <bruno@clisp.org>
51853
51854         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
51855         (Input/Output <stdio.h>): Add xprintf.
51856         (Signal handling <signal.h>): Add strsignal.
51857         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
51858         (Core language properties): Add func.
51859         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
51860         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
51861         strings.
51862         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
51863         (Input/output): New section.
51864         (File system functions): Add openat-die, stat-macros.
51865         (Networking functions): Add sockets.
51866         (Unicode string functions): Add unictype/*.
51867         (Support for building libraries and executables): Add gperf.
51868         (Support for building documentation): Add agpl-3.0.
51869         (Misc): Add nocrash.
51870
51871 2008-05-10  Bruno Haible  <bruno@clisp.org>
51872
51873         * modules/unictype/gen-ctype: New file.
51874
51875 2008-05-10  Jim Meyering  <meyering@redhat.com>
51876
51877         Make chdir-safer.c more efficient on a system with no symlinks.
51878         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
51879         also if ELOOP is zero.  Suggested by Bruno Haible.
51880
51881         Make chdir-safer.c slightly safer.
51882         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
51883         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
51884
51885         Avoid compile failure on systems without ELOOP (like mingw).
51886         * lib/chdir-safer.c (ELOOP): Define if not already defined.
51887         Reported by Bruno Haible.
51888
51889 2008-05-10  Bruno Haible  <bruno@clisp.org>
51890
51891         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
51892         (is_utf8_encoding): Use a case-insensitive comparison.
51893         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
51894         streq.
51895
51896 2008-05-10  Bruno Haible  <bruno@clisp.org>
51897
51898         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
51899         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
51900         * lib/unilbrk/ulc-common.h (iconv_string_length,
51901         iconv_string_keeping_offsets): Remove declarations.
51902         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
51903         Don't include <iconv.h>, streq.h, xsize.h.
51904         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
51905         conversion.
51906         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
51907         <iconv.h>, streq.h, xsize.h.
51908         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
51909         conversion.
51910         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
51911         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
51912         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
51913         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
51914
51915 2008-05-10  Bruno Haible  <bruno@clisp.org>
51916
51917         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
51918         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
51919
51920         * modules/unilbrk/u32-width-linebreaks-tests: New file.
51921         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
51922
51923         * modules/unilbrk/u16-width-linebreaks-tests: New file.
51924         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
51925
51926         * modules/unilbrk/u8-width-linebreaks-tests: New file.
51927         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
51928
51929         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
51930         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
51931
51932         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
51933         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
51934
51935         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
51936         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
51937
51938         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
51939         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
51940
51941 2008-05-10  Bruno Haible  <bruno@clisp.org>
51942
51943         Split up 'linebreak' module.
51944         * lib/unilbrk.h: New file, based on lib/linebreak.h.
51945         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
51946         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
51947         modifications.
51948         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
51949         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
51950         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
51951         lib/linebreak.c.
51952         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
51953         lib/linebreak.c.
51954         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
51955         lib/linebreak.c.
51956         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
51957         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
51958         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
51959         lib/linebreak.c.
51960         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
51961         lib/linebreak.c.
51962         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
51963         lib/linebreak.c.
51964         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
51965         lib/linebreak.c.
51966         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
51967         lib/linebreak.c.
51968         * modules/unilbrk/base: New file.
51969         * modules/unilbrk/tables: New file.
51970         * modules/unilbrk/u8-possible-linebreaks: New file.
51971         * modules/unilbrk/u16-possible-linebreaks: New file.
51972         * modules/unilbrk/u32-possible-linebreaks: New file.
51973         * modules/unilbrk/ulc-common: New file.
51974         * modules/unilbrk/ulc-possible-linebreaks: New file.
51975         * modules/unilbrk/u8-width-linebreaks: New file.
51976         * modules/unilbrk/u16-width-linebreaks: New file.
51977         * modules/unilbrk/u32-width-linebreaks: New file.
51978         * modules/unilbrk/ulc-width-linebreaks: New file.
51979         * lib/linebreak.h: Remove file.
51980         * lib/linebreak.c: Remove file.
51981         * m4/linebreak.m4: Remove file.
51982         * modules/linebreak: Remove file.
51983         * NEWS: Mention the changes.
51984
51985 2008-05-09  Eric Blake  <ebb9@byu.net>
51986
51987         Add xmemdup0.
51988         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
51989         implementation.
51990         * lib/xmalloc.c (xmemdup0): New C implementation.
51991
51992 2008-05-08  Bruno Haible  <bruno@clisp.org>
51993
51994         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
51995
51996 2008-05-07  Eric Blake  <ebb9@byu.net>
51997
51998         Support cross-compilation of <wctype.h>.
51999         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
52000         AC_CACHE_CHECK.
52001
52002 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
52003
52004         * build-aux/vc-list-files: Add support for bzr.
52005
52006 2008-05-03  Jim Meyering  <meyering@redhat.com>
52007
52008         avoid failed assertion with tight malloc
52009         * tests/test-getndelim2.c: Correct an off-by-one assertion.
52010
52011 2008-05-03  Simon Josefsson  <simon@josefsson.org>
52012
52013         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
52014         are needed from arpa/inet.h.
52015         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
52016         Reported by Bruno Haible.
52017
52018 2008-05-02  Jim Meyering  <meyering@redhat.com>
52019
52020         avoid compilation error on FreeBSD 6
52021         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
52022
52023 2008-05-01  Jim Meyering  <meyering@redhat.com>
52024
52025         useless-if-before-free: correct --help's exit status description
52026         * build-aux/useless-if-before-free (usage): Like grep, exit 0
52027         for one or more matches, etc.  Reported by Bruno Haible.
52028
52029         vc-list-files: make the stand-alone gnulib test work
52030         * modules/vc-list-files-tests (configure.ac):
52031         Define and AC_SUBST abs_aux_dir.
52032         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
52033         $(abs_top_srcdir) to each script and having each of them
52034         duplicate the work of setting PATH, set PATH here, using
52035         the new variable, abs_aux_dir instead.
52036         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
52037         * tests/test-vc-list-files-git.sh: Likewise.
52038         Reported by Bruno Haible.
52039
52040 2008-05-01  Bruno Haible  <bruno@clisp.org>
52041
52042         * lib/getndelim2.c (getndelim2): Fix newsize computation during
52043         reallocation. Rename 'done' to 'found_delimiter'.
52044
52045 2008-05-01  Jim Meyering  <meyering@redhat.com>
52046
52047         vc-list-files: accommodate /bin/sh like the one from Solaris 10
52048         * build-aux/vc-list-files: Use `...`, not $(...).
52049
52050 2008-04-30  Jim Meyering  <meyering@redhat.com>
52051
52052         add tests for vc-list-files
52053         * modules/vc-list-files-tests: New module.
52054         * tests/test-vc-list-files-cvs.sh: New file.
52055         * tests/test-vc-list-files-git.sh: New file.
52056
52057         avoid a warning from gcc
52058         * lib/getndelim2.c (IF_LINT): Define.
52059         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
52060
52061         vc-list-files: work properly with build-aux/cvsu, too
52062         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
52063         to all cvs-based clauses.
52064
52065         vc-list-files: work properly in the CVS+awk case, too
52066         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
52067
52068         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
52069         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
52070         take more than one file argument, so .  Add quotes, just in case $dir
52071         ever contains a shell meta-character.  Prompted by Soren Hansen in
52072         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
52073
52074 2008-04-29  Eric Blake  <ebb9@byu.net>
52075
52076         Optimize getndelim2 to use block operations when possible.
52077         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
52078         freadseek, and memchr2.
52079         * lib/getndelim2.c (getndelim2): Use them for block reads.
52080
52081 2008-04-29  Bruno Haible  <bruno@clisp.org>
52082
52083         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
52084         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52085         * modules/inet_ntop (Depends-on): Add extensions.
52086         * modules/inet_pton (Depends-on): Likewise.
52087         Reported by Simon Josefsson.
52088
52089 2008-04-29  Jim Meyering  <meyering@redhat.com>
52090
52091         When the is more than one match in a block, match all of them.
52092         * build-aux/useless-if-before-free: Iterate through each block
52093         until there are no more matches.
52094
52095         Fix broken useless-if-before-free script.
52096         * build-aux/useless-if-before-free: Fix typo: missing "?" after
52097         the expression to match cast of argument to free-like function.
52098
52099 2008-04-29  Eric Blake  <ebb9@byu.net>
52100
52101         Use new header.
52102         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
52103
52104 2008-04-29  Jim Meyering  <meyering@redhat.com>
52105
52106         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
52107         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
52108         by gnulib to exist and to declare e.g., inet_ntop.
52109         Don't include "inet_ntop.h", now removed.
52110
52111         * m4/arpa_inet_h.m4: Remove trailing blanks.
52112
52113 2008-04-29  Eric Blake  <ebb9@byu.net>
52114
52115         Silence valgrind on safe reads beyond potential array bounds.
52116         * lib/rawmemchr.valgrind: New file.
52117         * lib/strchrnul.valgrind: Likewise.
52118         * modules/rawmemchr (Files): Distribute new file.
52119         * modules/strchrnul (Files): Likewise.
52120         Suggested by Bruno Haible.
52121
52122 2008-04-29  Bruno Haible  <bruno@clisp.org>
52123
52124         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
52125         (inet_ntop, inet_pton): Change portability warning's wording.
52126         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
52127         Invoke gl_CHECK_NEXT_HEADERS.
52128         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
52129         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
52130         set ARPA_INET_H.
52131         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52132         * modules/arpa_inet (Description): No longer only for systems that
52133         lack it.
52134         (Depends-on): Add include_next.
52135         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
52136         HAVE_ARPA_INET_H.
52137
52138 2008-04-29  Jim Meyering  <meyering@redhat.com>
52139
52140         * modules/mkdir (License): Re-license as LGPLv2+.
52141
52142 2008-04-29  Bruno Haible  <bruno@clisp.org>
52143
52144         * modules/rawmemchr (Maintainer): Set to Eric.
52145         * modules/strchrnul (Maintainer): Likewise.
52146
52147 2008-04-29  Simon Josefsson  <simon@josefsson.org>
52148
52149         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
52150         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
52151
52152         * modules/arpa_inet (arpa/inet.h): Use them.
52153
52154 2008-04-28  Eric Blake  <ebb9@byu.net>
52155
52156         Test getndelim2.
52157         * modules/getndelim2-tests: New file.
52158         * tests/test-getndelim2.c: Likewise.
52159         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
52160         stream.
52161         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
52162
52163         * MODULES.html.sh: Document new module.
52164
52165 2008-04-20  Bruno Haible  <bruno@clisp.org>
52166
52167         * lib/c-stack.c (die): Use raise.
52168         * modules/c-stack (Depends-on): Add raise.
52169
52170 2008-04-28  Bruno Haible  <bruno@clisp.org>
52171
52172         Expect rpmatch to be declared.
52173         * lib/yesno.c (rpmatch): Remove declaration.
52174
52175         Declare rpmatch.
52176         * lib/stdlib.in.h (rpmatch): New declaration.
52177         * lib/rpmatch.c: Include <stdlib.h> first.
52178         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
52179         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
52180         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
52181         HAVE_RPMATCH.
52182         * modules/rpmatch (Depends-on): Add stdlib, extensions.
52183         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52184         (Include): Set to <stdlib.h>.
52185         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
52186         HAVE_RPMATCH.
52187         * NEWS: Document the change.
52188
52189 2008-04-28  Bruno Haible  <bruno@clisp.org>
52190
52191         Change rpmatch to use nl_langinfo when appropriate.
52192         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
52193         (N_): New macro.
52194         (localized_pattern): New function/macro.
52195         (try): Remove match, nomatch arguments. Copy the pattern into safe
52196         memory before caching it.
52197         (rpmatch): Use localized_pattern. Add translator comments.
52198         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
52199         Suggested by Eric Blake.
52200         * modules/rpmatch (Depends-on): Add stdbool.
52201
52202 2008-04-28  Eric Blake  <ebb9@byu.net>
52203
52204         Add rawmemchr module, matching glibc.
52205         * modules/string (Makefile.am): New indicator.
52206         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
52207         * lib/string.in.h (rawmemchr): Declare when appropriate.
52208         * modules/rawmemchr: New file.
52209         * m4/rawmemchr.m4: Likewise.
52210         * lib/rawmemchr.c: Likewise.
52211         * modules/rawmemchr-tests: Likewise.
52212         * tests/test-rawmemchr.c: Likewise.
52213         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
52214         module.
52215         * modules/strchrnul (Depends-on): Add rawmemchr.
52216         * lib/strchrnul.c (strchrnul): Optimize a corner case.
52217
52218         Whitespace cleanup.
52219         * tests/test-strchrnul.c: Reindent.
52220         * lib/strchrnul.c: Likewise.
52221
52222         Optimize and test strchrnul.
52223         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
52224         * modules/strchrnul-tests: New file.
52225         * tests/test-strchrnul.c: Likewise.
52226
52227         Remove intprops dependency.
52228         * modules/memchr (Depends-on): Remove intprops.
52229         * modules/memrchr (Depends-on): Likewise.
52230         * modules/memchr2 (Depends-on): Likewise.
52231         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
52232         * lib/memrchr.c (__memrchr): Likewise.
52233         * lib/memrchr2.c (memchr2): Likewise.
52234         Reported by Simon Josefsson.
52235
52236 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52237
52238         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
52239         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52240
52241 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52242
52243         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
52244
52245         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
52246
52247         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
52248
52249         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
52250         declarations.
52251         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
52252
52253         * m4/inet_pton.m4: Don't check for header files.
52254
52255         * m4/inet_ntop.m4: Don't check for header files.
52256
52257 2008-04-28  Simon Josefsson  <simon@josefsson.org>
52258
52259         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
52260         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
52261         trigger for cygwin).
52262         Reported by Bruno Haible  <bruno@clisp.org>.
52263
52264 2008-04-28  Bruno Haible  <bruno@clisp.org>
52265
52266         * doc/posix-functions/strdup.texi: Mention mingw problem.
52267
52268 2008-04-27  Bruno Haible  <bruno@clisp.org>
52269
52270         * modules/stat-time-tests (Depends-on): Add sleep.
52271         * tests/test-stat-time.c (force_unlink): New function.
52272         (cleanup): Use it.
52273         (test_mtime): Remove the ctime related tests.
52274         (test_ctime): New function, containing the ctime related tests.
52275         (main): Call test_ctime, except on native Windows platforms.
52276
52277 2008-04-27  Bruno Haible  <bruno@clisp.org>
52278
52279         * lib/rpmatch.c (rpmatch): Add some comments.
52280         Reported by James Youngman <jay@gnu.org>.
52281
52282 2008-04-27  Bruno Haible  <bruno@clisp.org>
52283
52284         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
52285         quiet NaNs.
52286
52287 2008-04-27  Bruno Haible  <bruno@clisp.org>
52288
52289         Make test-yesno.sh work on mingw.
52290         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
52291         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
52292         (main): Set stdin to binary mode.
52293         * modules/yesno-tests (Depends-on): Add binary-io.
52294
52295 2008-04-27  Bruno Haible  <bruno@clisp.org>
52296
52297         Fix 'isfinite' on x86, x86_64, ia64 platforms.
52298         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
52299         argument that lie outside the IEEE 854 domain.
52300         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
52301         (gl_ISFINITE): Use it.
52302         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
52303
52304 2008-04-27  Bruno Haible  <bruno@clisp.org>
52305
52306         Allow local renaming in config.h.
52307         * lib/memrchr.c (memrchr): Don't undefine outside libc.
52308
52309 2008-04-27  Bruno Haible  <bruno@clisp.org>
52310
52311         * lib/memchr.c (__memchr): Change type of 'i'.
52312         * lib/memchr2.c (memchr2): Likewise.
52313
52314 2008-04-26  Eric Blake  <ebb9@byu.net>
52315         and Bruno Haible  <bruno@clisp.org>
52316
52317         Optimize and test memrchr.
52318         * modules/memrchr (Depends-on): Add intprops.
52319         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
52320         * modules/memrchr-tests: New file.
52321         * tests/test-memrchr.c: New file.
52322
52323 2008-04-26  Bruno Haible  <bruno@clisp.org>
52324
52325         Add tentative support for DragonFly BSD.
52326         * lib/stdio-impl.h: Add macros for DragonFly BSD.
52327         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
52328         fp.
52329         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52330         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
52331         * lib/fpurge.c (fpurge): Likewise.
52332         * lib/freadable.c (freaadable): Likewise.
52333         * lib/freadahead.c (freadahead): Likewise.
52334         * lib/freading.c (freading): Likewise.
52335         * lib/freadptr.c (freadptr): Likewise.
52336         * lib/freadseek.c (freadptrinc): Likewise.
52337         * lib/fseeko.c (fseeko): Likewise.
52338         * lib/fseterr.c (fseterr): Likewise.
52339         * lib/fwritable.c (fwritable): Likewise.
52340         * lib/fwriting.c (fwriting): Likewise.
52341
52342 2008-04-26  Bruno Haible  <bruno@clisp.org>
52343
52344         * lib/stdio-impl.h: New file.
52345         * lib/fbufmode.c: Include stdio-impl.h.
52346         (fbufmode): Use fp_, remove redundant #defines.
52347         * lib/fflush.c: Include stdio-impl.h.
52348         (clear_ungetc_buffer): Remove redundant #defines.
52349         * lib/fpurge.c: Include stdio-impl.h.
52350         (fpurge): Remove redundant #defines.
52351         * lib/freadable.c: Include stdio-impl.h.
52352         (freadable): Remove redundant #defines.
52353         * lib/freadahead.c: Include stdio-impl.h.
52354         (freadahead): Remove redundant #defines.
52355         * lib/freading.c: Include stdio-impl.h.
52356         (freading): Remove redundant #defines.
52357         * lib/freadptr.c: Include stdio-impl.h.
52358         (freadptr): Remove redundant #defines.
52359         * lib/freadseek.c: Include stdio-impl.h.
52360         (freadptrinc): Remove redundant #defines.
52361         * lib/fseeko.c: Include stdio-impl.h.
52362         (rpl_fseeko): Remove redundant #defines.
52363         * lib/fseterr.c: Include stdio-impl.h.
52364         (fseterr): Remove redundant #defines.
52365         * lib/fwritable.c: Include stdio-impl.h.
52366         (fwritable: Remove redundant #defines.
52367         * lib/fwriting.c: Include stdio-impl.h.
52368         (fwriting): Remove redundant #defines.
52369         * modules/fbufmode (Files): Add lib/stdio-impl.h.
52370         * modules/fflush (Files): Likewise.
52371         * modules/fpurge (Files): Likewise.
52372         * modules/freadable (Files): Likewise.
52373         * modules/freadahead (Files): Likewise.
52374         * modules/freading (Files): Likewise.
52375         * modules/freadptr (Files): Likewise.
52376         * modules/freadseek (Files): Likewise.
52377         * modules/fseeko (Files): Likewise.
52378         * modules/fseterr (Files): Likewise.
52379         * modules/fwritable (Files): Likewise.
52380         * modules/fwriting (Files): Likewise.
52381
52382 2008-04-26  Bruno Haible  <bruno@clisp.org>
52383
52384         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
52385         restore_seek_optimization, update_fpos_cache): New functions, extracted
52386         from rpl_fflush.
52387         (rpl_fflush): Use them.
52388         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
52389         (gl_REPLACE_FFLUSH): Use it.
52390
52391 2008-04-26  Bruno Haible  <bruno@clisp.org>
52392
52393         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
52394         on Solaris.
52395         * tests/test-xstrtoimax.sh: Likewise.
52396         * tests/test-xstrtoumax.sh: Likewise.
52397         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52398
52399 2008-04-26  Bruno Haible  <bruno@clisp.org>
52400
52401         * modules/memchr-tests: New file.
52402         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
52403
52404 2008-04-26  Eric Blake  <ebb9@byu.net>
52405             Bruno Haible  <bruno@clisp.org>
52406
52407         * lib/memchr.c: Include intprops.h.
52408         (__memchr): Optimize parallel detection of matching bytes. Rename local
52409         variables. Add explanatory comments.
52410
52411 2008-04-26  Bruno Haible  <bruno@clisp.org>
52412
52413         Fix module 'memchr', broken since 2000-10-28.
52414         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
52415
52416 2008-04-26  Bruno Haible  <bruno@clisp.org>
52417
52418         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
52419         comments.
52420
52421 2008-04-25  Eric Blake  <ebb9@byu.net>
52422
52423         Use native fstatat on cygwin 1.7.0.
52424         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
52425         first.
52426
52427 2008-04-23  Eric Blake  <ebb9@byu.net>
52428
52429         Improve memchr2 performance.
52430         * lib/memchr2.c (memchr2): Further optimize parallel detection of
52431         NUL bytes.
52432         * modules/memchr2 (Depends-on): Use intprops.h.
52433
52434 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52435
52436         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
52437         an inline function instead of a CPP macro.  Patch by Ben Pfaff
52438         <blp@cs.stanford.edu>.
52439
52440 2008-04-23  Simon Josefsson  <simon@josefsson.org>
52441
52442         * lib/arpa_inet.in.h: New file.
52443
52444         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
52445         (Makefile.am): Sed in substitute header file.
52446
52447         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
52448         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
52449
52450         * modules/inet_ntop (configure.ac): Use
52451         gl_ARPA_INET_MODULE_INDICATOR.
52452
52453         * modules/inet_pton (configure.ac): Use
52454         gl_ARPA_INET_MODULE_INDICATOR.
52455
52456 2008-04-22  Jim Meyering  <meyering@redhat.com>
52457
52458         * modules/verify (License): Re-license as LGPLv2+.
52459
52460 2008-04-22  Simon Josefsson  <simon@josefsson.org>
52461
52462         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
52463         parameter to void* as per POSIX standard (MinGW uses char*).
52464
52465 2008-04-21  Bruno Haible  <bruno@clisp.org>
52466
52467         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
52468         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
52469         Define to replacements if REPLACE_ISWCNTRL is 1.
52470         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
52471         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
52472         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
52473         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
52474         what it fixes.
52475         * doc/posix-functions/iswalpha.texi: Likewise.
52476         * doc/posix-functions/iswblank.texi: Likewise.
52477         * doc/posix-functions/iswcntrl.texi: Likewise.
52478         * doc/posix-functions/iswdigit.texi: Likewise.
52479         * doc/posix-functions/iswgraph.texi: Likewise.
52480         * doc/posix-functions/iswlower.texi: Likewise.
52481         * doc/posix-functions/iswprint.texi: Likewise.
52482         * doc/posix-functions/iswpunct.texi: Likewise.
52483         * doc/posix-functions/iswspace.texi: Likewise.
52484         * doc/posix-functions/iswupper.texi: Likewise.
52485         * doc/posix-functions/iswxdigit.texi: Likewise.
52486         Reported by Alain Guibert.
52487
52488 2008-04-21  Bruno Haible  <bruno@clisp.org>
52489
52490         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
52491         Patch by Alain Guibert.
52492
52493 2008-04-21  Bruno Haible  <bruno@clisp.org>
52494
52495         Fix test failures on mingw.
52496         * tests/test-xstrtol.c (print_no_progname): New function.
52497         (main): Install it in error_print_progname hook.
52498         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
52499         * tests/test-xstrtoimax.sh: Likewise.
52500         * tests/test-xstrtoumax.sh: Likewise.
52501
52502 2008-04-21  Bruno Haible  <bruno@clisp.org>
52503
52504         Fix test failure on mingw.
52505         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
52506
52507 2008-04-21  Bruno Haible  <bruno@clisp.org>
52508
52509         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
52510         Actually assign a value.
52511
52512 2008-04-20  Bruno Haible  <bruno@clisp.org>
52513
52514         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
52515         take 2.
52516         * lib/canonicalize.c (canonicalize_file_name): Elide if the
52517         'canonicalize-lgpl' module is also used.
52518         * lib/canonicalize-lgpl.c: Undo last change.
52519         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
52520
52521 2008-04-20  Bruno Haible  <bruno@clisp.org>
52522
52523         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
52524         config.h. Provide _mkdir based fallback for mingw.
52525         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
52526         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
52527         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
52528         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
52529         rather than defining mkdir in config.h.
52530         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
52531         (gl_SYS_STAT_H_DEFAULTS): New macro.
52532         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
52533         HAVE_IO_H any more.
52534         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
52535         HAVE_DECL_MKDIR and HAVE_IO_H.
52536
52537 2008-04-20  Bruno Haible  <bruno@clisp.org>
52538
52539         * lib/isapipe.c: Port to native Windows platforms.
52540
52541 2008-04-20  Bruno Haible  <bruno@clisp.org>
52542
52543         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
52544
52545 2008-04-21  Eric Blake  <ebb9@byu.net>
52546
52547         Work around preprocessors that don't handle UINTMAX_MAX.
52548         * lib/memchr2.c (memchr2): Avoid embedded #if.
52549         Reported by Alain Guibert, fix suggested by Bruno Haible.
52550
52551 2008-04-21  Simon Josefsson  <simon@josefsson.org>
52552
52553         * doc/posix-functions/strftime.texi (strftime): Explain better
52554         Windows incompatibility.  Suggested by Micah Cowan
52555         <micah@cowan.name>.
52556
52557 2008-04-20  Bruno Haible  <bruno@clisp.org>
52558
52559         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
52560         unistr/u8-mblen.
52561
52562 2008-04-20  Bruno Haible  <bruno@clisp.org>
52563
52564         Fix test failure on platforms with non-GNU iconv.
52565         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
52566         (U_TO_U8): Use it, rather than u16_to_u8.
52567         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
52568         units at the end of the input string.
52569         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
52570
52571 2008-04-20  Bruno Haible  <bruno@clisp.org>
52572
52573         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
52574         when the resulting length is 0.
52575         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
52576
52577 2008-04-20  Bruno Haible  <bruno@clisp.org>
52578
52579         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
52580         works.
52581         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
52582
52583 2008-04-20  Bruno Haible  <bruno@clisp.org>
52584
52585         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
52586         * modules/tsearch-tests (configure.ac): Test for initstate function.
52587
52588 2008-04-20  Bruno Haible  <bruno@clisp.org>
52589
52590         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
52591         for nlink_t if missing.
52592         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
52593
52594 2008-04-19  Bruno Haible  <bruno@clisp.org>
52595
52596         Work around snprintf bug on Linux libc5.
52597         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
52598         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
52599         gl_SNPRINTF_SIZE1.
52600         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52601         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
52602         that test failed.
52603         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
52604         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
52605         * modules/snprintf (Files): Add m4/printf.m4.
52606         * modules/vsnprintf (Files): Likewise.
52607         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
52608         * doc/posix-functions/vsnprintf.texi: Likewise.
52609
52610 2008-04-19  Bruno Haible  <bruno@clisp.org>
52611
52612         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
52613         from 0.0058 to less than 10^-7.
52614
52615 2008-04-19  Bruno Haible  <bruno@clisp.org>
52616
52617         Fix rounding when a precision is given.
52618         * lib/vasnprintf.c (is_borderline): New function.
52619         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
52620         9...9x.
52621         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
52622         %e, %g.
52623         * tests/test-vasprintf-posix.c (test_function): Likewise.
52624         * tests/test-snprintf-posix.h (test_function): Likewise.
52625         * tests/test-sprintf-posix.h (test_function): Likewise.
52626         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
52627         * tests/test-printf-posix.h (test_function): Likewise.
52628         * tests/test-printf-posix.output: Update.
52629         Reported by John Darrington <john@darrington.wattle.id.au> via
52630         Ben Pfaff <blp@cs.stanford.edu>.
52631
52632 2008-04-18  Simon Josefsson  <simon@josefsson.org>
52633
52634         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
52635         Suggested by Bruno Haible <bruno@clisp.org>.
52636
52637 2008-04-17  Bruno Haible  <bruno@clisp.org>
52638
52639         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
52640         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
52641         implementation.
52642         Patch by Bruce Merry <bmerry@gmail.com>.
52643
52644 2008-04-17  Simon Josefsson  <simon@josefsson.org>
52645
52646         * doc/posix-functions/strftime.texi (strftime): Mention that %e
52647         doesn't work under Windows.
52648
52649 2008-04-16  Bruno Haible  <bruno@clisp.org>
52650
52651         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
52652         New macros.
52653         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
52654         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
52655         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
52656         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
52657         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
52658         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
52659         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
52660         macros.
52661         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
52662         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
52663         Northern Sotho, Uighur.
52664
52665 2008-04-16  Bruno Haible  <bruno@clisp.org>
52666
52667         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
52668         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
52669         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
52670         Reported by Daniel Bergström <daniel@octocode.com>.
52671
52672 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
52673             Bruno Haible  <bruno@clisp.org>
52674
52675         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
52676         function.
52677         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
52678         New functions, mostly extracted from gl_locale_name_default.
52679         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
52680
52681 2008-04-16  Eric Blake  <ebb9@byu.net>
52682
52683         Adjust strtod detection to catch glibc 2.7 bug.
52684         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
52685         Reported by John Gatewood Ham.
52686
52687 2008-04-16  Bruno Haible  <bruno@clisp.org>
52688
52689         Add tentative support for Linux libc5.
52690         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
52691         * lib/fpurge.c (fpurge): Likewise.
52692         * lib/freadable.c (freadable): Likewise.
52693         * lib/freadahead.c (freadahead): Likewise.
52694         * lib/freading.c (freading): Likewise.
52695         * lib/freadptr.c (freadptr): Likewise.
52696         * lib/freadseek.c (freadptrinc): Likewise.
52697         * lib/fseeko.c (rpl_fseeko): Likewise.
52698         * lib/fseterr.c (fseterr): Likewise.
52699         * lib/fwritable.c (fwritable): Likewise.
52700         * lib/fwriting.c (fwriting): Likewise.
52701         Reported by Alain Guibert <alguibert+bts@free.fr>.
52702
52703 2008-04-15  Bruno Haible  <bruno@clisp.org>
52704
52705         * modules/mathl (configure.ac): Define module indicator.
52706
52707 2008-04-15  Bruno Haible  <bruno@clisp.org>
52708
52709         * lib/logl.c (logl): Remove unused variables.
52710
52711 2008-04-15  Bruno Haible  <bruno@clisp.org>
52712
52713         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
52714         fails.
52715
52716 2008-04-15  Bruno Haible  <bruno@clisp.org>
52717
52718         * lib/trim.c (trim2): Fix argument of isspace() macro.
52719
52720 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
52721
52722         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
52723         to 0.
52724         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
52725
52726 2008-04-14  Bruno Haible  <bruno@clisp.org>
52727
52728         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
52729         AC_LANG_PROGRAM argument.
52730         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
52731         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
52732         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
52733         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
52734         * m4/math_h.m4 (gl_MATH_H): Likewise.
52735         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
52736         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52737         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
52738         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
52739         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
52740         * m4/regex.m4 (gl_REGEX): Likewise.
52741         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
52742         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
52743         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52744         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
52745         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52746         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52747         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52748         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
52749
52750 2008-04-14  Jim Meyering  <meyering@redhat.com>
52751
52752         test-strtod: fix typos: s/abs/fabs/
52753         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
52754
52755 2008-04-13  Bruno Haible  <bruno@clisp.org>
52756
52757         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
52758         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
52759         module is also used and while not building the reloc-wrapper.
52760
52761 2008-04-13  Bruno Haible  <bruno@clisp.org>
52762
52763         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
52764
52765 2008-04-13  Bruno Haible  <bruno@clisp.org>
52766
52767         Fix AIX compilation failure introduced on 2008-04-02.
52768         * tests/test-frexp.c (exp): Undefine before redefining.
52769         * tests/test-frexpl.c (exp): Likewise.
52770
52771 2008-04-13  Bruno Haible  <bruno@clisp.org>
52772
52773         Work around a HP-UX stdio bug.
52774         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
52775         * tests/test-ftello.c (main): Likewise.
52776         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
52777         * doc/posix-functions/ftello.texi: Likewise.
52778
52779 2008-04-13  Bruno Haible  <bruno@clisp.org>
52780
52781         Make test-signbit pass on HP-UX/hppa.
52782         * tests/test-signbit.c (minus_zerol): New variable.
52783         (test_signbitl): Use it.
52784
52785 2008-04-13  Bruno Haible  <bruno@clisp.org>
52786
52787         Make truncl work on OSF/1 4.0.
52788         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
52789         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52790         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
52791         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
52792         HAVE_DECL_TRUNCL.
52793         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
52794         HAVE_DECL_TRUNCL.
52795         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
52796
52797 2008-04-13  Bruno Haible  <bruno@clisp.org>
52798
52799         * lib/unictype.h: Remove trailing comma from enumeration definitions.
52800
52801 2008-04-13  Bruno Haible  <bruno@clisp.org>
52802
52803         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
52804         expression, so as to avoid HP-UX 11 cc compiler bug.
52805
52806 2008-04-13  Bruno Haible  <bruno@clisp.org>
52807
52808         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
52809
52810 2008-04-13  Bruno Haible  <bruno@clisp.org>
52811
52812         * lib/git-merge-changelog.c: Remove empty declaration outside of
52813         functions.
52814
52815 2008-04-13  Bruno Haible  <bruno@clisp.org>
52816
52817         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
52818
52819 2008-04-13  Bruno Haible  <bruno@clisp.org>
52820
52821         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
52822         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
52823         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
52824         also if it exists but lacks definitions of the SHUT_* macros.
52825         * modules/sys_socket (Description): Update.
52826         Reported by Elbert Pol <e.pol@chello.nl>.
52827
52828 2008-04-13  Bruno Haible  <bruno@clisp.org>
52829
52830         * lib/localcharset.c (OS2): Don't redefine if already defined.
52831         Reported by Elbert Pol <e.pol@chello.nl>.
52832
52833 2008-04-13  Bruno Haible  <bruno@clisp.org>
52834
52835         * lib/binary-io.h [__EMX__]: Include <io.h>.
52836         Reported by Elbert Pol <e.pol@chello.nl>.
52837
52838 2008-04-12  Bruno Haible  <bruno@clisp.org>
52839
52840         * lib/fpucw.h: Enable the definitions also for x86_64.
52841         Needed for NetBSD/x86_64.
52842         Reported by Thomas Klausner <tk@giga.or.at>.
52843
52844 2008-04-12  Bruno Haible  <bruno@clisp.org>
52845
52846         * tests/test-strtod.c: Include isnand.h.
52847         (main): Use isnand instead of isnan.
52848         Reported by Jim Meyering.
52849
52850 2008-04-12  Bruno Haible  <bruno@clisp.org>
52851
52852         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
52853         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
52854
52855 2008-04-12  Jim Meyering  <meyering@redhat.com>
52856
52857         * m4/math_h.m4 (gl_MATH_H): Fix typos.
52858
52859 2008-04-12  Bruno Haible  <bruno@clisp.org>
52860
52861         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
52862         Reported by Elbert Pol <e.pol@chello.nl>.
52863
52864 2008-04-12  Eric Blake  <ebb9@byu.net>
52865
52866         Work around Solaris 10 math.h bug.
52867         * m4/math_h.m4 (gl_MATH_H): Check for bug.
52868         (gl_MATH_H_DEFAULTS): Set up default.
52869         * modules/math (Makefile.am): Replace new indicators.
52870         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
52871         * tests/test-math.c (main): Test this.
52872         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
52873         * doc/posix-headers/math.texi (math.h): Mention bug.
52874         Reported by Nelson H. F. Beebe and Jim Meyering.
52875
52876 2008-04-11  Bruno Haible  <bruno@clisp.org>
52877
52878         Adapt to future versions of Apple GCC.
52879         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
52880         Reported by Peter O'Gorman <peter@pogma.com>.
52881
52882 2008-04-11  Bruno Haible  <bruno@clisp.org>
52883
52884         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
52885
52886 2008-04-11  Bruno Haible  <bruno@clisp.org>
52887
52888         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
52889
52890         * modules/getaddrinfo-tests (Makefile.am): Define
52891         test_getaddrinfo_LDADD.
52892
52893 2008-04-11  Bruno Haible  <bruno@clisp.org>
52894
52895         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
52896         (init): Fix syntax error.
52897         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
52898         is declared.
52899
52900 2008-04-11  Bruno Haible  <bruno@clisp.org>
52901
52902         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
52903         * modules/glob (Depends-on): Add stdbool.
52904
52905 2008-04-11  Bruno Haible  <bruno@clisp.org>
52906
52907         * lib/trim.c: Include <string.h>.
52908
52909 2008-04-11  Eric Blake  <ebb9@byu.net>
52910
52911         Avoid compile failure on OS/2.
52912         * lib/regex_internal.h (internal_function): Disable optimization
52913         on OS/2 (__EMX__), where it caused compiler error.
52914         Reported by Elbert Pol.
52915
52916 2008-04-11  Bruno Haible  <bruno@clisp.org>
52917
52918         Flush the standard error stream before aborting. Needed on mingw.
52919         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
52920         * tests/test-array_list.c (ASSERT): Likewise.
52921         * tests/test-array_oset.c (ASSERT): Likewise.
52922         * tests/test-avltree_list.c (ASSERT): Likewise.
52923         * tests/test-avltree_oset.c (ASSERT): Likewise.
52924         * tests/test-avltreehash_list.c (ASSERT): Likewise.
52925         * tests/test-binary-io.c (ASSERT): Likewise.
52926         * tests/test-byteswap.c (ASSERT): Likewise.
52927         * tests/test-c-ctype.c (ASSERT): Likewise.
52928         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
52929         * tests/test-c-strcasestr.c (ASSERT): Likewise.
52930         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
52931         * tests/test-c-strstr.c (ASSERT): Likewise.
52932         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
52933         * tests/test-canonicalize.c (ASSERT): Likewise.
52934         * tests/test-carray_list.c (ASSERT): Likewise.
52935         * tests/test-ceilf1.c (ASSERT): Likewise.
52936         * tests/test-ceilf2.c (ASSERT): Likewise.
52937         * tests/test-ceill.c (ASSERT): Likewise.
52938         * tests/test-count-one-bits.c (ASSERT): Likewise.
52939         * tests/test-fbufmode.c (ASSERT): Likewise.
52940         * tests/test-fflush2.c (ASSERT): Likewise.
52941         * tests/test-floorf1.c (ASSERT): Likewise.
52942         * tests/test-floorf2.c (ASSERT): Likewise.
52943         * tests/test-floorl.c (ASSERT): Likewise.
52944         * tests/test-fopen.c (ASSERT): Likewise.
52945         * tests/test-fpending.c (ASSERT): Likewise.
52946         * tests/test-fprintf-posix.c (ASSERT): Likewise.
52947         * tests/test-fpurge.c (ASSERT): Likewise.
52948         * tests/test-freadable.c (ASSERT): Likewise.
52949         * tests/test-freadahead.c (ASSERT): Likewise.
52950         * tests/test-freading.c (ASSERT): Likewise.
52951         * tests/test-freadptr.c (ASSERT): Likewise.
52952         * tests/test-freadptr2.c (ASSERT): Likewise.
52953         * tests/test-freadseek.c (ASSERT): Likewise.
52954         * tests/test-freopen.c (ASSERT): Likewise.
52955         * tests/test-frexp.c (ASSERT): Likewise.
52956         * tests/test-frexpl.c (ASSERT): Likewise.
52957         * tests/test-fseek.c (ASSERT): Likewise.
52958         * tests/test-fseeko.c (ASSERT): Likewise.
52959         * tests/test-fstrcmp.c (ASSERT): Likewise.
52960         * tests/test-ftell.c (ASSERT): Likewise.
52961         * tests/test-ftello.c (ASSERT): Likewise.
52962         * tests/test-func.c (ASSERT): Likewise.
52963         * tests/test-fwritable.c (ASSERT): Likewise.
52964         * tests/test-fwriting.c (ASSERT): Likewise.
52965         * tests/test-getdelim.c (ASSERT): Likewise.
52966         * tests/test-getline.c (ASSERT): Likewise.
52967         * tests/test-i-ring.c (ASSERT): Likewise.
52968         * tests/test-iconv-utf.c (ASSERT): Likewise.
52969         * tests/test-iconv.c (ASSERT): Likewise.
52970         * tests/test-isfinite.c (ASSERT): Likewise.
52971         * tests/test-isnand.c (ASSERT): Likewise.
52972         * tests/test-isnanf.c (ASSERT): Likewise.
52973         * tests/test-isnanl.h (ASSERT): Likewise.
52974         * tests/test-ldexpl.c (ASSERT): Likewise.
52975         * tests/test-linked_list.c (ASSERT): Likewise.
52976         * tests/test-linkedhash_list.c (ASSERT): Likewise.
52977         * tests/test-localename.c (ASSERT): Likewise.
52978         * tests/test-lseek.c (ASSERT): Likewise.
52979         * tests/test-mbscasecmp.c (ASSERT): Likewise.
52980         * tests/test-mbscasestr1.c (ASSERT): Likewise.
52981         * tests/test-mbscasestr2.c (ASSERT): Likewise.
52982         * tests/test-mbscasestr3.c (ASSERT): Likewise.
52983         * tests/test-mbscasestr4.c (ASSERT): Likewise.
52984         * tests/test-mbschr.c (ASSERT): Likewise.
52985         * tests/test-mbscspn.c (ASSERT): Likewise.
52986         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
52987         * tests/test-mbspbrk.c (ASSERT): Likewise.
52988         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
52989         * tests/test-mbsrchr.c (ASSERT): Likewise.
52990         * tests/test-mbsspn.c (ASSERT): Likewise.
52991         * tests/test-mbsstr1.c (ASSERT): Likewise.
52992         * tests/test-mbsstr2.c (ASSERT): Likewise.
52993         * tests/test-mbsstr3.c (ASSERT): Likewise.
52994         * tests/test-memchr2.c (ASSERT): Likewise.
52995         * tests/test-memmem.c (ASSERT): Likewise.
52996         * tests/test-open.c (ASSERT): Likewise.
52997         * tests/test-printf-frexp.c (ASSERT): Likewise.
52998         * tests/test-printf-frexpl.c (ASSERT): Likewise.
52999         * tests/test-printf-posix.c (ASSERT): Likewise.
53000         * tests/test-quotearg.c (ASSERT): Likewise.
53001         * tests/test-rbtree_list.c (ASSERT): Likewise.
53002         * tests/test-rbtree_oset.c (ASSERT): Likewise.
53003         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
53004         * tests/test-round1.c (ASSERT): Likewise.
53005         * tests/test-roundf1.c (ASSERT): Likewise.
53006         * tests/test-roundl.c (ASSERT): Likewise.
53007         * tests/test-signbit.c (ASSERT): Likewise.
53008         * tests/test-sleep.c (ASSERT): Likewise.
53009         * tests/test-snprintf-posix.c (ASSERT): Likewise.
53010         * tests/test-snprintf.c (ASSERT): Likewise.
53011         * tests/test-sprintf-posix.c (ASSERT): Likewise.
53012         * tests/test-stat-time.c (ASSERT): Likewise.
53013         * tests/test-strcasestr.c (ASSERT): Likewise.
53014         * tests/test-strerror.c (ASSERT): Likewise.
53015         * tests/test-striconv.c (ASSERT): Likewise.
53016         * tests/test-striconveh.c (ASSERT): Likewise.
53017         * tests/test-striconveha.c (ASSERT): Likewise.
53018         * tests/test-strsignal.c (ASSERT): Likewise.
53019         * tests/test-strstr.c (ASSERT): Likewise.
53020         * tests/test-strtod.c (ASSERT): Likewise.
53021         * tests/test-trunc1.c (ASSERT): Likewise.
53022         * tests/test-trunc2.c (ASSERT): Likewise.
53023         * tests/test-truncf1.c (ASSERT): Likewise.
53024         * tests/test-truncf2.c (ASSERT): Likewise.
53025         * tests/test-truncl.c (ASSERT): Likewise.
53026         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
53027         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
53028         * tests/test-vasnprintf.c (ASSERT): Likewise.
53029         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
53030         * tests/test-vasprintf.c (ASSERT): Likewise.
53031         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
53032         * tests/test-vprintf-posix.c (ASSERT): Likewise.
53033         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
53034         * tests/test-vsnprintf.c (ASSERT): Likewise.
53035         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
53036         * tests/test-wcwidth.c (ASSERT): Likewise.
53037         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
53038         * tests/test-xprintf-posix.c (ASSERT): Likewise.
53039         * tests/test-xvasprintf.c (ASSERT): Likewise.
53040         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
53041         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
53042         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
53043         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
53044         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
53045         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
53046         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
53047         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
53048         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
53049         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
53050         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
53051         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
53052         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
53053         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
53054         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
53055         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
53056         * tests/unictype/test-block_list.c (ASSERT): Likewise.
53057         * tests/unictype/test-block_of.c (ASSERT): Likewise.
53058         * tests/unictype/test-block_test.c (ASSERT): Likewise.
53059         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
53060         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
53061         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
53062         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
53063         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
53064         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
53065         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
53066         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
53067         * tests/unictype/test-combining.c (ASSERT): Likewise.
53068         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
53069         * tests/unictype/test-digit.c (ASSERT): Likewise.
53070         * tests/unictype/test-mirror.c (ASSERT): Likewise.
53071         * tests/unictype/test-numeric.c (ASSERT): Likewise.
53072         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
53073         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
53074         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
53075         * tests/unictype/test-scripts.c (ASSERT): Likewise.
53076         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
53077         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
53078         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
53079         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
53080         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
53081         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
53082         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
53083         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
53084         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
53085         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
53086         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
53087         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
53088         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
53089         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
53090         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
53091         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
53092         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
53093         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
53094         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
53095         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
53096         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
53097         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
53098         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
53099         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
53100         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
53101         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
53102         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
53103         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
53104         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
53105         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
53106         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
53107         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
53108         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
53109         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
53110         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
53111         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
53112         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
53113         Reported by Eric Blake.
53114
53115 2008-04-11  Bruno Haible  <bruno@clisp.org>
53116
53117         * lib/wchar.in.h: Tweak comment.
53118
53119 2008-04-11  Bruno Haible  <bruno@clisp.org>
53120
53121         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
53122         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
53123         gl_COMMON.
53124         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
53125
53126 2008-04-11  Bruno Haible  <bruno@clisp.org>
53127
53128         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
53129
53130 2008-04-11  Simon Josefsson  <simon@josefsson.org>
53131
53132         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
53133         of attempting to use non-existing /dev/*random.  Based on patch
53134         from Adam Strzelecki <ono@java.pl> in
53135         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
53136
53137 2008-04-08  Bruno Haible  <bruno@clisp.org>
53138
53139         Add tentative support for emx+gcc.
53140         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
53141         * lib/fpurge.c (fpurge): Likewise.
53142         * lib/freadable.c (freadable): Likewise.
53143         * lib/freadahead.c (freadahead): Likewise.
53144         * lib/freading.c (freading): Likewise.
53145         * lib/freadptr.c (freadptr): Likewise.
53146         * lib/freadseek.c (freadptrinc): Likewise.
53147         * lib/fseeko.c (rpl_fseeko): Likewise.
53148         * lib/fseterr.c (fseterr): Likewise.
53149         * lib/fwritable.c (fwritable): Likewise.
53150         * lib/fwriting.c (fwriting): Likewise.
53151         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
53152
53153 2008-04-09  Eric Blake  <ebb9@byu.net>
53154
53155         Avoid some autoconf warnings.
53156         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
53157         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
53158         * m4/afs.m4 (gl_AFS): Likewise.
53159         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
53160         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
53161         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53162         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
53163         (gl_INTEGER_TYPE_SUFFIX): Likewise.
53164         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
53165         (AC_CHECK_DECLS_ONCE): Likewise.
53166         Rename file...
53167         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
53168         gnulib-tool requires autoconf 2.59 or better.
53169         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
53170
53171 2008-04-08  Eric Blake  <ebb9@byu.net>
53172
53173         Use 'git describe --match' if present (added in git 1.5.5).
53174         * build-aux/git-version-gen: Limit result to tags that match 'v*'
53175         if possible.
53176
53177 2008-04-08  Bruno Haible  <bruno@clisp.org>
53178
53179         Add tentative support for OpenServer.
53180         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
53181         _ptr, _cnt.
53182         * lib/fpurge.c (fpurge): Likewise.
53183         * lib/freadable.c (freadable): Likewise.
53184         * lib/freadahead.c (freadahead): Likewise.
53185         * lib/freading.c (freading): Likewise.
53186         * lib/freadptr.c (freadptr): Likewise.
53187         * lib/freadseek.c (freadptrinc): Likewise.
53188         * lib/fseeko.c (rpl_fseeko): Likewise.
53189         * lib/fseterr.c (fseterr): Likewise.
53190         * lib/fwritable.c (fwritable): Likewise.
53191         * lib/fwriting.c (fwriting): Likewise.
53192         Reported by Roger Cornelius <rac@tenzing.org> and
53193         Brian K. White <brian@aljex.com>.
53194
53195 2008-04-06  Jim Meyering  <meyering@redhat.com>
53196
53197         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
53198
53199 2008-04-06  Bruno Haible  <bruno@clisp.org>
53200
53201         Avoid possible error with non-ASCII bytes in UTF-8 locales.
53202         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
53203         * tests/test-printf-posix.sh: Likewise.
53204         * tests/test-vfprintf-posix.sh: Likewise.
53205         * tests/test-vprintf-posix.sh: Likewise.
53206         * tests/test-xprintf-posix.sh: Likewise.
53207
53208 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53209
53210         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
53211         hide error from 'ls', needed on OS/2.
53212         Report by Elbert Pol <elbert.pol@gmail.com>.
53213
53214 2008-04-04  Eric Blake  <ebb9@byu.net>
53215
53216         Make test-fseeko.c failures meaningful.
53217         * tests/test-fseeko.c: Print line number on failure.
53218         * tests/test-fseek.c: Likewise.
53219         Reported by Nelson H. F. Beebe.
53220
53221         Improve strtod bug detection check.
53222         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
53223         required for Solaris 10.
53224         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
53225
53226 2008-04-04  Bruno Haible  <bruno@clisp.org>
53227
53228         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
53229         by m4/setenv.m4.
53230
53231 2008-04-03  Eric Blake  <ebb9@byu.net>
53232
53233         Ensure sane .version contents.
53234         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
53235         version string.
53236         * build-aux/git-version-gen: Improve documentation.
53237
53238         Make GNU make output nicer.
53239         * top/GNUmakefile [!_have-Makefile]: Add dependency on
53240         MAKECMDGOALS to enforce message for all command line targets.  Set
53241         srcdir for use in maint.mk.
53242
53243         Another maintainer tweak.
53244         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
53245         a target that regenerates version.
53246
53247 2008-04-03  Jim Meyering  <meyering@redhat.com>
53248
53249         vc-list-files: don't cause coreutils "make po-check" failure
53250         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
53251
53252 2008-04-03  Eric Blake  <ebb9@byu.net>
53253
53254         Allow VPATH usage of vc-list-files.
53255         * build-aux/vc-list-files (scriptversion): Add timestamp.
53256         (options): Add --help, --version, -C.
53257         (CVS): Support installed cvsu.
53258
53259 2008-04-02  Bruno Haible  <bruno@clisp.org>
53260
53261         Avoid some "statement with no effect" warnings from gcc.
53262         * tests/test-wctype.c (main): Explicitly ignore unused values.
53263         Reported by Jim Meyering.
53264
53265 2008-04-02  Jim Meyering  <meyering@redhat.com>
53266
53267         Avoid some warnings from "gcc -Wshadow".
53268         * tests/test-frexp.c (exp): Define to a different identifier.
53269         * tests/test-frexpl.c (exp): Likewise.
53270
53271 2008-04-03  Jim Meyering  <meyering@redhat.com>
53272
53273         bootstrap: remove dangling *.[ch] symlinks from lib
53274         * build-aux/bootstrap [dangling symlink removal]: Move find's
53275         -depth option to precede all others, to avoid a warning.
53276         Remove *.[ch] files too, and from "$source_base" (usually lib/).
53277
53278 2008-04-02  Bruno Haible  <bruno@clisp.org>
53279
53280         Avoid some warnings from "gcc -Wshadow".
53281         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
53282         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
53283         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
53284         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
53285         Reported by Jim Meyering.
53286
53287 2008-04-01  Bruno Haible  <bruno@clisp.org>
53288
53289         Fix test to work on IRIX 6.5 with cc.
53290         * tests/test-math.c (numeric_equal): New function.
53291         (main): Use it.
53292
53293 2008-04-01  Bruno Haible  <bruno@clisp.org>
53294
53295         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
53296
53297 2008-04-01  Bruno Haible  <bruno@clisp.org>
53298
53299         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
53300         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53301         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
53302         (Depends-on): Remove math.
53303
53304         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
53305         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53306         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
53307         (Depends-on): Remove math.
53308
53309         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
53310         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53311         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
53312         (Depends-on): Remove math.
53313         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
53314         (Depends-on): Remove math.
53315
53316         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
53317         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
53318         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
53319         (Depends-on): Remove math.
53320         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
53321         (Depends-on): Remove math.
53322
53323         * tests/test-round1.c: Include nan.h.
53324         (main): Use NaNd instead of NAN.
53325         * modules/round-tests (Files): Add tests/nan.h.
53326
53327         * tests/test-trunc1.c: Include nan.h.
53328         (main): Use NaNd instead of NAN.
53329         * modules/trunc-tests (Files): Add tests/nan.h.
53330
53331         * tests/test-roundf1.c: Include nan.h.
53332         (main): Use NaNf instead of NAN.
53333         * modules/roundf-tests (Files): Add tests/nan.h.
53334
53335         * tests/test-truncf1.c: Include nan.h.
53336         (main): Use NaNf instead of NAN.
53337         * modules/truncf-tests (Files): Add tests/nan.h.
53338
53339         * tests/test-ceilf1.c: Include nan.h.
53340         (main): Use NaNf instead of NAN.
53341         * modules/ceilf-tests (Files): Add tests/nan.h.
53342
53343         * tests/test-floorf1.c: Include nan.h.
53344         (main): Use NaNf instead of NAN.
53345         * modules/floorf-tests (Files): Add tests/nan.h.
53346
53347         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
53348         (main): Use NaNf instead of NAN.
53349         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
53350
53351         * tests/test-isnand.c: Include nan.h instead of <math.h>.
53352         (main): Use NaNd instead of NAN.
53353         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
53354
53355         * tests/test-frexp.c: Include nan.h.
53356         (main): Use NaNd instead of NAN.
53357         * modules/frexp-tests (Files): Add tests/nan.h.
53358
53359         * lib/isnan.c: Don't include <math.h>.
53360         (FUNC): Don't use NAN macro.
53361         * modules/isnand-nolibm (Depends-on): Remove math.
53362         * modules/isnanf-nolibm (Depends-on): Remove math.
53363         * modules/isnanl (Depends-on): Remove math.
53364         * modules/isnanl-nolibm (Depends-on): Remove math.
53365
53366         * tests/nan.h: New file.
53367
53368 2008-04-01  Eric Blake  <ebb9@byu.net>
53369
53370         Fix typos.
53371         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
53372         values to be the right type.
53373
53374         For now, cater to gnulib strtod inaccuracies.
53375         * tests/test-strtod.c (main): Allow 1-ulp error on expected
53376         fractional results.  While not as nice from a QoI perspective, it
53377         is a quicker patch than correctly implementing decimal to binary
53378         rounding.
53379
53380 2008-03-31  Eric Blake  <ebb9@byu.net>
53381
53382         Guarantee a definition of NAN.
53383         * lib/math.in.h (NAN): Define if missing.
53384         * tests/test-math.c (main): Test it.
53385         * doc/posix-headers/math.texi (math.h): Document this.
53386         * lib/isnan.c (rpl_isnand): Use it.
53387         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
53388         * tests/test-floorf1.c (NaN): Likewise.
53389         * tests/test-frexp.c (NaN): Likewise.
53390         * tests/test-isnand.c (NaN): Likewise.
53391         * tests/test-isnanf.c (NaN): Likewise.
53392         * tests/test-round1.c (NaN): Likewise.
53393         * tests/test-roundf1.c (NaN): Likewise.
53394         * tests/test-snprintf-posix.h (NaN): Likewise.
53395         * tests/test-sprintf-posix.h (NaN): Likewise.
53396         * tests/test-trunc1.c (NaN): Likewise.
53397         * tests/test-truncf1.c (NaN): Likewise.
53398         * tests/test-vasnprintf-posix.c (NaN): Likewise.
53399         * tests/test-vasprintf-posix.c (NaN): Likewise.
53400         * modules/isnand-nolibm (Depends-on): Add math.
53401         * modules/isnanf-nolibm (Depends-on): Likewise.
53402         * modules/isnanl (Depends-on): Likewise.
53403         * modules/isnanl-nolibm (Depends-on): Likewise.
53404         * modules/snprintf-posix-tests (Depends-on): Likewise.
53405         * modules/sprintf-posix-tests (Depends-on): Likewise.
53406         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
53407         * modules/vsprintf-posix-tests (Depends-on): Likewise.
53408         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
53409         * modules/vasprintf-posix-tests (Depends-on): Likewise.
53410
53411 2008-03-31  Bruno Haible  <bruno@clisp.org>
53412
53413         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
53414         * doc/posix-functions/strtod.texi: Likewise.
53415
53416 2008-03-31  Bruno Haible  <bruno@clisp.org>
53417
53418         * tests/test-strtod.c (main): Don't use C99 syntax.
53419
53420 2008-03-31  Bruno Haible  <bruno@clisp.org>
53421
53422         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
53423         Reported by Eric Blake.
53424
53425 2008-03-31  Jim Meyering  <meyering@redhat.com>
53426
53427         Don't compare actual signbit return values.
53428         * tests/test-strtod.c (main): Rather, compare only their
53429         zero/non-zero nature.
53430
53431 2008-03-31  Eric Blake  <ebb9@byu.net>
53432
53433         More strtod documentation.
53434         * doc/posix-functions/strtod.texi (strtod): Interpret more test
53435         failures as distinct bugs.
53436
53437 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
53438
53439         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
53440         Problem reported by Erik Benada in
53441         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
53442
53443 2008-03-30  Bruno Haible  <bruno@clisp.org>
53444
53445         * tests/test-strtod.c: Add comments about which assertion fails on which
53446         platform.
53447         * doc/posix-functions/strtod.texi: Add info about many more platforms.
53448
53449 2008-03-30  Eric Blake  <ebb9@byu.net>
53450
53451         Test signbit behavior on zeros.
53452         * tests/test-signbit.c (test_signbitf): Add tests for zero.
53453         (test_signbitd, test_signbitl): Likewise.
53454
53455         More strtod touchups.
53456         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
53457         sign of negative underflow, for now.  Use .5, not .1.
53458         * doc/posix-functions/strtod.texi (strtod): Mention these
53459         limitations.
53460         Reported by Jim Meyering.
53461
53462 2008-03-30  Bruno Haible  <bruno@clisp.org>
53463
53464         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
53465         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
53466
53467 2008-03-30  Bruno Haible  <bruno@clisp.org>
53468
53469         Avoid failure when attempting to return empty iconv results on some
53470         platforms.
53471         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
53472         allocation, don't report ENOMEM when the resulting string is empty.
53473
53474 2008-03-30  Bruno Haible  <bruno@clisp.org>
53475
53476         Fix buffer overrun.
53477         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
53478         Don't consider the width for tmp_length. Check count against tmp_length
53479         before doing the padding. Ensure enough allocation during padding.
53480
53481 2008-03-30  Eric Blake  <ebb9@byu.net>
53482
53483         strtod touchups.
53484         * lib/strtod.c (strtod): Avoid compiler warnings.
53485         Reported by Jim Meyering.
53486
53487 2008-03-30  Bruno Haible  <bruno@clisp.org>
53488
53489         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
53490         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
53491         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
53492         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
53493         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
53494         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
53495         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
53496         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
53497
53498         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
53499         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
53500         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
53501         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
53502         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
53503         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
53504         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
53505         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
53506
53507         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
53508         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
53509         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
53510         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
53511         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
53512         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
53513         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
53514         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
53515
53516         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
53517         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
53518
53519         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
53520         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
53521
53522         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
53523         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
53524
53525         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
53526         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
53527         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
53528
53529         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
53530         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
53531         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
53532
53533         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
53534         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
53535         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
53536
53537         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
53538         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
53539         * modules/vasprintf (Depends-on): Add EOVERFLOW.
53540
53541         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
53542         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
53543         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
53544         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
53545         (Depends-on): Add EOVERFLOW.
53546         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
53547         (Depends-on): Add EOVERFLOW.
53548         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53549         (Depends-on): Add EOVERFLOW.
53550         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
53551         (Depends-on): Add EOVERFLOW.
53552         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53553         (Depends-on): Add EOVERFLOW.
53554         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
53555         (Depends-on): Add EOVERFLOW.
53556         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53557         (Depends-on): Add EOVERFLOW.
53558         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
53559         (Depends-on): Add EOVERFLOW.
53560
53561         * lib/sprintf.c (EOVERFLOW): Remove fallback.
53562         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
53563         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
53564
53565         * lib/snprintf.c (EOVERFLOW): Remove fallback.
53566         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
53567         * modules/snprintf (Depends-on): Add EOVERFLOW.
53568
53569         * lib/poll.c (EOVERFLOW): Remove fallback.
53570         * modules/poll (Depends-on): Add EOVERFLOW.
53571
53572         * lib/getugroups.c (EOVERFLOW): Remove fallback.
53573         * modules/getugroups (Depends-on): Add EOVERFLOW.
53574
53575         * lib/getdelim.c (EOVERFLOW): Remove fallback.
53576         * modules/getdelim (Depends-on): Add EOVERFLOW.
53577
53578         * lib/ftell.c (EOVERFLOW): Remove fallback.
53579         * modules/ftell (Depends-on): Add EOVERFLOW.
53580
53581         * lib/fprintf.c (EOVERFLOW): Remove fallback.
53582         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
53583         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
53584
53585         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
53586
53587         * modules/EOVERFLOW-tests: New file.
53588         * tests/test-EOVERFLOW.c: New file.
53589
53590         * modules/EOVERFLOW: New file.
53591         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
53592
53593 2008-03-30  Bruno Haible  <bruno@clisp.org>
53594
53595         Fix bug introduced on 2007-06-10.
53596         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
53597         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
53598
53599 2008-03-30  Bruno Haible  <bruno@clisp.org>
53600
53601         Improve freadseek's efficiency after ungetc.
53602         * lib/freadseek.c: Include freadahead.h.
53603         (freadptrinc): New function, extracted from freadseek.
53604         (freadseek): Use it in a loop. Use freadahead to determine the number
53605         of loop iterations.
53606         * modules/freadseek (Depends-on): Add freadahead.
53607         (configure.ac): Require AC_C_INLINE.
53608
53609 2008-03-30  Bruno Haible  <bruno@clisp.org>
53610
53611         * lib/freadseek.c (freadseek): Don't ignore the return value of
53612         freadptr.
53613
53614 2008-03-29  Eric Blake  <ebb9@byu.net>
53615
53616         Add hex float support.
53617         * modules/strtod (Depends-on): Add c-ctype.
53618         (Link): Mention POW_LIB.
53619         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
53620         whitespace between 'e' and exponent.
53621         * tests/test-strtod.c (main): Enable hex float tests.
53622         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
53623         now provides.
53624
53625         Document various strtod bugs, with some fixes.
53626         * doc/posix-functions/strtod.texi (strtod): Document bugs with
53627         "-0x", "inf", "nan", and hex constants.
53628         * doc/posix-functions/atof.texi (atof): Likewise.
53629         * modules/stdlib (Makefile.am): Support strtod.
53630         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
53631         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
53632         detect additional strtod bugs.
53633         * lib/stdlib.in.h (rpl_strtod): Add declarations.
53634         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
53635         bool where appropriate.  Parse 'inf' and 'nan'.
53636         * tests/test-strtod.c: New file.
53637         * modules/strtod (Depends-on): Add stdbool, stdlib.
53638         (configure.ac): Turn on module indicator.
53639         * modules/strtod-tests: New module.
53640
53641 2008-03-29  Eric Blake  <ebb9@byu.net>
53642
53643         Fix ftell on mingw.
53644         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
53645         * modules/ftell-tests (Depends-on): Add binary-io.
53646         * modules/ftello-tests (Depends-on): Likewise.
53647         * tests/test-ftell.c (main): Enhance test to cover behavior after
53648         ungetc.  Enforce binary mode.
53649         * tests/test-ftello.c (main): Likewise.
53650
53651         Pass test-freadseek on cygwin.
53652         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
53653         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
53654         ungetc buffer.
53655
53656         * tests/test-fflush2.c (main): Fix typo.
53657
53658 2008-03-29  Bruno Haible  <bruno@clisp.org>
53659
53660         * tests/test-fflush2.c (main): Temporarily disable the contents of
53661         this test.
53662         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
53663         Reported by Eric Blake.
53664
53665 2008-03-28  Simon Josefsson  <simon@josefsson.org>
53666
53667         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
53668         (GC_SHA224_DIGEST_SIZE): Add.
53669
53670         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
53671         (gc_hash_digest_length): Likewise.
53672         (gc_hash_buffer): Likewise.
53673
53674 2008-03-25  Bruno Haible  <bruno@clisp.org>
53675
53676         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
53677         detail which gettext release to use.
53678         Reported by Simon Josefsson.
53679
53680 2008-03-26  Jim Meyering  <meyering@redhat.com>
53681
53682         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
53683         * modules/gnumakefile (clean-GNUmakefile): Also, use
53684         test ... && ... || : syntax rather than if-then ... fi.
53685
53686         gnumakefile: Don't double-quote-expand $(VPATH) value.
53687         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
53688
53689 2008-03-24  Eric Blake  <ebb9@byu.net>
53690
53691         Alter GNUmakefile to install into top directory.
53692         * modules/maintainer-makefile: Split, and add dependency...
53693         * modules/gnumakefile: to this new module.
53694         * build-aux/GNUmakefile: Move...
53695         * top/GNUmakefile: ...here.
53696         * build-aux/maint.mk: Move...
53697         * top/maint.mk: ...here.
53698         * MODULES.html.sh (Support for maintaining...): Document new
53699         module.
53700
53701 2008-03-23  Bruno Haible  <bruno@clisp.org>
53702
53703         * gnulib-tool: New options --vc-files, --no-vc-files.
53704         (func_usage): Document them.
53705         (vc_files): New variable.
53706         (func_import): Consider vc_files.
53707         (func_create_testdir): Set vc_files to empty.
53708         Suggested by Jim Meyering and Karl Berry.
53709
53710 2008-03-23  Bruno Haible  <bruno@clisp.org>
53711
53712         Fix regex compilation error on HP-UX 11.
53713         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
53714         * modules/regex (Files): Add m4/mbstate_t.m4.
53715         Reported by Ton Voon <ton.voon@altinity.com>.
53716
53717 2008-03-23  Bruno Haible  <bruno@clisp.org>
53718
53719         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
53720
53721 2008-03-23  Eric Blake  <ebb9@byu.net>
53722             Bruno Haible  <bruno@clisp.org>
53723
53724         Install files from top/ in the destination directory.
53725         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
53726         augmentation also for the files from top/.
53727         (func_import, func_create_testdir): Rewrite file names:
53728         top/filename -> filename.
53729
53730 2008-03-23  Bruno Haible  <bruno@clisp.org>
53731
53732         Tweak "gnulib --version" output.
53733         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
53734
53735 2008-03-23  Bruno Haible  <bruno@clisp.org>
53736
53737         Tweak "gnulib --version" output.
53738         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
53739         rather than contents of ChangeLog, when possible.
53740
53741 2008-03-21  Eric Blake  <ebb9@byu.net>
53742
53743         More --version tweaks.
53744         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
53745         date of last ChangeLog entry.
53746
53747 2008-03-21  Jim Meyering  <meyering@redhat.com>
53748
53749         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
53750
53751 2008-03-20  Eric Blake  <ebb9@byu.net>
53752
53753         VPATH fix.
53754         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
53755
53756 2008-03-20  Simon Josefsson  <simon@josefsson.org>
53757
53758         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
53759         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
53760
53761 2008-03-20  Eric Blake  <ebb9@byu.net>
53762
53763         Sync GNUmakefile with coreutils.
53764         * build-aux/GNUmakefile (have-Makefile): Rename...
53765         (_have-Makefile): ...to this, for namespace consideration.
53766         (GNUmakefile.cfg): Include, if present.
53767         (_autoreconf): Define a default.
53768         (_is-dist-target): New rule for rebuilds to pick up intra-release
53769         version.
53770         (maint-cfg.mk): Rename...
53771         (cfg.mk): ...to this.
53772
53773 2008-03-18  Jim Meyering  <meyering@redhat.com>
53774
53775         New script and module: mktempd
53776         * MODULES.html.sh (maint+release support): Add mktempd.
53777         * build-aux/mktempd: New file.
53778         * modules/mktempd: New file.
53779
53780 2008-03-15  Jim Meyering  <meyering@redhat.com>
53781
53782         Undo last change.
53783         * lib/sha1.c, lib/md5.c: 63 != ~63.
53784         Reported by Andreas Schwab.
53785
53786         sha1.c, md5.c: Hoist a redundant expression.
53787         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
53788         "ctx->buflen" only once, before calling *_process_block.
53789         * lib/md5.c (md5_process_bytes): Likewise.
53790
53791 2008-03-14  Eric Blake  <ebb9@byu.net>
53792
53793         Bump copyright year in files generated by gnulib-tool.
53794         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
53795         gnulib-tool, rather than hard-coding it.
53796
53797         Fix 'gnulib-tool --version' output to work with git.
53798         * gnulib-tool (func_gnulib_dir): New function, extracted from...
53799         (startup): ...here.
53800         (func_version): Use it to invoke git-version-gen, rather than
53801         relying on CVS keyword expansion.  Modernize wording.
53802         (cvsdatestamp, last_checkin_date, version): Kill unused
53803         variables.
53804
53805 2008-03-12  Jim Meyering  <meyering@redhat.com>
53806
53807         Recognize optional cast of the argument to free.
53808         * build-aux/useless-if-before-free: Update regexps.
53809
53810         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
53811
53812 2008-03-11  Bruno Haible  <bruno@clisp.org>
53813
53814         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
53815         by a single package.
53816         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
53817         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
53818         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
53819         Reported by Sam Steingold <sds@gnu.org>.
53820
53821 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
53822
53823         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
53824         repositories.
53825
53826 2008-03-11  Bruno Haible  <bruno@clisp.org>
53827
53828         Avoid conflicts between local macro definitions.
53829         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53830         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
53831
53832 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
53833             Bruno Haible  <bruno@clisp.org>
53834
53835         Make va_copy work with some version of xlc on AIX 5.1.
53836         * lib/stdarg.in.h: New file.
53837         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
53838         On AIX, use a <stdarg.h> file substitute.
53839         * modules/stdarg (Files): Add lib/stdarg.in.h.
53840         (Depends-on): Add include_next.
53841         (Makefile.am): Build a stdarg.h substitute if requested.
53842         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
53843
53844 2008-03-10  Bruno Haible  <bruno@clisp.org>
53845
53846         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
53847         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53848         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
53849
53850 2008-03-10  Bruno Haible  <bruno@clisp.org>
53851
53852         * modules/stdlib (Depends-on): Add include_next, remove
53853         absolute-header.
53854
53855 2008-03-09  Bruno Haible  <bruno@clisp.org>
53856
53857         * lib/freadahead.h (freadahead): Document more precisely.
53858         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
53859         the sum of both buffer sizes.
53860         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
53861         * NEWS: Document the change.
53862
53863 2008-03-09  Bruno Haible  <bruno@clisp.org>
53864
53865         Extend freadptr to return also the buffer size.
53866         * lib/freadptr.h (freadptr): Add sizep argument.
53867         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
53868         (freadptr): Add sizep argument. Determine buffer size like freadahead
53869         does.
53870         * tests/test-freadptr.c: Don't include freadahead.h.
53871         (main): Adapt for new calling convention of freadptr.
53872         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
53873         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
53874         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
53875         tests/test-freadptr2.sh.
53876         (Depends): Remove freadahead.
53877         (TESTS): Add test-freadptr2.sh.
53878         (check_PROGRAMS): Add test-freadptr2.
53879
53880 2008-03-09  Bruno Haible  <bruno@clisp.org>
53881
53882         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
53883         Report and solution by Simon Josefsson.
53884
53885 2008-03-06  Bruno Haible  <bruno@clisp.org>
53886
53887         Make fflush after ungetc work on BSD platforms.
53888         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
53889         * tests/test-fflush2.c: New file.
53890         * tests/test-fflush2.sh: New file.
53891         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
53892         tests/test-fflush2.c.
53893         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
53894         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
53895
53896 2008-03-06  Eric Blake  <ebb9@byu.net>
53897
53898         Likewise for ftello.
53899         * modules/ftello (Dependencies): Add extensions.
53900         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
53901
53902 2008-03-06  Bruno Haible  <bruno@clisp.org>
53903
53904         * modules/fseeko (Dependencies): Add extensions.
53905         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
53906         Needed on glibc systems.
53907
53908 2008-03-06  Bruno Haible  <bruno@clisp.org>
53909
53910         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
53911         email address.
53912         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53913
53914 2008-03-06  Bruno Haible  <bruno@clisp.org>
53915
53916         * users.txt: Add libgnupdf.
53917
53918 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
53919
53920         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
53921         (Header File Substitutes, Function Substitutes,
53922         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
53923         (Build robot for gnulib): Fix typo.
53924
53925 2008-03-06  Bruno Haible  <bruno@clisp.org>
53926
53927         * doc/gnulib-tool.texi (VCS Issues): Small updates.
53928         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
53929
53930 2008-03-06  Bruno Haible  <bruno@clisp.org>
53931
53932         * doc/func.texi: New file, extracted from doc/gnulib.texi.
53933         * doc/gnulib.texi: Include it.
53934
53935 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53936
53937         * modules/func (License): Change license to unlimited; there was
53938         no LGPL parts in the module anyway.
53939
53940 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53941
53942         * modules/__func__: Renamed to modules/func.
53943         * modules/__func__-tests: Renamed to modules/func-tests.
53944         * tests/test-__func__.c: Renamed to tests/test-func.c.
53945         * m4/__func__.m4: Renamed to m4/func.m4.
53946         * doc/gnulib.texi (__func__): Section renamed to func.
53947         Suggested by Eric Blake <ebb9@byu.net>.
53948
53949 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53950
53951         * doc/gnulib.texi (__func__): Use C99 terminology when talking
53952         about __func__.  Make example self-contained.  Suggested by Eric
53953         Blake <ebb9@byu.net>.
53954
53955         * tests/test-__func__.c (main): Avoid extraneous () around __func.
53956         Suggested by Eric Blake <ebb9@byu.net>.
53957
53958 2008-03-06  Simon Josefsson  <simon@josefsson.org>
53959
53960         * modules/__func__: New file.
53961         * modules/__func__-tests: New file.
53962         * tests/test-__func__.c: New file.
53963         * m4/__func__.m4: New file.
53964         * doc/gnulib.texi (__func__): Document __func__ module.
53965
53966 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53967
53968         * modules/byteswap (License): Re-license as LGPLv2+.
53969
53970 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53971
53972         * doc/Makefile: Add pdf target.
53973
53974 2008-03-05  Simon Josefsson  <simon@josefsson.org>
53975
53976         * modules/inline (License): Use 'unlimited', since there are only
53977         *.m4 files in this module.
53978
53979 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
53980             Bruno Haible  <bruno@clisp.org>
53981
53982         Add support for HP C 7.1 on OpenVMS 8.3.
53983         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
53984
53985 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
53986
53987         Update VMS specifics.
53988         * lib/getopt.c [VMS]: Remove include of unixlib.h.
53989
53990 2008-03-02  Jim Meyering  <meyering@redhat.com>
53991
53992         Remove the last dependency on the "free" module.
53993         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
53994         Reported by Bob Proulx.
53995
53996         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
53997
53998         Remove useless "if" tests before free.  Deprecate "free" module.
53999         * doc/posix-functions/free.texi: Mention that this
54000         module is no longer useful.
54001         * modules/free (Notice): Say this module is obsolete.
54002         * modules/readutmp (Depends-on): Remove free.
54003         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
54004         * lib/putenv.c (putenv): Likewise.
54005         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
54006         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
54007         * tests/test-c-strcasestr.c (main): Likewise.
54008         * tests/test-c-strstr.c (main): Likewise.
54009         * tests/test-mbscasestr1.c (main): Likewise.
54010         * tests/test-mbscasestr2.c (main): Likewise.
54011         * tests/test-mbsstr1.c (main): Likewise.
54012         * tests/test-mbsstr2.c (main): Likewise.
54013         * tests/test-memmem.c (main): Likewise.
54014         * tests/test-strcasestr.c (main): Likewise.
54015         * tests/test-striconv.c (main): Likewise.
54016         * tests/test-striconveh.c (main): Likewise.
54017         * tests/test-striconveha.c (main): Likewise.
54018         * tests/test-strstr.c (main): Likewise.
54019
54020         * build-aux/git-version-gen: Adjust a comment and the Usage string.
54021
54022         bootstrap: sync from coreutils again
54023         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
54024
54025 2008-03-01  Jim Meyering  <meyering@redhat.com>
54026
54027         bootstrap: sync from coreutils
54028         * build-aux/bootstrap (update_po_files): Copy a .po file into place
54029         also when the target doesn't exist.
54030
54031 2008-03-01  Eric Blake  <ebb9@byu.net>
54032
54033         Fix bugs in last patch.
54034         * lib/memchr2.c (memchr2): Fix typo.
54035         * tests/test-memchr2.c: Test previous bug, and don't use GNU
54036         extension.
54037         Reported by Bruce Korb.
54038
54039         New module 'memchr2'.
54040         * modules/memchr2: New file.
54041         * modules/memchr2-tests: Likewise.
54042         * lib/memchr2.h: Likewise.
54043         * lib/memchr2.c: Likewise, based on memchr.c.
54044         * tests/test-memchr2.c: New test.
54045         * MODULES.html.sh (String handling): Add memchr2.
54046
54047 2008-02-29  Bruno Haible  <bruno@clisp.org>
54048
54049         * modules/freadseek-tests: New file.
54050         * tests/test-freadseek.sh: New file.
54051         * tests/test-freadseek.c: New file.
54052
54053         New module 'freadseek'.
54054         * modules/freadseek: New file.
54055         * lib/freadseek.h: New file.
54056         * lib/freadseek.c: New file.
54057         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
54058
54059 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
54060
54061         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
54062         wydawca.
54063
54064         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
54065         program_invocation_name and program_invocation_short_name are
54066         present.
54067
54068 2008-02-28  Bruno Haible  <bruno@clisp.org>
54069
54070         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
54071         * tests/test-freadptr.sh: Also test non-seekable stdin.
54072
54073 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
54074
54075         * build-aux/bootstrap (source_base, m4_base)
54076         (doc_base, tests_base): New variables.
54077         (gnulib_tool_options): Do not hardcode base directories, use
54078         the above variables instead.
54079
54080 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
54081
54082         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
54083
54084 2008-02-28  Bruno Haible  <bruno@clisp.org>
54085
54086         * modules/freadptr-tests: New file.
54087         * tests/test-freadptr.sh: New file.
54088         * tests/test-freadptr.c: New file.
54089
54090         New module 'freadptr'.
54091         * modules/freadptr: New file.
54092         * lib/freadptr.h: New file.
54093         * lib/freadptr.c: New file.
54094         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
54095
54096 2008-02-26  Karl Berry  <karl@freefriends.org>
54097
54098         Sync from Libtool:
54099         * libltdl/argz.c (argz_add, argz_count): New functions.
54100         * libltdl/argz.in.h: Declare them.
54101         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
54102
54103 2008-02-22  Bruno Haible  <bruno@clisp.org>
54104
54105         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
54106         is a pointer type.  Needed for HP-UX 10.
54107         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
54108         * doc/posix-functions/gmtime_r.texi: Likewise.
54109         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
54110
54111 2008-02-24  Bruno Haible  <bruno@clisp.org>
54112
54113         * modules/environ-tests: New file.
54114         * tests/test-environ.c: New file.
54115
54116         New module 'environ'.
54117         * modules/environ: New file.
54118         * lib/unistd.in.h (environ): New declaration.
54119         * m4/environ.m4: New file.
54120         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
54121         after use.
54122         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
54123         HAVE_DECL_ENVIRON.
54124         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
54125         HAVE_DECL_ENVIRON.
54126         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
54127         wrong claim that 'environ' is missing on some systems.
54128         * modules/execute (Depends-on): Add environ.
54129         * lib/execute.c (environ): Remove fallback declaration.
54130         * modules/pipe (Depends-on): Add environ.
54131         * lib/pipe.c (environ): Remove fallback declaration.
54132         * modules/setenv (Depends-on): Add environ.
54133         * lib/setenv.c (environ): Remove fallback declaration.
54134         * modules/unsetenv (Depends-on): Add environ.
54135         * lib/unsetenv.c (environ): Remove fallback declaration.
54136         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
54137         m4/environ.m4.
54138         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
54139         (gl_PREREQ_UNSETENV): Likewise.
54140
54141 2008-02-24  Bruno Haible  <bruno@clisp.org>
54142
54143         * doc/posix-functions/environ.texi: Document the MacOS X problem.
54144
54145 2008-02-20  Bob Proulx  <bob@proulx.com>
54146
54147         Enable use of older two part flavor 'git describe'.
54148         * build-aux/git-version-gen: If using the older two part flavor of
54149         git version then recreate the third part now present in the
54150         newer three part flavor of git describe.
54151
54152 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
54153
54154         * lib/fts.c (fts_build): Typo correction to comment.
54155
54156 2008-02-17  Bruno Haible  <bruno@clisp.org>
54157
54158         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
54159         generating no-op conflicts.
54160
54161 2008-02-17  Bruno Haible  <bruno@clisp.org>
54162
54163         Speed up by 10%.
54164         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
54165         result_entries, rather than an index-based loop.
54166
54167 2008-02-17  Bruno Haible  <bruno@clisp.org>
54168
54169         Speed up by 25%.
54170         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
54171         'hashcode_cached'.
54172         (entry_create): New function.
54173         (entry_hashcode): Use the cached hashcode if possible.
54174         (read_changelog_file, try_split_merged_entry): Use entry_create.
54175
54176 2008-02-17  Bruno Haible  <bruno@clisp.org>
54177
54178         Speed up from O(n^2) to O(n) for long ChangeLog files.
54179         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
54180         (read_changelog_file): Change implementation of entries_reversed list
54181         to rbtreehash.
54182         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
54183
54184 2008-02-17  Bruno Haible  <bruno@clisp.org>
54185
54186         New option --split-merged-entry.
54187         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
54188         (find_paragraph_end, try_split_merged_entry): New functions.
54189         (long_options): Add option --split-merged-entry.
54190         (usage): Document option --split-merged-entry.
54191         (main): Implement option --split-merged-entry.
54192         Reported by Eric Blake.
54193
54194 2008-02-17  Bruno Haible  <bruno@clisp.org>
54195
54196         * lib/git-merge-changelog.c: Include c-strstr.h.
54197         (main): Support the "git pull --rebase" situation.
54198         * modules/git-merge-changelog (Depends-on): Add c-strstr.
54199         Reported by Eric Blake.
54200
54201 2008-02-16  Eric Blake  <ebb9@byu.net>
54202
54203         Avoid doubling \ in common case of "c-maybe" quoting style.
54204         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
54205         eliding outer quotes.
54206         * lib/quotearg.h: Document this.
54207         * tests/test-quotearg.c (result_strings, inputs, results_g)
54208         (flag_results, locale_results): Test it by adding a new string to
54209         each test group.
54210         (compare_strings): Test new string.
54211
54212 2008-02-13  Eric Blake  <ebb9@byu.net>
54213
54214         Avoid trigraph quoting in default output.
54215         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
54216         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
54217         unless explicitly requested.
54218         * tests/test-quotearg.c (flag_results, main): Add additional tests.
54219
54220 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
54221
54222         Don't rely on signed integer overflowing to negative value.
54223         * lib/getugroups.c (getugroups): Include <limits.h>.
54224         Instead, compare against INT_MAX, and increment only if the test passes.
54225
54226 2008-02-13  Jim Meyering  <meyering@redhat.com>
54227         and Eric Blake  <ebb9@byu.net>
54228
54229         Avoid shadowing warning and compile errors on Linux.
54230         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
54231         forwarding macros on Linux.
54232         (dcgettext): Define a stub, for Linux.
54233         (results_g, main): Avoid warnings.
54234
54235 2008-02-12  Eric Blake  <ebb9@byu.net>
54236
54237         Silence warning in last patch.
54238         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
54239
54240         Quotearg part 4: add tests, fix c-maybe colon quoting.
54241         * lib/quotearg.h: Improve documentation.
54242         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
54243         escapes when adding outer quotes.  When quoting trigraphs, use
54244         valid C notation.  When quoting NUL, omit extra characters if next
54245         character is not digit.  Alter prototype.
54246         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
54247         callers.
54248         * modules/quotearg-tests: New module.
54249         * tests/test-quotearg.c: New test.
54250
54251 2008-02-07  Eric Blake  <ebb9@byu.net>
54252
54253         Quotearg part 3: add flag to control outer quote elision.
54254         * lib/quotearg.h (c_maybe_quoting_style): New style.
54255         (enum quoting_flags): Better documentation of flags.
54256         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
54257         c-maybe style.
54258         (quotearg_buffer_restyled): Handle new flag to elide outer
54259         quotes.
54260
54261         Quotearg part 2: add flag that can control NUL elision.
54262         * lib/quotearg.h (set_quoting_flags): New prototype.
54263         * lib/quotearg.c (struct quoting_options): Add flag field.
54264         (set_quoting_flags): New function.
54265         (quotearg_buffer_restyled): Add flags parameter.
54266         (quotearg_alloc_mem): Set the flag if length cannot be returned.
54267         (quotearg_n_options): Set the flag, since length cannot be
54268         returned.
54269         (quoting_options_from_style): Default flags correctly.
54270
54271         Quotearg part 1: more wrappers, restore quotearg_char state.
54272         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
54273         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
54274         (quotearg_colon_mem): New wrappers.
54275         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
54276         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
54277         functions.
54278         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
54279         (quotearg_colon_mem): New functions.
54280
54281 2008-02-11  Bruno Haible  <bruno@clisp.org>
54282
54283         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
54284         library in the current directory: it does not work with parallel make.
54285         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54286
54287 2008-02-11  Bruno Haible  <bruno@clisp.org>
54288
54289         * .gitattributes: New file.
54290
54291 2008-02-11  Jim Meyering  <meyering@redhat.com>
54292
54293         useless-if-before-free: Fix reversed exit values.
54294         * build-aux/useless-if-before-free: Use correct values
54295         for EXIT_MATCH and EXIT_NO_MATCH.
54296
54297         * build-aux/useless-if-before-free: Close stdout carefully.
54298
54299 2008-02-10  Bruno Haible  <bruno@clisp.org>
54300
54301         New module 'git-merge-changelog'.
54302         * modules/git-merge-changelog: New file.
54303         * lib/git-merge-changelog.c: New file.
54304
54305 2008-02-10  Jim Meyering  <meyering@redhat.com>
54306
54307         useless-if-before-free: New option: --list (-l).
54308
54309         useless-if-before-free: Don't exit immediately upon open failure.
54310         * build-aux/useless-if-before-free: Exit 2 for errors.
54311         Upon failure to open a file, don't exit immediately.
54312         Rather, just warn and continue with any remaining files.
54313
54314 2008-02-10  Bruno Haible  <bruno@clisp.org>
54315
54316         New abstract list operation 'node_set_value'.
54317         * lib/gl_list.h (gl_list_node_set_value): New function.
54318         (struct gl_list_implementation): New field node_set_value.
54319         * lib/gl_list.c (gl_list_node_set_value): New function.
54320         * lib/gl_array_list.c (gl_array_node_set_value): New function.
54321         (gl_array_list_implementation): Update.
54322         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
54323         (gl_carray_list_implementation): Update.
54324         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
54325         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
54326         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
54327         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
54328         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
54329         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
54330         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
54331         Update.
54332         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
54333         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
54334         (gl_sublist_list_implementation): Update.
54335
54336 2008-02-10  Bruno Haible  <bruno@clisp.org>
54337
54338         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
54339         Needed when ELEMENT is #defined to 'some_type *'.
54340
54341 2008-02-10  Jim Meyering  <meyering@redhat.com>
54342
54343         New script and module: useless-if-before-free
54344         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
54345         * build-aux/useless-if-before-free: New file.
54346         * modules/useless-if-before-free: New file.
54347
54348         * build-aux/gitlog-to-changelog: Use committer date, not author date.
54349
54350         xstrtol_error: Fix typo.
54351         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
54352         s/exit_failure/exit_status/.
54353
54354 2008-02-09  Jim Meyering  <meyering@redhat.com>
54355
54356         New script and module: gitlog-to-changelog
54357         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
54358         * modules/gitlog-to-changelog: New file.
54359         * build-aux/gitlog-to-changelog: New file.
54360
54361 2008-02-08  Jim Meyering  <meyering@redhat.com>
54362
54363         Avoid two "parameter unused" warnings.
54364         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
54365         Mark "st" as used.
54366
54367         Use "git COMMAND", not "git-COMMAND".
54368         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
54369         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
54370         * build-aux/git-version-gen: Use "git status", not "git-status".
54371
54372 2008-02-07  Bruno Haible  <bruno@clisp.org>
54373
54374         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
54375         Avoids a crash on Windows Vista.
54376         Reported by Adam Strzelecki <ono@java.pl> via
54377         Simon Josefsson <simon@josefsson.org>.
54378
54379 2008-02-06  Bruno Haible  <bruno@clisp.org>
54380
54381         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
54382         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
54383         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
54384         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
54385         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
54386         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54387         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
54388         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
54389         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54390         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54391         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54392         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54393         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54394         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54395         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54396         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
54397         left-adjust flag.
54398         * tests/test-snprintf-posix.h (test_function): Likewise.
54399         * tests/test-sprintf-posix.h (test_function): Likewise.
54400         * tests/test-vasprintf-posix.c (test_function): Likewise.
54401         * doc/posix-functions/fprintf.texi: Update.
54402         * doc/posix-functions/printf.texi: Update.
54403         * doc/posix-functions/snprintf.texi: Update.
54404         * doc/posix-functions/sprintf.texi: Update.
54405         * doc/posix-functions/vfprintf.texi: Update.
54406         * doc/posix-functions/vprintf.texi: Update.
54407         * doc/posix-functions/vsnprintf.texi: Update.
54408         * doc/posix-functions/vsprintf.texi: Update.
54409         Reported by Peter Fales <psfales@alcatel-lucent.com>.
54410
54411 2008-02-06  Bruno Haible  <bruno@clisp.org>
54412
54413         Fix bug introduced on 2008-01-26.
54414         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
54415
54416 2008-02-06  Bruno Haible  <bruno@clisp.org>
54417
54418         Fix bug introduced on 2007-06-10.
54419         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
54420         !NEED_PRINTF_FLAG_ZERO.
54421
54422 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
54423
54424         getloadavg: use libperfstat on AIX5
54425         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
54426
54427 2008-02-03  Bruno Haible  <bruno@clisp.org>
54428
54429         * lib/diffseq.h: Add comments about required #includes.
54430         Reported by Michael Biggs <gnulib@doubleplum.net>.
54431
54432 2008-02-01  Bruno Haible  <bruno@clisp.org>
54433
54434         * users.txt: Add gnuit.
54435
54436 2008-01-31  Bruno Haible  <bruno@clisp.org>
54437
54438         * lib/md4.c (set_uint32): Mark as inline.
54439         * lib/md5.c (set_uint32): Likewise.
54440         * lib/sha1.c (set_uint32): Likewise.
54441         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
54442         * m4/md5.m4 (gl_MD5): Likewise.
54443         * m4/sha1.m4 (gl_SHA1): Likewise.
54444
54445 2008-01-31  Jim Meyering  <meyering@redhat.com>
54446
54447         Use "sizeof VAR", rather than a literal "4".
54448         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
54449         * lib/md4.c (md4_read_ctx): Likewise.
54450         * lib/sha1.c (sha1_read_ctx): Likewise.
54451
54452 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54453
54454         * tests/test-sha1.c: New file, based on test-md5.c.
54455
54456         * modules/crypto/sha1-tests: New file.
54457
54458 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54459
54460         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
54461
54462 2008-01-31  Jim Meyering  <meyering@redhat.com>
54463
54464         Prefer "sizeof v" over the equivalent "4".
54465         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
54466         * lib/md5.c (set_uint32): Likewise.
54467         * lib/sha1.c (set_uint32): Likewise.
54468
54469 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54470
54471         * lib/sha1.c (set_uint32): Mark function as static.
54472
54473 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54474
54475         md2: clarify comments to say that alignment is not required.
54476         * lib/md2.h: Remove warning about alignment in comment.
54477         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
54478         never been required.
54479
54480 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54481
54482         md4: adapt alignment constraint fix from sha1.
54483         * lib/md4.c (set_uint32): New function, from sha1.c
54484         (md4_read_ctx): Use it.
54485         (md4_finish_ctx): Doc fix.
54486         * lib/md4.h: Doc fix.
54487
54488 2008-01-31  Simon Josefsson  <simon@josefsson.org>
54489
54490         md5: adapt alignment constraint fix from sha1.
54491         * lib/md5.c (set_uint32): New function, from sha1.c
54492         (md5_read_ctx): Use it.
54493         (md5_finish_ctx): Doc fix.
54494         * lib/md5.h: Doc fix.
54495
54496 2008-01-30  Peter Palfrader  <weasel@debian.org>
54497
54498         sha1: remove the result buffer alignment constraint
54499         * lib/sha1.c (set_uint32): New function.
54500         (sha1_read_ctx): Rewrite to remove the result buffer alignment
54501         constraint.
54502         (sha1_finish_ctx): Remove comment warning about alignment constraint.
54503         * lib/sha1.h: Likewise.
54504
54505 2008-01-30  Andreas Schwab  <schwab@suse.de>
54506             Bruno Haible  <bruno@clisp.org>
54507
54508         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
54509         correct definition of LDBL_MIN_EXP.
54510
54511 2008-01-30  Karl Berry  <karl@gnu.org>
54512
54513         * config/srclist-update: try to preserve x bit on updates.
54514         * config/srclistvars.sh: update for karl.
54515
54516 2008-01-29  Jim Meyering  <meyering@redhat.com>
54517
54518         vasnprintf.c: Avoid warning about unused label
54519         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
54520         "overflow" label definition and associated code with the
54521         same cpp condition that guards the sole use of that label.
54522
54523 2008-01-26  Bruno Haible  <bruno@clisp.org>
54524
54525         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
54526         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
54527         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
54528         * lib/isnanl-nolibm.h (isnanl): Likewise.
54529         Reported by Paul Eggert <eggert@cs.ucla.edu>.
54530
54531 2008-01-26  Bruno Haible  <bruno@clisp.org>
54532
54533         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
54534         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
54535
54536 2008-01-26  Bruno Haible  <bruno@clisp.org>
54537
54538         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
54539         GCC >= 4.0 built-in.
54540         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
54541
54542 2008-01-26  Bruno Haible  <bruno@clisp.org>
54543
54544         Rename isnan, applicable to 'double' only, to isnand.
54545         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
54546         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
54547         (configure.ac): Update.
54548         (Include): Replace "isnan.h" with "isnand.h".
54549         * m4/isnand.m4: Renamed from m4/isnan.m4.
54550         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
54551         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
54552         instead of isnan.c.
54553         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
54554         instead of HAVE_ISNAN_IN_LIBC.
54555         (isnand): Renamed from isnan.
54556         * lib/isnand.c: New file.
54557         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
54558         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
54559         (Makefile.am): Update.
54560         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
54561         Include isnand.h instead of isnan.h.
54562         (main): Test isnand instead of isnan.
54563         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
54564         isnan-nolibm.
54565         * modules/frexp (Depends-on): Likewise.
54566         * modules/frexp-tests (Depends-on): Likewise.
54567         * modules/frexp-nolibm (Depends-on): Likewise.
54568         * modules/frexp-nolibm-tests (Depends-on): Likewise.
54569         * modules/isfinite (Depends-on): Likewise.
54570         * modules/round-tests (Depends-on): Likewise.
54571         * modules/signbit (Depends-on): Likewise.
54572         * modules/signbit-tests (Depends-on): Likewise.
54573         * modules/snprintf-posix (Depends-on): Likewise.
54574         * modules/sprintf-posix (Depends-on): Likewise.
54575         * modules/trunc-tests (Depends-on): Likewise.
54576         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54577         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54578         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54579         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54580         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54581         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54582         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54583         * modules/vasnprintf-posix (Depends-on): Likewise.
54584         * modules/vasprintf-posix (Depends-on): Likewise.
54585         * modules/vfprintf-posix (Depends-on): Likewise.
54586         * modules/vsnprintf-posix (Depends-on): Likewise.
54587         * modules/vsprintf-posix (Depends-on): Likewise.
54588         * lib/frexp.c: Include isnand.h instead of isnan.h.
54589         (ISNAN): Set to isnand instead of isnan.
54590         * lib/isfinite.c: Include isnand.h instead of isnan.h.
54591         (gl_isfinited): Use isnand instead of isnan.
54592         * lib/signbitd.c: Include isnand.h instead of isnan.h.
54593         (gl_signbitd): Use isnand instead of isnan.
54594         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
54595         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
54596         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
54597         (main): Use isnand instead of isnan.
54598         * tests/test-round1.c: Include isnand.h.
54599         (main): Use isnand instead of isnan.
54600         * tests/test-round2.c: Include isnand.h instead of isnan.h.
54601         (ISNAN): Set to isnand instead of isnan.
54602         * tests/test-trunc1.c: Include isnand.h.
54603         (main): Use isnand instead of isnan.
54604         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
54605         (equal): Use isnand instead of isnan.
54606         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
54607         isnand-nolibm.
54608         * NEWS: Mention the change.
54609
54610 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
54611             Bruno Haible  <bruno@clisp.org>
54612
54613         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
54614         the GCC builtins for signbits are present and set
54615         REPLACE_SIGNBIT_USING_GCC if so.
54616         * lib/math.in.h (signbit): Define using GCC builtins if
54617         REPLACE_SIGNBIT_USING_GCC is set.
54618         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
54619         REPLACE_SIGNBIT_USING_GCC.
54620         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
54621
54622 2008-01-25  Jim Meyering  <meyering@redhat.com>
54623
54624         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
54625         * lib/poll.c: Include <config.h>, not "config.h".
54626         * tests/test-getaddrinfo.c: Likewise.
54627
54628 2008-01-25  Simon Josefsson  <simon@josefsson.org>
54629
54630         * modules/sockets-tests: New file.
54631
54632 2008-01-24  Simon Josefsson  <simon@josefsson.org>
54633
54634         * modules/sockets: New module, can be used to call WSA_Startup and
54635         WSA_Cleanup when needed.
54636
54637         * lib/sockets.h, lib/sockets.c: New files.
54638
54639         * m4/sockets.m4: New file.
54640
54641         * tests/test-sockets.c: New file.
54642
54643 2008-01-19  Bruno Haible  <bruno@clisp.org>
54644
54645         * doc/posix-headers: Renamed from doc/headers.
54646         * doc/posix-functions: Renamed from doc/functions.
54647         * doc/gnulib.texi: Update.
54648
54649 2008-01-19  Bruno Haible  <bruno@clisp.org>
54650
54651         * doc/glibc-functions/strcasestr.texi: Include contents of
54652         doc/functions/strcasestr.texi, fixing the list of platforms.
54653         * doc/functions/strcasestr.texi: Remove file.
54654
54655 2008-01-19  Bruno Haible  <bruno@clisp.org>
54656
54657         * doc/glibc-functions/memmem.texi: Include contents of
54658         doc/functions/memmem.texi.
54659         * doc/functions/memmem.texi: Remove file.
54660
54661 2008-01-18  Bruno Haible  <bruno@clisp.org>
54662
54663         * doc/glibc-functions/*.texi: New files.
54664         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
54665         to use the new files.
54666
54667 2008-01-17  Bruno Haible  <bruno@clisp.org>
54668
54669         * tests/test-gethostname.c (main): Fix printf statement.
54670
54671 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54672
54673         * modules/gethostname-tests: New file.
54674
54675         * tests/test-gethostname.c: New file.
54676
54677 2008-01-17  Simon Josefsson  <simon@josefsson.org>
54678
54679         * lib/gethostname.c: Include string.h unconditionally, strncpy is
54680         used by the UNAME case.  Reported by Bruno Haible
54681         <bruno@clisp.org>.
54682
54683 2008-01-17  Eric Blake  <ebb9@byu.net>
54684
54685         Convert c-strcasestr to be more efficient.
54686         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
54687         (Depends-on): Add c-strcase, remove malloca, strnlen.
54688         * tests/test-c-strcasestr.c (main): Enhance test.
54689         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
54690
54691 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
54692
54693         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
54694         Use it in creating po/Makevars.
54695
54696 2008-01-15  Simon Josefsson  <simon@josefsson.org>
54697
54698         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
54699         Applications that requires it should initialize libgcrypt
54700         manually.
54701
54702 2008-01-16  Simon Josefsson  <simon@josefsson.org>
54703
54704         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
54705
54706 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
54707
54708         Fix problem with getdate on mingw32 reported by Simon Josefsson
54709         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
54710         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
54711         tzname", when deciding whether to declare tzname.
54712         * lib/strftime.c (tzname): Likewise.
54713
54714 2008-01-15  Bruno Haible  <bruno@clisp.org>
54715
54716         Work around a MacOS X 10.5 bug in frexpl().
54717         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
54718         * doc/functions/frexpl.texi: Document the bug.
54719         Reported by Elias Pipping <pipping@gentoo.org>.
54720
54721 2008-01-14  Eric Blake  <ebb9@byu.net>
54722
54723         Touch up previous patch.
54724         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
54725         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
54726
54727         Convert strcasestr module to use Two-Way algorithm.
54728         * modules/strcasestr-simple: New module, based on the old
54729         strcasestr, but with Two-Way rather than KMP.
54730         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
54731         * lib/string.in.h (rpl_strcasestr): Declare.
54732         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
54733         performance.
54734         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
54735         * modules/string (Makefile.am): Support strcasestr.
54736         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
54737         * modules/strcasestr-tests (Depends-on): Check for alarm.
54738         * tests/test-strcasestr.c: Augment test.
54739         * lib/str-two-way.h: Clean up stray macro.
54740         * NEWS: Document new module.
54741         * MODULES.html.sh (string handling): Likewise.
54742         * doc/functions/strcasestr.texi: New file.
54743         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
54744         here, since it is not a POSIX function.
54745
54746 2008-01-14  Colin Watson  <cjwatson@debian.org>
54747             Bruno Haible  <bruno@clisp.org>
54748
54749         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
54750         works fine; if not, set REPLACE_STRSIGNAL.
54751         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
54752         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54753         REPLACE_STRSIGNAL.
54754         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
54755         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
54756         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
54757
54758 2008-01-14  Bruno Haible  <bruno@clisp.org>
54759
54760         * modules/strsignal (Include): Change to <string.h>.
54761
54762 2008-01-14  Colin Watson  <cjwatson@debian.org>
54763
54764         * modules/argp (Notice): Add a notice recommending to change
54765         XGETTEXT_OPTIONS.
54766         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
54767
54768 2008-01-13  Colin Watson  <cjwatson@debian.org>
54769
54770         * modules/strsignal-tests: New file.
54771         * tests/test-strsignal.c: New file.
54772
54773         * lib/strsignal.c: New file, from glibc with modifications.
54774         * lib/siglist.h: New file, from glibc with modifications.
54775         * lib/string.in.h (strsignal): New declaration.
54776         * m4/strsignal.m4: New file.
54777         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54778         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
54779         * modules/strsignal: New file.
54780         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
54781         HAVE_DECL_STRSIGNAL.
54782
54783 2008-01-13  Bruno Haible  <bruno@clisp.org>
54784
54785         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
54786         locale encoding is not ASCII. Needed for OpenBSD 4.0.
54787         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
54788         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
54789
54790 2008-01-13  Bruno Haible  <bruno@clisp.org>
54791
54792         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
54793         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
54794         * lib/argp.h (__attribute__): Likewise.
54795         * lib/c-stack.c (__attribute__): Likewise.
54796         * lib/error.h (__attribute__): Likewise.
54797         * lib/fts.c (__attribute__): Likewise.
54798         * lib/openat.h (__attribute__): Likewise.
54799         * lib/stdio.in.h (__attribute__): Likewise.
54800         * lib/string.in.h (__attribute__): Likewise.
54801         * lib/utimens.c (__attribute__): Likewise.
54802         * lib/vasnprintf.h (__attribute__): Likewise.
54803         * lib/xalloc.h (__attribute__): Likewise.
54804         * lib/xprintf.h (__attribute__): Likewise.
54805         * lib/xstrtol.h (__attribute__): Likewise.
54806         * lib/xvasprintf.h (__attribute__): Likewise.
54807
54808 2008-01-12  Bruno Haible  <bruno@clisp.org>
54809
54810         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
54811         * doc/glibc-headers/a.out.texi: New file.
54812         * doc/glibc-headers/aliases.texi: New file.
54813         * doc/glibc-headers/alloca.texi: New file.
54814         * doc/glibc-headers/ar.texi: New file.
54815         * doc/glibc-headers/argp.texi: New file.
54816         * doc/glibc-headers/argz.texi: New file.
54817         * doc/glibc-headers/byteswap.texi: New file.
54818         * doc/glibc-headers/crypt.texi: New file.
54819         * doc/glibc-headers/endian.texi: New file.
54820         * doc/glibc-headers/envz.texi: New file.
54821         * doc/glibc-headers/err.texi: New file.
54822         * doc/glibc-headers/error.texi: New file.
54823         * doc/glibc-headers/execinfo.texi: New file.
54824         * doc/glibc-headers/fpu_control.texi: New file.
54825         * doc/glibc-headers/fstab.texi: New file.
54826         * doc/glibc-headers/fts.texi: New file.
54827         * doc/glibc-headers/getopt.texi: New file.
54828         * doc/glibc-headers/ieee754.texi: New file.
54829         * doc/glibc-headers/ifaddrs.texi: New file.
54830         * doc/glibc-headers/libintl.texi: New file.
54831         * doc/glibc-headers/mcheck.texi: New file.
54832         * doc/glibc-headers/mntent.texi: New file.
54833         * doc/glibc-headers/obstack.texi: New file.
54834         * doc/glibc-headers/paths.texi: New file.
54835         * doc/glibc-headers/printf.texi: New file.
54836         * doc/glibc-headers/pty.texi: New file.
54837         * doc/glibc-headers/resolv.texi: New file.
54838         * doc/glibc-headers/shadow.texi: New file.
54839         * doc/glibc-headers/sysexits.texi: New file.
54840         * doc/glibc-headers/ttyent.texi: New file.
54841
54842 2008-01-12  Jim Meyering  <meyering@redhat.com>
54843
54844         announce-gen: emit Gnulib's git-based version string.
54845         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
54846         New option --gnulib-version=V, where V is expected to be
54847         the output of running git describe in the gnulib directory.
54848         (get_tool_versions): Request feedback on xdelta.  I suspect it's
54849         not useful, and plan to stop publishing an xdelta file with each
54850         coreutils release.
54851
54852         * build-aux/announce-gen: Also check for lzma-compressed files.
54853
54854 2008-01-11  Bruno Haible  <bruno@clisp.org>
54855
54856         * tests/test-memmem.c (main): Increase maximum allowed time.
54857         * tests/test-strstr.c (main): Likewise.
54858
54859 2008-01-11  Bruno Haible  <bruno@clisp.org>
54860
54861         * doc/functions/memmem.texi: Add more precisions about platforms.
54862         * doc/functions/strstr.texi: Likewise.
54863
54864 2008-01-10  Eric Blake  <ebb9@byu.net>
54865
54866         * m4/strstr.m4: Delete cruft from copy-n-paste.
54867         Reported by Bruno Haible.
54868
54869 2008-01-10  Bruno Haible  <bruno@clisp.org>
54870
54871         Make c-strstr rely on strstr.
54872         * lib/c-strstr.c: Don't include str-kmp.h.
54873         (c_strstr): Define in terms of strstr.
54874         * modules/c-strstr (Files): Remove lib/str-kmp.h.
54875         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
54876
54877 2008-01-10  Bruno Haible  <bruno@clisp.org>
54878
54879         * doc/gnulib.texi (String Functions in C Locale): New section.
54880         * doc/c-ctype.texi: New file.
54881         * doc/c-strcase.texi: New file.
54882         * doc/c-strcaseeq.texi: New file.
54883         * doc/c-strcasestr.texi: New file.
54884         * doc/c-strstr.texi: New file.
54885         * doc/c-strtod.texi: New file.
54886         * doc/c-strtold.texi: New file.
54887
54888 2008-01-10  Eric Blake  <ebb9@byu.net>
54889
54890         * lib/relocatable.h: Fix a comment.
54891
54892 2008-01-10  Eric Blake  <ebb9@byu.net>
54893
54894         Share two-way algorithm.
54895         * lib/str-two-way.h: New file, merged from...
54896         * lib/memmem.c: ...here...
54897         * lib/strstr.c: ...and here.
54898         * modules/memmem (Files): Use it.
54899         * modules/strstr (Files): Likewise.
54900
54901         Avoid quadratic strstr implementations.
54902         * lib/strstr.c: New file.
54903         * m4/strstr.m4: Likewise.
54904         * modules/strstr: Likewise.
54905         * modules/strstr-tests: Likewise.
54906         * tests/test-strstr.c: Likewise.
54907         * lib/string.in.h (rpl_strstr): Declare.
54908         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
54909         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
54910         * modules/string (Makefile.am): Likewise.
54911         * MODULES.html.sh (string handling): Mention new module.
54912         * doc/functions/strstr.texi (strstr): Document the bug.
54913
54914 2008-01-10  Bruno Haible  <bruno@clisp.org>
54915
54916         * lib/relocatable.h (relocate): State whether result is freshly
54917         allocated or not.
54918         * lib/relocatable.c (relocate): Return a freshly allocated string
54919         instead of a pointer to a privately held string.
54920         Reported by Sylvain Beucler <beuc@gnu.org>.
54921
54922 2008-01-10  Colin Watson  <cjwatson@debian.org>
54923
54924         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
54925         s/S_ISNLK/S_ISLNK/.
54926
54927 2008-01-09  Bruno Haible  <bruno@clisp.org>
54928
54929         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
54930         and other files.
54931         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
54932         if it's only a guess.
54933         * modules/memmem: Simplify by depending on memmem-simple.
54934
54935 2008-01-09  Bruno Haible  <bruno@clisp.org>
54936
54937         Work around OpenBSD 4.0 tdelete() bug.
54938         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
54939         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
54940         macros and don't redefine the enum values.
54941         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
54942         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
54943         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
54944
54945 2008-01-09  Bruno Haible  <bruno@clisp.org>
54946
54947         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
54948         (main): Don't perform the tests if setlocale did not install a UTF-8
54949         locale. Needed on OpenBSD 4.0.
54950         * modules/wcwidth-tests (Depends-on): Add localcharset.
54951
54952 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54953
54954         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
54955         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
54956         * NEWS: announce this.
54957         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
54958
54959 2008-01-09  Simon Josefsson  <simon@josefsson.org>
54960         and Eric Blake  <ebb9@byu.net>
54961
54962         Add memmem-simple module.
54963         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
54964         (gl_FUNC_MEMMEM): Separate performance from presence checks.
54965         * modules/memmem-simple: New file.
54966         * modules/memmem (Description): Tweak.
54967         * MODULES.html.sh (string handling): Mention new module.
54968         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
54969         addressed by memmem-simple.
54970         * NEWS: Document the difference.
54971
54972 2008-01-09  Eric Blake  <ebb9@byu.net>
54973
54974         Give gcc some memmem optimization hints.
54975         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
54976         (strcasestr): Declare as pure.
54977         * modules/memmem (Maintainer): Claim my implementation.
54978
54979 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54980
54981         Support AIX 6.1 and higher.
54982         * build-aux/config.libpath: Likewise.
54983         * build-aux/config.rpath: Likewise.
54984
54985 2008-01-08  Jim Meyering  <meyering@redhat.com>
54986             Bruno Haible  <bruno@clisp.org>
54987
54988         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
54989         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
54990         Reported by Peter Fales in
54991         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
54992
54993 2008-01-08  Bruno Haible  <bruno@clisp.org>
54994
54995         * modules/unictype/category-of (Depends-on): Add
54996         unictype/category-none.
54997         * modules/unictype/category-and-tests (Depends-on): Add
54998         unictype/category-{L,N,Lu,Nd}.
54999         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
55000         * modules/unictype/category-or-tests (Depends-on): Add
55001         unictype/category-{L,N}.
55002         * modules/unictype/category-name-tests (Depends-on): Add
55003         unictype/category-{Z,Nl}.
55004         Reported by Simon Josefsson.
55005
55006 2008-01-08  Bruno Haible  <bruno@clisp.org>
55007
55008         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
55009         convention better.
55010         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
55011         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
55012         Reported by Peter Miller <millerp@canb.auug.org.au>.
55013
55014 2008-01-08  Eric Blake  <ebb9@byu.net>
55015
55016         Rewrite memmem to guarantee linear complexity without malloc.
55017         * lib/memmem.c (memmem): Use Two-Way rather than
55018         Knuth-Morris-Pratt, to allow O(1) space usage.
55019         (critical_factorization, two_way_short_needle)
55020         (two_way_long_needle): New functions.
55021         (knuth_morris_pratt): Delete.
55022         * modules/memmem (Depends-on): No longer need malloca or stdbool.
55023         Add stdint.
55024         * tests/test-memmem.c (main): Add tests for periodic needle and
55025         sublinear performance.
55026         * doc/functions/memmem.texi (memmem): Document other deficiencies
55027         in cygwin and older glibc.
55028
55029 2008-01-08  Bruno Haible  <bruno@clisp.org>
55030
55031         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
55032         augmentation.
55033
55034 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
55035
55036         Add a configure time option: --disable-acl.
55037         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
55038         AC_ARG_ENABLE(acl).
55039
55040 2008-01-06  Simon Josefsson  <simon@josefsson.org>
55041
55042         * tests/test-localename.c: Don't include obsolete "setenv.h".
55043
55044         * modules/localename-tests (Depends-on): Need unsetenv.
55045
55046 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55047
55048         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
55049
55050 2008-01-06  Colin Watson  <cjwatson@debian.org>
55051
55052         * users.txt: Add man-db.
55053
55054 2008-01-07  Bruno Haible  <bruno@clisp.org>
55055
55056         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
55057         previous section name.
55058
55059 2008-01-07  Bruno Haible  <bruno@clisp.org>
55060
55061         * lib/progname.c (set_program_name): Don't strip off a leading
55062         "lt-" prefix outside a .libs directory.
55063         Suggested by Paul Eggert.
55064
55065 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
55066             Bruno Haible  <bruno@clisp.org>
55067
55068         Improve memory cleanup in 'relocatable' module.
55069         * lib/relocatable.h (compute_curr_prefix): Change return type to
55070         'char *'.
55071         * lib/relocatable.c (compute_curr_prefix): Change return type to
55072         'char *'. Free curr_installdir after use.
55073         (relocate): Free curr_prefix_better after use.
55074         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
55075
55076 2008-01-01  Bruno Haible  <bruno@clisp.org>
55077
55078         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
55079         failure on older glibc systems.
55080         Reported by Peter Fales <psfales@alcatel-lucent.com>.
55081
55082 2008-01-05  Eric Blake  <ebb9@byu.net>
55083
55084         Avoid quadratic system memmem.
55085         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
55086         Reported by Ralf Wildenhues.
55087
55088         Fix memmem test for mingw.
55089         * modules/memmem-tests (configure.ac): Check for alarm.
55090         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
55091         it.
55092         * doc/functions/memmem.texi: New file.
55093         * doc/gnulib.texi (Function Substitutes): Add memmem.
55094         Reported by Bruno Haible.
55095
55096 2008-01-04  Bruno Haible  <bruno@clisp.org>
55097
55098         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
55099         Require gl_HEADER_STRINGS_H_DEFAULTS, not
55100         gl_HEADER_STRING_H_DEFAULTS.
55101
55102 2008-01-04  Eric Blake  <ebb9@byu.net>
55103
55104         Shorten duration of memmem test.
55105         * tests/test-memmem.c (main): Use alarm to declare failure if test
55106         is taking too long.
55107         Reported by Ralf Wildenhues.
55108
55109 2007-12-21  Simon Josefsson  <simon@josefsson.org>
55110
55111         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
55112         string, needed by strerror.
55113
55114 2008-01-03  Colin Watson  <cjwatson@debian.org>
55115             Bruno Haible  <bruno@clisp.org>
55116
55117         * doc/gnulib-tool.texi (Localization): New section.
55118
55119 2008-01-02  Bruno Haible  <bruno@clisp.org>
55120
55121         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
55122         variables to 'unsigned char *' type.
55123         Reported by Paul Eggert.
55124
55125 2008-01-02  Jim Meyering  <jim@meyering.net>
55126
55127         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
55128
55129 2007-12-31  Jim Meyering  <jim@meyering.net>
55130
55131         Avoid use of private FTS type name.
55132         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
55133
55134 2007-12-30  Karl Berry  <karl@gnu.org>
55135
55136         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
55137         work around defect in Texinfo and/or the standalone Info browser.
55138
55139 2007-12-30  Bruno Haible  <bruno@clisp.org>
55140
55141         Unify 5 copies of the KMP code.
55142         * lib/str-kmp.h: New file.
55143         * lib/c-strcasestr.c: Include str-kmp.h.
55144         (knuth_morris_pratt): Remove function.
55145         (c_strcasestr): Update.
55146         * lib/c-strstr.c: Include str-kmp.h.
55147         (knuth_morris_pratt): Remove function.
55148         (c_strcasestr): Update.
55149         * lib/mbscasestr.c: Include str-kmp.h.
55150         (knuth_morris_pratt_unibyte): Remove function.
55151         * lib/mbsstr.c: Include str-kmp.h.
55152         (knuth_morris_pratt_unibyte): Remove function.
55153         * lib/strcasestr.c: Include str-kmp.h.
55154         (knuth_morris_pratt): Remove function.
55155         (strcasestr): Update.
55156         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
55157         * modules/c-strstr (Files): Likewise.
55158         * modules/mbscasestr (Files): Likewise.
55159         * modules/mbsstr (Files): Likewise.
55160         * modules/strcasestr (Files): Likewise.
55161         Suggested by Paul Eggert.
55162
55163 2007-12-30  Bruno Haible  <bruno@clisp.org>
55164
55165         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
55166         defined.
55167
55168 2007-12-30  Bruno Haible  <bruno@clisp.org>
55169
55170         * lib/xmalloca.h: Include xalloc.h.
55171         (xnmalloca): New macro.
55172
55173 2007-12-30  Bruno Haible  <bruno@clisp.org>
55174
55175         * lib/malloca.h (nmalloca): New macro.
55176         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
55177         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
55178         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
55179         knuth_morris_pratt_multibyte): Likewise.
55180         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
55181         knuth_morris_pratt_multibyte): Likewise.
55182         * lib/memmem.c (knuth_morris_pratt): Likewise.
55183         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
55184
55185 2007-12-25  Bruno Haible  <bruno@clisp.org>
55186
55187         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
55188         * lib/glob.c: Don't include openat.h.
55189         (link_exists2_p): Add back the code that deals with the
55190         !GLOB_ALTDIRFUNC case.
55191         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
55192         let it do the filename concatenation.
55193         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
55194         * modules/glob (Depends-on): Remove openat.
55195
55196 2007-12-31  Bruno Haible  <bruno@clisp.org>
55197
55198         * modules/dirfd (License): Change to LGPLv2+.
55199         Approved by Jim Meyering.
55200
55201 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55202
55203         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
55204         when multiplying M by sizeof (size_t).
55205
55206 2007-12-10  Martin Lambers  <marlam@marlam.de>
55207
55208         Override getpagesize on mingw.
55209         * lib/getpagesize.c: New file.
55210         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
55211         * modules/getpagesize (Files): Add lib/getpagesize.c.
55212         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
55213         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55214         REPLACE_GETPAGESIZE.
55215         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
55216
55217 2007-12-25  Bruno Haible  <bruno@clisp.org>
55218
55219         * modules/localcharset (Notice): New field.
55220         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
55221         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
55222
55223 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55224             Bruno Haible  <bruno@clisp.org>
55225
55226         Avoid using the syntax symbol() in formatted documentation.
55227         * MODULES.html.sh (func_module): When replacing symbol() with a
55228         hyperlink, remove the parentheses. Show an error if some remain.
55229         Recognize and render the '...' syntax.
55230         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
55231         Rework. Add paragraph about GCC's inlining.
55232         * doc/alloca.texi: Likewise.
55233         * doc/error.texi: Remove parentheses from symbol reference.
55234         * doc/gnulib-intro.texi: Likewise.
55235         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
55236         * modules/fnmatch (Description): Reword to say "the ... function".
55237         * modules/full-read (Description): Likewise.
55238         * modules/full-write (Description): Likewise.
55239         * modules/safe-read (Description): Likewise.
55240         * modules/safe-write (Description): Likewise.
55241         * modules/strchrnul (Description): Likewise.
55242         * modules/trim (Description): Likewise.
55243         * modules/error (Description): Remove parentheses from symbol
55244         references.
55245         * modules/verror (Description): Likewise.
55246         Reported by Karl Berry.
55247
55248 2007-12-25  Bruno Haible  <bruno@clisp.org>
55249
55250         Fixup after 2007-10-16 commit.
55251         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
55252
55253 2007-12-24  Bruno Haible  <bruno@clisp.org>
55254
55255         Make --enable-relocatable work with DESTDIR.
55256         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
55257         to compute installdir from destprog.
55258         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
55259         also set the RELOC_DESTDIR variable.
55260         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55261
55262 2007-12-24  Bruno Haible  <bruno@clisp.org>
55263
55264         Fix link error due to xalloc_die().
55265         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
55266         of xreadlink.
55267         * lib/relocwrapper.c: Update comments.
55268         * build-aux/install-reloc: Remove xreadlink.c from file list.
55269         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
55270         xreadlink.c.
55271         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55272
55273 2007-12-24  Bruno Haible  <bruno@clisp.org>
55274
55275         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
55276         * lib/setenv.h: Remove file.
55277         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
55278         lib/setenv.h.
55279         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
55280         (Depends-on): Add stdlib.
55281         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
55282         gl_FUNC_UNSETENV.
55283         (Include): Replace setenv.h with <stdlib.h>.
55284         * modules/unsetenv: New file.
55285         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
55286         * lib/unsetenv.c: Include <stdlib.h> first.
55287         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
55288         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
55289         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
55290         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
55291         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
55292         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55293         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
55294         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
55295         * doc/functions/unsetenv.texi: Update.
55296         * modules/xsetenv (Depends-on): Add unsetenv.
55297         * modules/getdate (Depends-on): Likewise.
55298         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
55299         * lib/xsetenv.c: Don't include setenv.h.
55300         * lib/getdate.y: Likewise.
55301         * lib/relocwrapper.c: Likewise.
55302         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
55303         (Depends-on): Add stdlib.
55304         * NEWS: Mention the changes.
55305         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
55306
55307 2007-12-23  Bruno Haible  <bruno@clisp.org>
55308
55309         * lib/memmem.c (memmem): Use lowercase variable names. Tab
55310         indentation.
55311
55312 2007-12-23  Bruno Haible  <bruno@clisp.org>
55313
55314         * lib/c-strcasestr.c: Add more comments.
55315         * lib/c-strstr.c: Likewise.
55316         * lib/mbscasestr.c: Likewise.
55317         * lib/mbsstr.c: Likewise.
55318         * lib/strcasestr.c: Likewise.
55319         * lib/memmem.c: Likewise.
55320
55321 2007-12-23  Bruno Haible  <bruno@clisp.org>
55322
55323         * tests/test-memmem.c: Include <string.h> first.
55324
55325 2007-12-22  Bruno Haible  <bruno@clisp.org>
55326
55327         * gnulib-tool (func_create_testdir): Change $auxdir while generating
55328         the contents of $testsbase.
55329         Reported by Ralf Wildenhues.
55330
55331 2007-12-22  Bruno Haible  <bruno@clisp.org>
55332
55333         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
55334         two variables local_ldadd_before, local_ldadd_last.
55335
55336 2007-12-20  Eric Blake  <ebb9@byu.net>
55337
55338         Work around circular library issue when cross-compiling.
55339         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
55340         that progname.o does not need to pull in rpl_memcmp.
55341
55342 2007-12-19  Eric Blake  <ebb9@byu.net>
55343
55344         Fix memmem to avoid O(n^2) worst-case complexity.
55345         * lib/memmem.c (knuth_morris_pratt): New function.
55346         (memmem): Use it if first few naive iterations fail.
55347         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
55348         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
55349         * modules/memchr (License): Likewise.
55350         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
55351         malloca.
55352         * tests/test-memmem.c: Rewrite, borrowing ideas from
55353         test-mbsstr1.c; the old version wouldn't even compile!
55354         * modules/memmem-tests: New file.
55355         * lib/string.in.h (rpl_memmem): Add declaration.
55356         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
55357         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
55358         REPLACE_MEMMEM.
55359
55360 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55361
55362         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
55363         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
55364         before any system include files, and undef after them all.  This
55365         should fix a problem on VMS reported by John E. Malmberg in
55366         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
55367
55368 2007-12-17  Eric Blake  <ebb9@byu.net>
55369
55370         Revert addition of verify, for BSD/OS.
55371         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
55372         can't handle large files, for the sake of obsolete platforms.
55373         * modules/fseeko (Depends-on): Remove verify.
55374         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
55375         * doc/functions/ftello.texi (ftello): Likewise.
55376         * doc/functions/fgetpos.texi (fgetpos): Likewise.
55377         Reported by Larry Jones.
55378
55379 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
55380
55381         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
55382         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
55383
55384 2007-12-17  Jim Meyering  <meyering@redhat.com>
55385
55386         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
55387         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
55388         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
55389         * modules/getcwd (Depends-on): Add openat.
55390         Reported by Petr Salinger.
55391
55392 2007-12-17  Bruno Haible  <bruno@clisp.org>
55393
55394         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
55395         avoid a segmentation fault of the configure test on x86_64 systems.
55396
55397 2007-12-15  Jim Meyering  <meyering@redhat.com>
55398
55399         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
55400
55401 2007-12-13  Eric Blake  <ebb9@byu.net>
55402
55403         Another fseek test.
55404         * tests/test-fseek.c (main): Also test ungetc handling.
55405         * tests/test-fseeko.c (main): Likewise.
55406         * modules/fseeko (Depends-on): Add verify.
55407         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
55408         large.
55409         Reported by Larry Jones.
55410
55411         Fix fseeko on mingw.
55412         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
55413         seek.
55414
55415         Beef up fseek tests.
55416         * tests/test-fseek.c (main): Also test eof handling.
55417         * tests/test-fseeko.c (main): Likewise.
55418         Reported by Larry Jones.
55419
55420 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
55421
55422         Fix fseeko on BSD-based platforms.
55423         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
55424         successful seek.
55425
55426 2007-12-12  Eric Blake  <ebb9@byu.net>
55427
55428         Allow circular dependency of separate libtests.a
55429         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
55430         when use_libtests.
55431
55432 2007-12-11  Eric Blake  <ebb9@byu.net>
55433
55434         Fix bug with -0.0L in previous patch.
55435         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
55436         * tests/test-isnan.c (main): Also test on zeroes.
55437         * tests/test-isnanf.c (main): Likewise.
55438         * tests/test-isnanl.h (main): Likewise.
55439
55440         Detect pseudo-denormals on x86 even when cross-compiling.
55441         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
55442         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
55443         invalid bit patterns that happen to satisfy ==.
55444
55445         Avoid link failures with separate libtests.a.
55446         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
55447         last, to satisfy circular dependencies.
55448
55449 2007-12-11  Eric Blake  <ebb9@byu.net>
55450         and Bruno Haible  <bruno@clisp.org>
55451
55452         Fix OpenBSD 4.0 <float.h> handling of long double.
55453         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
55454         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
55455         * doc/headers/float.texi (float.h): Document OpenBSD bug.
55456
55457 2007-12-11  Jim Meyering  <meyering@redhat.com>
55458
55459         * users.txt: Add libvirt.
55460
55461         Support versions of autoconf prior to 2.59c.
55462         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
55463         if it is not already defined.
55464
55465 2007-12-09  Bruno Haible  <bruno@clisp.org>
55466
55467         Let 'gnulib-tool --import' collect sources needed for the tests in
55468         tests/ rather than in lib/.
55469         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
55470         argument. If true, add rules to generate libtests.a, and put libtests.a
55471         into $(LDADD). Consider source files in subdirectories and set
55472         uses_subdirs.
55473         (func_emit_initmacro_start, func_emit_initmacro_end,
55474         func_emit_initmacro_done): Pass all arguments explicitly.
55475         (func_import): Determine two module lists main_modules,
55476         testsrelated_modules. Determine use_libtests. Determine two variables
55477         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
55478         instead of just sed_transform_lib_file. Determine two variables
55479         main_files and testsrelated_files. Compute 'files' as the union of
55480         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
55481         func_add_or_update. In the generated gnulib-comp.m4, collect the
55482         object files for tests/ in different variables than those for lib/.
55483         Substitute LIBTESTS_LIBDEPS.
55484         (func_create_testdir): Combine the uses_subdirs results from
55485         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
55486
55487 2007-12-09  Bruno Haible  <bruno@clisp.org>
55488
55489         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
55490         the build-aux directory.
55491
55492 2007-12-09  Bruno Haible  <bruno@clisp.org>
55493
55494         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
55495         introduced on 2006-09-09.
55496
55497 2007-12-07  Jim Meyering  <meyering@redhat.com>
55498
55499         Let these macros work also with autoconf-2.59.
55500         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
55501         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
55502         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
55503
55504 2007-12-06  Jim Meyering  <meyering@redhat.com>
55505
55506         Avoid a configure-time syntax error in gl_FUNC_ACL.
55507         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
55508         function in each branch, before testing the cache variable.
55509
55510 2007-12-04  Eric Blake  <ebb9@byu.net>
55511
55512         Make scripts executable.
55513         * build-aux/config.guess: Add execute permissions.
55514         * build-aux/config.sub: Likewise.
55515         * build-aux/gendocs.sh: Likewise.
55516
55517         Fix frexp on mingw.
55518         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
55519         cross-compiling.
55520         * doc/functions/frexp.texi (frexp): Document the bug.
55521
55522         Make cygwin fseeko check more reliable.
55523         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
55524         version numbers, rather than unrelated feature check.
55525         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
55526         * doc/functions/ftello.texi (ftello): Likewise.
55527         Reported by Bruno Haible.
55528
55529         * m4/strerror.m4: Bump version number.
55530
55531 2007-12-03  Bruno Haible  <bruno@clisp.org>
55532
55533         * doc/functions/mprotect.texi: Mention the mingw problem.
55534
55535 2007-12-03  Eric Blake  <ebb9@byu.net>
55536
55537         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
55538         REPLACE_STRERROR is initialized before this macro.
55539
55540 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55541
55542         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
55543         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
55544         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
55545         put -lsec in even for programs other than 'ls'.  This fixes a problem
55546         for gettext reported by Bruno Haible in
55547         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
55548         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
55549         Add support for Solaris 10.  This isn't efficient, but should get the
55550         job done for now.
55551
55552 2007-12-03  James Youngman  <jay@gnu.org>
55553
55554         * doc/regexprops-generic.texi: change "an close-group" to "a
55555         close-group" and "illegal" to "not allowed".
55556
55557 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55558
55559         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
55560         pr_byname.h. Needed for the rare case when the maintainer has done
55561         "make maintainer-clean" in the source directory and then attempts a
55562         build outside the source directory.
55563         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
55564         scripts_byname.h.
55565
55566 2007-12-02  Martin Lambers <marlam@marlam.de>
55567             Bruno Haible  <bruno@clisp.org>
55568
55569         * lib/getpagesize.h: Remove file.
55570         * lib/unistd.in.h: Include declaration of getpagesize here.
55571         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
55572         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
55573         HAVE_SYS_PARAM_H.
55574         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
55575         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55576         * modules/getpagesize (Files): Remove lib/getpagesize.h.
55577         (Depends-on): Add unistd.
55578         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55579         (Include): Use <unistd.h> instead of getpagesize.h.
55580         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
55581         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
55582         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
55583         gl_GETPAGESIZE invocation, already handled by module dependency.
55584         * lib/pagealign_alloc.c: Don't include getpagesize.h.
55585
55586 2007-12-02  Bruno Haible  <bruno@clisp.org>
55587
55588         * modules/strings-tests: New file.
55589         * tests/test-strings.c: New file.
55590
55591         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
55592         * lib/strings.in.h: New file.
55593         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
55594         * m4/strings_h.m4: New file.
55595         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
55596         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
55597         * modules/strings: New file.
55598         * modules/string (Makefile.am): Update.
55599         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
55600         Reported by Karl Berry.
55601
55602 2007-12-01  Eric Blake  <ebb9@byu.net>
55603
55604         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
55605         accomodate fix in cygwin 1.5.25.
55606
55607 2007-12-01  Jim Meyering  <meyering@redhat.com>
55608
55609         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
55610         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
55611         that would inhibit utf8-optimization of a regexp containing line-
55612         or buffer-anchors, e.g., `^', `$'.
55613
55614 2007-11-30  Bruno Haible  <bruno@clisp.org>
55615
55616         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
55617         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
55618         glthread_recursive_lock_init.
55619         * lib/lock.c (glthread_recursive_lock_init)
55620         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
55621         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55622
55623 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
55624
55625         New function qset_acl, like set_acl but with syscall semantics.
55626         * lib/acl.h (qset_acl): New decl.
55627         * lib/acl.c (qset_acl): New function.
55628         (set_acl): Use new function.  Use more-consistent diagnostics.
55629
55630 2007-11-28  Jim Meyering  <meyering@redhat.com>
55631
55632         * modules/physmem (License): Change from GPL to LGPLv2+.
55633
55634 2007-11-26  Bruno Haible  <bruno@clisp.org>
55635
55636         * lib/vasnprintf.c (decode_long_double): Don't abort if the
55637         'long double' type has excess precision.
55638         Reported by Jim Meyering in
55639         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
55640
55641 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55642
55643         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
55644         Sync from <http://gnu.org/licenses>.
55645         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
55646         with license text from same location.
55647         * doc/maintain.texi, doc/standards.texi:  Sync from
55648         <http://savannah.gnu.org/projects/gnustandards>.
55649
55650 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
55651         and Jim Meyering  <meyering@redhat.com>
55652
55653         Adjust getdate' grammar to accept a slightly more regular language.
55654         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
55655         Before, the former was rejected.
55656         * lib/getdate.y (digits_to_date_time): New function, factored
55657         out of ...
55658         (number): ...here.  Just call digits_to_date_time.
55659         (hybrid): New non-terminal to handle an <unsigned number,
55660         signed relative offset> sequence consistently.
55661
55662 2007-11-18  Jim Meyering  <meyering@redhat.com>
55663
55664         Pull my changes from coreutils:
55665         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
55666         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
55667         use of $gnulib_tool_option_extras, so that it's separated from the
55668         preceding argument.
55669
55670         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
55671         * build-aux/bootstrap (cp_mark_as_generated): Create any required
55672         parent destination directories before copying a file into place.
55673
55674 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55675
55676         bootstrap: work also with 4-argument variant of AC_INIT
55677         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
55678
55679 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55680
55681         Port test-getaddrinfo to Solaris.
55682         Problem reported by Bruno Haible in
55683         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
55684         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
55685         explanation of setting 'hints'.
55686         Don't reject an implementation merely because it returns EAI_SERVICE.
55687         (EAI_SERVICE): Define to 0 if not defined.
55688
55689 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
55690
55691         The license of gnu-make and posix-shell is now "GPLed build tool".
55692         * modules/gnu-make (License): Likewise.
55693         * modules/posix-shell (License): Likewise.
55694
55695         New module posix-shell, for determining a POSIX shell
55696         or perhaps something that is close enough to a POSIX shell.
55697         * m4/posix-shell.m4: New file.
55698         * modules/posix-shell: New file.
55699
55700         * MODULES.html.sh: Mention new module.
55701
55702         New module gnu-make, for determining whether we're using GNU Make.
55703         * m4/gnu-make.m4: New file.
55704         * modules/gnu-make: New file.
55705         * MODULES.html.sh: Mention new module.
55706
55707 2007-11-14  Jim Meyering  <meyering@redhat.com>
55708
55709         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
55710         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
55711         use this macro to create a function _definition_.
55712         Remove useless "#undef ARGMATCH_DIE".
55713
55714 2007-11-14  Bruno Haible  <bruno@clisp.org>
55715
55716         * lib/config.charset: Update for OpenBSD 4.1.
55717         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
55718
55719 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
55720
55721         Document 64-bit #if problems in stdint.texi.
55722         * doc/headers/stdint.texi (stdint.h): Mention problems with
55723         64-bit-#if, and how to work around them.
55724
55725         Don't insist on 'long long int' support in the preprocessor.  It
55726         breaks too many things.  For example, PRIdMAX still uses a 'long
55727         long int' format with the latest Sun compiler, even though
55728         HAVE_LONG_LONG_INT isn't defined due to that compiler's
55729         preprocessor problem.  This causes the latest coreutils to dump
55730         core on Solaris 10 sparc with the Sun C compiler.
55731         Instead, fix the 2007-10-16 problem in a different way, by evaluating
55732         the troublesome expressions at configure-time, not at #if-time.
55733         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
55734         preprocessor.
55735         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
55736         compile-time C checks, done at 'configure'-time.
55737         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
55738         * modules/inttypes (Makefile): Substitute the new symbols that
55739         gl_INTTYPES_H now generates.
55740         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
55741
55742 2007-11-12  Bruno Haible  <bruno@clisp.org>
55743
55744         Tests for Unicode character classification functions.
55745
55746         * modules/unictype/bidicategory-byname-tests: New file.
55747         * modules/unictype/bidicategory-name-tests: New file.
55748         * modules/unictype/bidicategory-of-tests: New file.
55749         * modules/unictype/bidicategory-test-tests: New file.
55750         * modules/unictype/block-list-tests: New file.
55751         * modules/unictype/block-of-tests: New file.
55752         * modules/unictype/block-test-tests: New file.
55753         * modules/unictype/category-C-tests: New file.
55754         * modules/unictype/category-Cc-tests: New file.
55755         * modules/unictype/category-Cf-tests: New file.
55756         * modules/unictype/category-Cn-tests: New file.
55757         * modules/unictype/category-Co-tests: New file.
55758         * modules/unictype/category-Cs-tests: New file.
55759         * modules/unictype/category-L-tests: New file.
55760         * modules/unictype/category-Ll-tests: New file.
55761         * modules/unictype/category-Lm-tests: New file.
55762         * modules/unictype/category-Lo-tests: New file.
55763         * modules/unictype/category-Lt-tests: New file.
55764         * modules/unictype/category-Lu-tests: New file.
55765         * modules/unictype/category-M-tests: New file.
55766         * modules/unictype/category-Mc-tests: New file.
55767         * modules/unictype/category-Me-tests: New file.
55768         * modules/unictype/category-Mn-tests: New file.
55769         * modules/unictype/category-N-tests: New file.
55770         * modules/unictype/category-Nd-tests: New file.
55771         * modules/unictype/category-Nl-tests: New file.
55772         * modules/unictype/category-No-tests: New file.
55773         * modules/unictype/category-P-tests: New file.
55774         * modules/unictype/category-Pc-tests: New file.
55775         * modules/unictype/category-Pd-tests: New file.
55776         * modules/unictype/category-Pe-tests: New file.
55777         * modules/unictype/category-Pf-tests: New file.
55778         * modules/unictype/category-Pi-tests: New file.
55779         * modules/unictype/category-Po-tests: New file.
55780         * modules/unictype/category-Ps-tests: New file.
55781         * modules/unictype/category-S-tests: New file.
55782         * modules/unictype/category-Sc-tests: New file.
55783         * modules/unictype/category-Sk-tests: New file.
55784         * modules/unictype/category-Sm-tests: New file.
55785         * modules/unictype/category-So-tests: New file.
55786         * modules/unictype/category-Z-tests: New file.
55787         * modules/unictype/category-Zl-tests: New file.
55788         * modules/unictype/category-Zp-tests: New file.
55789         * modules/unictype/category-Zs-tests: New file.
55790         * modules/unictype/category-and-not-tests: New file.
55791         * modules/unictype/category-and-tests: New file.
55792         * modules/unictype/category-byname-tests: New file.
55793         * modules/unictype/category-name-tests: New file.
55794         * modules/unictype/category-none-tests: New file.
55795         * modules/unictype/category-of-tests: New file.
55796         * modules/unictype/category-or-tests: New file.
55797         * modules/unictype/category-test-withtable-tests: New file.
55798         * modules/unictype/combining-class-tests: New file.
55799         * modules/unictype/ctype-alnum-tests: New file.
55800         * modules/unictype/ctype-alpha-tests: New file.
55801         * modules/unictype/ctype-blank-tests: New file.
55802         * modules/unictype/ctype-cntrl-tests: New file.
55803         * modules/unictype/ctype-digit-tests: New file.
55804         * modules/unictype/ctype-graph-tests: New file.
55805         * modules/unictype/ctype-lower-tests: New file.
55806         * modules/unictype/ctype-print-tests: New file.
55807         * modules/unictype/ctype-punct-tests: New file.
55808         * modules/unictype/ctype-space-tests: New file.
55809         * modules/unictype/ctype-upper-tests: New file.
55810         * modules/unictype/ctype-xdigit-tests: New file.
55811         * modules/unictype/decimal-digit-tests: New file.
55812         * modules/unictype/digit-tests: New file.
55813         * modules/unictype/mirror-tests: New file.
55814         * modules/unictype/numeric-tests: New file.
55815         * modules/unictype/property-alphabetic-tests: New file.
55816         * modules/unictype/property-ascii-hex-digit-tests: New file.
55817         * modules/unictype/property-bidi-arabic-digit-tests: New file.
55818         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
55819         * modules/unictype/property-bidi-block-separator-tests: New file.
55820         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
55821         * modules/unictype/property-bidi-common-separator-tests: New file.
55822         * modules/unictype/property-bidi-control-tests: New file.
55823         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
55824         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
55825         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
55826         * modules/unictype/property-bidi-european-digit-tests: New file.
55827         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
55828         * modules/unictype/property-bidi-left-to-right-tests: New file.
55829         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
55830         * modules/unictype/property-bidi-other-neutral-tests: New file.
55831         * modules/unictype/property-bidi-pdf-tests: New file.
55832         * modules/unictype/property-bidi-segment-separator-tests: New file.
55833         * modules/unictype/property-bidi-whitespace-tests: New file.
55834         * modules/unictype/property-byname-tests: New file.
55835         * modules/unictype/property-combining-tests: New file.
55836         * modules/unictype/property-composite-tests: New file.
55837         * modules/unictype/property-currency-symbol-tests: New file.
55838         * modules/unictype/property-dash-tests: New file.
55839         * modules/unictype/property-decimal-digit-tests: New file.
55840         * modules/unictype/property-default-ignorable-code-point-tests: New file.
55841         * modules/unictype/property-deprecated-tests: New file.
55842         * modules/unictype/property-diacritic-tests: New file.
55843         * modules/unictype/property-extender-tests: New file.
55844         * modules/unictype/property-format-control-tests: New file.
55845         * modules/unictype/property-grapheme-base-tests: New file.
55846         * modules/unictype/property-grapheme-extend-tests: New file.
55847         * modules/unictype/property-grapheme-link-tests: New file.
55848         * modules/unictype/property-hex-digit-tests: New file.
55849         * modules/unictype/property-hyphen-tests: New file.
55850         * modules/unictype/property-id-continue-tests: New file.
55851         * modules/unictype/property-id-start-tests: New file.
55852         * modules/unictype/property-ideographic-tests: New file.
55853         * modules/unictype/property-ids-binary-operator-tests: New file.
55854         * modules/unictype/property-ids-trinary-operator-tests: New file.
55855         * modules/unictype/property-ignorable-control-tests: New file.
55856         * modules/unictype/property-iso-control-tests: New file.
55857         * modules/unictype/property-join-control-tests: New file.
55858         * modules/unictype/property-left-of-pair-tests: New file.
55859         * modules/unictype/property-line-separator-tests: New file.
55860         * modules/unictype/property-logical-order-exception-tests: New file.
55861         * modules/unictype/property-lowercase-tests: New file.
55862         * modules/unictype/property-math-tests: New file.
55863         * modules/unictype/property-non-break-tests: New file.
55864         * modules/unictype/property-not-a-character-tests: New file.
55865         * modules/unictype/property-numeric-tests: New file.
55866         * modules/unictype/property-other-alphabetic-tests: New file.
55867         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
55868         * modules/unictype/property-other-grapheme-extend-tests: New file.
55869         * modules/unictype/property-other-id-continue-tests: New file.
55870         * modules/unictype/property-other-id-start-tests: New file.
55871         * modules/unictype/property-other-lowercase-tests: New file.
55872         * modules/unictype/property-other-math-tests: New file.
55873         * modules/unictype/property-other-uppercase-tests: New file.
55874         * modules/unictype/property-paired-punctuation-tests: New file.
55875         * modules/unictype/property-paragraph-separator-tests: New file.
55876         * modules/unictype/property-pattern-syntax-tests: New file.
55877         * modules/unictype/property-pattern-white-space-tests: New file.
55878         * modules/unictype/property-private-use-tests: New file.
55879         * modules/unictype/property-punctuation-tests: New file.
55880         * modules/unictype/property-quotation-mark-tests: New file.
55881         * modules/unictype/property-radical-tests: New file.
55882         * modules/unictype/property-sentence-terminal-tests: New file.
55883         * modules/unictype/property-soft-dotted-tests: New file.
55884         * modules/unictype/property-space-tests: New file.
55885         * modules/unictype/property-terminal-punctuation-tests: New file.
55886         * modules/unictype/property-test-tests: New file.
55887         * modules/unictype/property-titlecase-tests: New file.
55888         * modules/unictype/property-unassigned-code-value-tests: New file.
55889         * modules/unictype/property-unified-ideograph-tests: New file.
55890         * modules/unictype/property-uppercase-tests: New file.
55891         * modules/unictype/property-variation-selector-tests: New file.
55892         * modules/unictype/property-white-space-tests: New file.
55893         * modules/unictype/property-xid-continue-tests: New file.
55894         * modules/unictype/property-xid-start-tests: New file.
55895         * modules/unictype/property-zero-width-tests: New file.
55896         * modules/unictype/scripts-tests: New file.
55897         * modules/unictype/syntax-c-ident-tests: New file.
55898         * modules/unictype/syntax-c-whitespace-tests: New file.
55899         * modules/unictype/syntax-java-ident-tests: New file.
55900         * modules/unictype/syntax-java-whitespace-tests: New file.
55901         * tests/unictype/test-bidi_byname.c: New file.
55902         * tests/unictype/test-bidi_name.c: New file.
55903         * tests/unictype/test-bidi_of.c: New file.
55904         * tests/unictype/test-bidi_test.c: New file.
55905         * tests/unictype/test-block_list.c: New file.
55906         * tests/unictype/test-block_of.c: New file.
55907         * tests/unictype/test-block_test.c: New file.
55908         * tests/unictype/test-categ_and.c: New file.
55909         * tests/unictype/test-categ_and_not.c: New file.
55910         * tests/unictype/test-categ_byname.c: New file.
55911         * tests/unictype/test-categ_name.c: New file.
55912         * tests/unictype/test-categ_none.c: New file.
55913         * tests/unictype/test-categ_of.c: New file.
55914         * tests/unictype/test-categ_or.c: New file.
55915         * tests/unictype/test-categ_test_withtable.c: New file.
55916         * tests/unictype/test-combining.c: New file.
55917         * tests/unictype/test-decdigit.c: New file.
55918         * tests/unictype/test-digit.c: New file.
55919         * tests/unictype/test-mirror.c: New file.
55920         * tests/unictype/test-numeric.c: New file.
55921         * tests/unictype/test-pr_byname.c: New file.
55922         * tests/unictype/test-pr_test.c: New file.
55923         * tests/unictype/test-predicate-part1.h: New file.
55924         * tests/unictype/test-predicate-part2.h: New file.
55925         * tests/unictype/test-scripts.c: New file.
55926         * tests/unictype/test-sy_c_ident.c: New file.
55927         * tests/unictype/test-sy_java_ident.c: New file.
55928
55929         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
55930         for Unicode 5.0.0.
55931         * tests/unictype/test-categ_Cc.c: Likewise.
55932         * tests/unictype/test-categ_Cf.c: Likewise.
55933         * tests/unictype/test-categ_Cn.c: Likewise.
55934         * tests/unictype/test-categ_Co.c: Likewise.
55935         * tests/unictype/test-categ_Cs.c: Likewise.
55936         * tests/unictype/test-categ_L.c: Likewise.
55937         * tests/unictype/test-categ_Ll.c: Likewise.
55938         * tests/unictype/test-categ_Lm.c: Likewise.
55939         * tests/unictype/test-categ_Lo.c: Likewise.
55940         * tests/unictype/test-categ_Lt.c: Likewise.
55941         * tests/unictype/test-categ_Lu.c: Likewise.
55942         * tests/unictype/test-categ_M.c: Likewise.
55943         * tests/unictype/test-categ_Mc.c: Likewise.
55944         * tests/unictype/test-categ_Me.c: Likewise.
55945         * tests/unictype/test-categ_Mn.c: Likewise.
55946         * tests/unictype/test-categ_N.c: Likewise.
55947         * tests/unictype/test-categ_Nd.c: Likewise.
55948         * tests/unictype/test-categ_Nl.c: Likewise.
55949         * tests/unictype/test-categ_No.c: Likewise.
55950         * tests/unictype/test-categ_P.c: Likewise.
55951         * tests/unictype/test-categ_Pc.c: Likewise.
55952         * tests/unictype/test-categ_Pd.c: Likewise.
55953         * tests/unictype/test-categ_Pe.c: Likewise.
55954         * tests/unictype/test-categ_Pf.c: Likewise.
55955         * tests/unictype/test-categ_Pi.c: Likewise.
55956         * tests/unictype/test-categ_Po.c: Likewise.
55957         * tests/unictype/test-categ_Ps.c: Likewise.
55958         * tests/unictype/test-categ_S.c: Likewise.
55959         * tests/unictype/test-categ_Sc.c: Likewise.
55960         * tests/unictype/test-categ_Sk.c: Likewise.
55961         * tests/unictype/test-categ_Sm.c: Likewise.
55962         * tests/unictype/test-categ_So.c: Likewise.
55963         * tests/unictype/test-categ_Z.c: Likewise.
55964         * tests/unictype/test-categ_Zl.c: Likewise.
55965         * tests/unictype/test-categ_Zp.c: Likewise.
55966         * tests/unictype/test-categ_Zs.c: Likewise.
55967         * tests/unictype/test-ctype_alnum.c: Likewise.
55968         * tests/unictype/test-ctype_alpha.c: Likewise.
55969         * tests/unictype/test-ctype_blank.c: Likewise.
55970         * tests/unictype/test-ctype_cntrl.c: Likewise.
55971         * tests/unictype/test-ctype_digit.c: Likewise.
55972         * tests/unictype/test-ctype_graph.c: Likewise.
55973         * tests/unictype/test-ctype_lower.c: Likewise.
55974         * tests/unictype/test-ctype_print.c: Likewise.
55975         * tests/unictype/test-ctype_punct.c: Likewise.
55976         * tests/unictype/test-ctype_space.c: Likewise.
55977         * tests/unictype/test-ctype_upper.c: Likewise.
55978         * tests/unictype/test-ctype_xdigit.c: Likewise.
55979         * tests/unictype/test-decdigit.h: Likewise.
55980         * tests/unictype/test-digit.h: Likewise.
55981         * tests/unictype/test-numeric.h: Likewise.
55982         * tests/unictype/test-pr_alphabetic.c: Likewise.
55983         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
55984         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
55985         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
55986         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
55987         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
55988         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
55989         * tests/unictype/test-pr_bidi_control.c: Likewise.
55990         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
55991         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
55992         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
55993         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
55994         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
55995         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
55996         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
55997         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
55998         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
55999         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
56000         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
56001         * tests/unictype/test-pr_combining.c: Likewise.
56002         * tests/unictype/test-pr_composite.c: Likewise.
56003         * tests/unictype/test-pr_currency_symbol.c: Likewise.
56004         * tests/unictype/test-pr_dash.c: Likewise.
56005         * tests/unictype/test-pr_decimal_digit.c: Likewise.
56006         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
56007         * tests/unictype/test-pr_deprecated.c: Likewise.
56008         * tests/unictype/test-pr_diacritic.c: Likewise.
56009         * tests/unictype/test-pr_extender.c: Likewise.
56010         * tests/unictype/test-pr_format_control.c: Likewise.
56011         * tests/unictype/test-pr_grapheme_base.c: Likewise.
56012         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
56013         * tests/unictype/test-pr_grapheme_link.c: Likewise.
56014         * tests/unictype/test-pr_hex_digit.c: Likewise.
56015         * tests/unictype/test-pr_hyphen.c: Likewise.
56016         * tests/unictype/test-pr_id_continue.c: Likewise.
56017         * tests/unictype/test-pr_id_start.c: Likewise.
56018         * tests/unictype/test-pr_ideographic.c: Likewise.
56019         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
56020         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
56021         * tests/unictype/test-pr_ignorable_control.c: Likewise.
56022         * tests/unictype/test-pr_iso_control.c: Likewise.
56023         * tests/unictype/test-pr_join_control.c: Likewise.
56024         * tests/unictype/test-pr_left_of_pair.c: Likewise.
56025         * tests/unictype/test-pr_line_separator.c: Likewise.
56026         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
56027         * tests/unictype/test-pr_lowercase.c: Likewise.
56028         * tests/unictype/test-pr_math.c: Likewise.
56029         * tests/unictype/test-pr_non_break.c: Likewise.
56030         * tests/unictype/test-pr_not_a_character.c: Likewise.
56031         * tests/unictype/test-pr_numeric.c: Likewise.
56032         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
56033         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
56034         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
56035         * tests/unictype/test-pr_other_id_continue.c: Likewise.
56036         * tests/unictype/test-pr_other_id_start.c: Likewise.
56037         * tests/unictype/test-pr_other_lowercase.c: Likewise.
56038         * tests/unictype/test-pr_other_math.c: Likewise.
56039         * tests/unictype/test-pr_other_uppercase.c: Likewise.
56040         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
56041         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
56042         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
56043         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
56044         * tests/unictype/test-pr_private_use.c: Likewise.
56045         * tests/unictype/test-pr_punctuation.c: Likewise.
56046         * tests/unictype/test-pr_quotation_mark.c: Likewise.
56047         * tests/unictype/test-pr_radical.c: Likewise.
56048         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
56049         * tests/unictype/test-pr_soft_dotted.c: Likewise.
56050         * tests/unictype/test-pr_space.c: Likewise.
56051         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
56052         * tests/unictype/test-pr_titlecase.c: Likewise.
56053         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
56054         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
56055         * tests/unictype/test-pr_uppercase.c: Likewise.
56056         * tests/unictype/test-pr_variation_selector.c: Likewise.
56057         * tests/unictype/test-pr_white_space.c: Likewise.
56058         * tests/unictype/test-pr_xid_continue.c: Likewise.
56059         * tests/unictype/test-pr_xid_start.c: Likewise.
56060         * tests/unictype/test-pr_zero_width.c: Likewise.
56061         * tests/unictype/test-sy_c_whitespace.c: Likewise.
56062         * tests/unictype/test-sy_java_whitespace.c: Likewise.
56063
56064 2007-11-12  Bruno Haible  <bruno@clisp.org>
56065
56066         Unicode character classification functions.
56067         * lib/unictype.h: New file.
56068         * modules/unictype/base: New file.
56069         * modules/unictype/category-L: New file.
56070         * modules/unictype/category-Lu: New file.
56071         * modules/unictype/category-Ll: New file.
56072         * modules/unictype/category-Lt: New file.
56073         * modules/unictype/category-Lm: New file.
56074         * modules/unictype/category-Lo: New file.
56075         * modules/unictype/category-M: New file.
56076         * modules/unictype/category-Mn: New file.
56077         * modules/unictype/category-Mc: New file.
56078         * modules/unictype/category-Me: New file.
56079         * modules/unictype/category-N: New file.
56080         * modules/unictype/category-Nd: New file.
56081         * modules/unictype/category-Nl: New file.
56082         * modules/unictype/category-No: New file.
56083         * modules/unictype/category-P: New file.
56084         * modules/unictype/category-Pc: New file.
56085         * modules/unictype/category-Pd: New file.
56086         * modules/unictype/category-Ps: New file.
56087         * modules/unictype/category-Pe: New file.
56088         * modules/unictype/category-Pi: New file.
56089         * modules/unictype/category-Pf: New file.
56090         * modules/unictype/category-Po: New file.
56091         * modules/unictype/category-S: New file.
56092         * modules/unictype/category-Sm: New file.
56093         * modules/unictype/category-Sc: New file.
56094         * modules/unictype/category-Sk: New file.
56095         * modules/unictype/category-So: New file.
56096         * modules/unictype/category-Z: New file.
56097         * modules/unictype/category-Zs: New file.
56098         * modules/unictype/category-Zl: New file.
56099         * modules/unictype/category-Zp: New file.
56100         * modules/unictype/category-C: New file.
56101         * modules/unictype/category-Cc: New file.
56102         * modules/unictype/category-Cf: New file.
56103         * modules/unictype/category-Cs: New file.
56104         * modules/unictype/category-Co: New file.
56105         * modules/unictype/category-Cn: New file.
56106         * modules/unictype/category-or: New file.
56107         * modules/unictype/category-of: New file.
56108         * modules/unictype/category-test: New file.
56109         * modules/unictype/category-test-withtable: New file.
56110         * modules/unictype/category-byname: New file.
56111         * modules/unictype/category-none: New file.
56112         * modules/unictype/category-and: New file.
56113         * modules/unictype/category-and-not: New file.
56114         * modules/unictype/category-name: New file.
56115         * modules/unictype/combining-class: New file.
56116         * modules/unictype/category-all: New file.
56117         * modules/unictype/bidicategory-all: New file.
56118         * modules/unictype/bidicategory-byname: New file.
56119         * modules/unictype/bidicategory-name: New file.
56120         * modules/unictype/bidicategory-of: New file.
56121         * modules/unictype/bidicategory-test: New file.
56122         * modules/unictype/decimal-digit: New file.
56123         * modules/unictype/digit: New file.
56124         * modules/unictype/numeric: New file.
56125         * modules/unictype/mirror: New file.
56126         * modules/unictype/property-white-space: New file.
56127         * modules/unictype/property-alphabetic: New file.
56128         * modules/unictype/property-other-alphabetic: New file.
56129         * modules/unictype/property-not-a-character: New file.
56130         * modules/unictype/property-default-ignorable-code-point: New file.
56131         * modules/unictype/property-other-default-ignorable-code-point: New
56132         file.
56133         * modules/unictype/property-deprecated: New file.
56134         * modules/unictype/property-logical-order-exception: New file.
56135         * modules/unictype/property-variation-selector: New file.
56136         * modules/unictype/property-private-use: New file.
56137         * modules/unictype/property-unassigned-code-value: New file.
56138         * modules/unictype/property-uppercase: New file.
56139         * modules/unictype/property-other-uppercase: New file.
56140         * modules/unictype/property-lowercase: New file.
56141         * modules/unictype/property-other-lowercase: New file.
56142         * modules/unictype/property-titlecase: New file.
56143         * modules/unictype/property-soft-dotted: New file.
56144         * modules/unictype/property-id-start: New file.
56145         * modules/unictype/property-other-id-start: New file.
56146         * modules/unictype/property-id-continue: New file.
56147         * modules/unictype/property-other-id-continue: New file.
56148         * modules/unictype/property-xid-start: New file.
56149         * modules/unictype/property-xid-continue: New file.
56150         * modules/unictype/property-pattern-white-space: New file.
56151         * modules/unictype/property-pattern-syntax: New file.
56152         * modules/unictype/property-join-control: New file.
56153         * modules/unictype/property-grapheme-base: New file.
56154         * modules/unictype/property-grapheme-extend: New file.
56155         * modules/unictype/property-other-grapheme-extend: New file.
56156         * modules/unictype/property-grapheme-link: New file.
56157         * modules/unictype/property-bidi-control: New file.
56158         * modules/unictype/property-bidi-left-to-right: New file.
56159         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
56160         * modules/unictype/property-bidi-arabic-right-to-left: New file.
56161         * modules/unictype/property-bidi-european-digit: New file.
56162         * modules/unictype/property-bidi-eur-num-separator: New file.
56163         * modules/unictype/property-bidi-eur-num-terminator: New file.
56164         * modules/unictype/property-bidi-arabic-digit: New file.
56165         * modules/unictype/property-bidi-common-separator: New file.
56166         * modules/unictype/property-bidi-block-separator: New file.
56167         * modules/unictype/property-bidi-segment-separator: New file.
56168         * modules/unictype/property-bidi-whitespace: New file.
56169         * modules/unictype/property-bidi-non-spacing-mark: New file.
56170         * modules/unictype/property-bidi-boundary-neutral: New file.
56171         * modules/unictype/property-bidi-pdf: New file.
56172         * modules/unictype/property-bidi-embedding-or-override: New file.
56173         * modules/unictype/property-bidi-other-neutral: New file.
56174         * modules/unictype/property-hex-digit: New file.
56175         * modules/unictype/property-ascii-hex-digit: New file.
56176         * modules/unictype/property-ideographic: New file.
56177         * modules/unictype/property-unified-ideograph: New file.
56178         * modules/unictype/property-radical: New file.
56179         * modules/unictype/property-ids-binary-operator: New file.
56180         * modules/unictype/property-ids-trinary-operator: New file.
56181         * modules/unictype/property-zero-width: New file.
56182         * modules/unictype/property-space: New file.
56183         * modules/unictype/property-non-break: New file.
56184         * modules/unictype/property-iso-control: New file.
56185         * modules/unictype/property-format-control: New file.
56186         * modules/unictype/property-dash: New file.
56187         * modules/unictype/property-hyphen: New file.
56188         * modules/unictype/property-punctuation: New file.
56189         * modules/unictype/property-line-separator: New file.
56190         * modules/unictype/property-paragraph-separator: New file.
56191         * modules/unictype/property-quotation-mark: New file.
56192         * modules/unictype/property-sentence-terminal: New file.
56193         * modules/unictype/property-terminal-punctuation: New file.
56194         * modules/unictype/property-currency-symbol: New file.
56195         * modules/unictype/property-math: New file.
56196         * modules/unictype/property-other-math: New file.
56197         * modules/unictype/property-paired-punctuation: New file.
56198         * modules/unictype/property-left-of-pair: New file.
56199         * modules/unictype/property-combining: New file.
56200         * modules/unictype/property-composite: New file.
56201         * modules/unictype/property-decimal-digit: New file.
56202         * modules/unictype/property-numeric: New file.
56203         * modules/unictype/property-diacritic: New file.
56204         * modules/unictype/property-extender: New file.
56205         * modules/unictype/property-ignorable-control: New file.
56206         * modules/unictype/property-test: New file.
56207         * modules/unictype/property-byname: New file.
56208         * modules/unictype/property-all: New file.
56209         * modules/unictype/scripts: New file.
56210         * modules/unictype/scripts-all: New file.
56211         * modules/unictype/block-of: New file.
56212         * modules/unictype/block-test: New file.
56213         * modules/unictype/block-list: New file.
56214         * modules/unictype/block-all: New file.
56215         * modules/unictype/syntax-c-whitespace: New file.
56216         * modules/unictype/syntax-java-whitespace: New file.
56217         * modules/unictype/syntax-c-ident: New file.
56218         * modules/unictype/syntax-java-ident: New file.
56219         * modules/unictype/ctype-alnum: New file.
56220         * modules/unictype/ctype-alpha: New file.
56221         * modules/unictype/ctype-cntrl: New file.
56222         * modules/unictype/ctype-digit: New file.
56223         * modules/unictype/ctype-graph: New file.
56224         * modules/unictype/ctype-lower: New file.
56225         * modules/unictype/ctype-print: New file.
56226         * modules/unictype/ctype-punct: New file.
56227         * modules/unictype/ctype-space: New file.
56228         * modules/unictype/ctype-upper: New file.
56229         * modules/unictype/ctype-xdigit: New file.
56230         * modules/unictype/ctype-blank: New file.
56231         * lib/unictype/bidi_byname.c: New file.
56232         * lib/unictype/bidi_name.c: New file.
56233         * lib/unictype/bidi_of.c: New file.
56234         * lib/unictype/bidi_test.c: New file.
56235         * lib/unictype/bitmap.h: New file.
56236         * lib/unictype/block_test.c: New file.
56237         * lib/unictype/blocks.c: New file.
56238         * lib/unictype/categ_C.c: New file.
56239         * lib/unictype/categ_Cc.c: New file.
56240         * lib/unictype/categ_Cf.c: New file.
56241         * lib/unictype/categ_Cn.c: New file.
56242         * lib/unictype/categ_Co.c: New file.
56243         * lib/unictype/categ_Cs.c: New file.
56244         * lib/unictype/categ_L.c: New file.
56245         * lib/unictype/categ_Ll.c: New file.
56246         * lib/unictype/categ_Lm.c: New file.
56247         * lib/unictype/categ_Lo.c: New file.
56248         * lib/unictype/categ_Lt.c: New file.
56249         * lib/unictype/categ_Lu.c: New file.
56250         * lib/unictype/categ_M.c: New file.
56251         * lib/unictype/categ_Mc.c: New file.
56252         * lib/unictype/categ_Me.c: New file.
56253         * lib/unictype/categ_Mn.c: New file.
56254         * lib/unictype/categ_N.c: New file.
56255         * lib/unictype/categ_Nd.c: New file.
56256         * lib/unictype/categ_Nl.c: New file.
56257         * lib/unictype/categ_No.c: New file.
56258         * lib/unictype/categ_P.c: New file.
56259         * lib/unictype/categ_Pc.c: New file.
56260         * lib/unictype/categ_Pd.c: New file.
56261         * lib/unictype/categ_Pe.c: New file.
56262         * lib/unictype/categ_Pf.c: New file.
56263         * lib/unictype/categ_Pi.c: New file.
56264         * lib/unictype/categ_Po.c: New file.
56265         * lib/unictype/categ_Ps.c: New file.
56266         * lib/unictype/categ_S.c: New file.
56267         * lib/unictype/categ_Sc.c: New file.
56268         * lib/unictype/categ_Sk.c: New file.
56269         * lib/unictype/categ_Sm.c: New file.
56270         * lib/unictype/categ_So.c: New file.
56271         * lib/unictype/categ_Z.c: New file.
56272         * lib/unictype/categ_Zl.c: New file.
56273         * lib/unictype/categ_Zp.c: New file.
56274         * lib/unictype/categ_Zs.c: New file.
56275         * lib/unictype/categ_and.c: New file.
56276         * lib/unictype/categ_and_not.c: New file.
56277         * lib/unictype/categ_byname.c: New file.
56278         * lib/unictype/categ_name.c: New file.
56279         * lib/unictype/categ_none.c: New file.
56280         * lib/unictype/categ_of.c: New file.
56281         * lib/unictype/categ_or.c: New file.
56282         * lib/unictype/categ_test.c: New file.
56283         * lib/unictype/combining.c: New file.
56284         * lib/unictype/ctype_alnum.c: New file.
56285         * lib/unictype/ctype_alpha.c: New file.
56286         * lib/unictype/ctype_blank.c: New file.
56287         * lib/unictype/ctype_cntrl.c: New file.
56288         * lib/unictype/ctype_digit.c: New file.
56289         * lib/unictype/ctype_graph.c: New file.
56290         * lib/unictype/ctype_lower.c: New file.
56291         * lib/unictype/ctype_print.c: New file.
56292         * lib/unictype/ctype_punct.c: New file.
56293         * lib/unictype/ctype_space.c: New file.
56294         * lib/unictype/ctype_upper.c: New file.
56295         * lib/unictype/ctype_xdigit.c: New file.
56296         * lib/unictype/decdigit.c: New file.
56297         * lib/unictype/digit.c: New file.
56298         * lib/unictype/identsyntaxmap.h: New file.
56299         * lib/unictype/mirror.c: New file.
56300         * lib/unictype/numeric.c: New file.
56301         * lib/unictype/pr_alphabetic.c: New file.
56302         * lib/unictype/pr_ascii_hex_digit.c: New file.
56303         * lib/unictype/pr_bidi_arabic_digit.c: New file.
56304         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
56305         * lib/unictype/pr_bidi_block_separator.c: New file.
56306         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
56307         * lib/unictype/pr_bidi_common_separator.c: New file.
56308         * lib/unictype/pr_bidi_control.c: New file.
56309         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
56310         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
56311         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
56312         * lib/unictype/pr_bidi_european_digit.c: New file.
56313         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
56314         * lib/unictype/pr_bidi_left_to_right.c: New file.
56315         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
56316         * lib/unictype/pr_bidi_other_neutral.c: New file.
56317         * lib/unictype/pr_bidi_pdf.c: New file.
56318         * lib/unictype/pr_bidi_segment_separator.c: New file.
56319         * lib/unictype/pr_bidi_whitespace.c: New file.
56320         * lib/unictype/pr_byname.c: New file.
56321         * lib/unictype/pr_byname.gperf: New file.
56322         * lib/unictype/pr_combining.c: New file.
56323         * lib/unictype/pr_composite.c: New file.
56324         * lib/unictype/pr_currency_symbol.c: New file.
56325         * lib/unictype/pr_dash.c: New file.
56326         * lib/unictype/pr_decimal_digit.c: New file.
56327         * lib/unictype/pr_default_ignorable_code_point.c: New file.
56328         * lib/unictype/pr_deprecated.c: New file.
56329         * lib/unictype/pr_diacritic.c: New file.
56330         * lib/unictype/pr_extender.c: New file.
56331         * lib/unictype/pr_format_control.c: New file.
56332         * lib/unictype/pr_grapheme_base.c: New file.
56333         * lib/unictype/pr_grapheme_extend.c: New file.
56334         * lib/unictype/pr_grapheme_link.c: New file.
56335         * lib/unictype/pr_hex_digit.c: New file.
56336         * lib/unictype/pr_hyphen.c: New file.
56337         * lib/unictype/pr_id_continue.c: New file.
56338         * lib/unictype/pr_id_start.c: New file.
56339         * lib/unictype/pr_ideographic.c: New file.
56340         * lib/unictype/pr_ids_binary_operator.c: New file.
56341         * lib/unictype/pr_ids_trinary_operator.c: New file.
56342         * lib/unictype/pr_ignorable_control.c: New file.
56343         * lib/unictype/pr_iso_control.c: New file.
56344         * lib/unictype/pr_join_control.c: New file.
56345         * lib/unictype/pr_left_of_pair.c: New file.
56346         * lib/unictype/pr_line_separator.c: New file.
56347         * lib/unictype/pr_logical_order_exception.c: New file.
56348         * lib/unictype/pr_lowercase.c: New file.
56349         * lib/unictype/pr_math.c: New file.
56350         * lib/unictype/pr_non_break.c: New file.
56351         * lib/unictype/pr_not_a_character.c: New file.
56352         * lib/unictype/pr_numeric.c: New file.
56353         * lib/unictype/pr_other_alphabetic.c: New file.
56354         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
56355         * lib/unictype/pr_other_grapheme_extend.c: New file.
56356         * lib/unictype/pr_other_id_continue.c: New file.
56357         * lib/unictype/pr_other_id_start.c: New file.
56358         * lib/unictype/pr_other_lowercase.c: New file.
56359         * lib/unictype/pr_other_math.c: New file.
56360         * lib/unictype/pr_other_uppercase.c: New file.
56361         * lib/unictype/pr_paired_punctuation.c: New file.
56362         * lib/unictype/pr_paragraph_separator.c: New file.
56363         * lib/unictype/pr_pattern_syntax.c: New file.
56364         * lib/unictype/pr_pattern_white_space.c: New file.
56365         * lib/unictype/pr_private_use.c: New file.
56366         * lib/unictype/pr_punctuation.c: New file.
56367         * lib/unictype/pr_quotation_mark.c: New file.
56368         * lib/unictype/pr_radical.c: New file.
56369         * lib/unictype/pr_sentence_terminal.c: New file.
56370         * lib/unictype/pr_soft_dotted.c: New file.
56371         * lib/unictype/pr_space.c: New file.
56372         * lib/unictype/pr_terminal_punctuation.c: New file.
56373         * lib/unictype/pr_test.c: New file.
56374         * lib/unictype/pr_titlecase.c: New file.
56375         * lib/unictype/pr_unassigned_code_value.c: New file.
56376         * lib/unictype/pr_unified_ideograph.c: New file.
56377         * lib/unictype/pr_uppercase.c: New file.
56378         * lib/unictype/pr_variation_selector.c: New file.
56379         * lib/unictype/pr_white_space.c: New file.
56380         * lib/unictype/pr_xid_continue.c: New file.
56381         * lib/unictype/pr_xid_start.c: New file.
56382         * lib/unictype/pr_zero_width.c: New file.
56383         * lib/unictype/scripts.c: New file.
56384         * lib/unictype/sy_c_ident.c: New file.
56385         * lib/unictype/sy_c_whitespace.c: New file.
56386         * lib/unictype/sy_java_ident.c: New file.
56387         * lib/unictype/sy_java_whitespace.c: New file.
56388
56389         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
56390         Unicode 5.0.0.
56391         * lib/unictype/blocks.h: Likewise.
56392         * lib/unictype/categ_C.h: Likewise.
56393         * lib/unictype/categ_Cc.h: Likewise.
56394         * lib/unictype/categ_Cf.h: Likewise.
56395         * lib/unictype/categ_Cn.h: Likewise.
56396         * lib/unictype/categ_Co.h: Likewise.
56397         * lib/unictype/categ_Cs.h: Likewise.
56398         * lib/unictype/categ_L.h: Likewise.
56399         * lib/unictype/categ_Ll.h: Likewise.
56400         * lib/unictype/categ_Lm.h: Likewise.
56401         * lib/unictype/categ_Lo.h: Likewise.
56402         * lib/unictype/categ_Lt.h: Likewise.
56403         * lib/unictype/categ_Lu.h: Likewise.
56404         * lib/unictype/categ_M.h: Likewise.
56405         * lib/unictype/categ_Mc.h: Likewise.
56406         * lib/unictype/categ_Me.h: Likewise.
56407         * lib/unictype/categ_Mn.h: Likewise.
56408         * lib/unictype/categ_N.h: Likewise.
56409         * lib/unictype/categ_Nd.h: Likewise.
56410         * lib/unictype/categ_Nl.h: Likewise.
56411         * lib/unictype/categ_No.h: Likewise.
56412         * lib/unictype/categ_P.h: Likewise.
56413         * lib/unictype/categ_Pc.h: Likewise.
56414         * lib/unictype/categ_Pd.h: Likewise.
56415         * lib/unictype/categ_Pe.h: Likewise.
56416         * lib/unictype/categ_Pf.h: Likewise.
56417         * lib/unictype/categ_Pi.h: Likewise.
56418         * lib/unictype/categ_Po.h: Likewise.
56419         * lib/unictype/categ_Ps.h: Likewise.
56420         * lib/unictype/categ_S.h: Likewise.
56421         * lib/unictype/categ_Sc.h: Likewise.
56422         * lib/unictype/categ_Sk.h: Likewise.
56423         * lib/unictype/categ_Sm.h: Likewise.
56424         * lib/unictype/categ_So.h: Likewise.
56425         * lib/unictype/categ_Z.h: Likewise.
56426         * lib/unictype/categ_Zl.h: Likewise.
56427         * lib/unictype/categ_Zp.h: Likewise.
56428         * lib/unictype/categ_Zs.h: Likewise.
56429         * lib/unictype/categ_of.h: Likewise.
56430         * lib/unictype/combining.h: Likewise.
56431         * lib/unictype/ctype_alnum.h: Likewise.
56432         * lib/unictype/ctype_alpha.h: Likewise.
56433         * lib/unictype/ctype_blank.h: Likewise.
56434         * lib/unictype/ctype_cntrl.h: Likewise.
56435         * lib/unictype/ctype_digit.h: Likewise.
56436         * lib/unictype/ctype_graph.h: Likewise.
56437         * lib/unictype/ctype_lower.h: Likewise.
56438         * lib/unictype/ctype_print.h: Likewise.
56439         * lib/unictype/ctype_punct.h: Likewise.
56440         * lib/unictype/ctype_space.h: Likewise.
56441         * lib/unictype/ctype_upper.h: Likewise.
56442         * lib/unictype/ctype_xdigit.h: Likewise.
56443         * lib/unictype/decdigit.h: Likewise.
56444         * lib/unictype/digit.h: Likewise.
56445         * lib/unictype/mirror.h: Likewise.
56446         * lib/unictype/numeric.h: Likewise.
56447         * lib/unictype/pr_alphabetic.h: Likewise.
56448         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
56449         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
56450         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
56451         * lib/unictype/pr_bidi_block_separator.h: Likewise.
56452         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
56453         * lib/unictype/pr_bidi_common_separator.h: Likewise.
56454         * lib/unictype/pr_bidi_control.h: Likewise.
56455         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
56456         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
56457         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
56458         * lib/unictype/pr_bidi_european_digit.h: Likewise.
56459         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
56460         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
56461         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
56462         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
56463         * lib/unictype/pr_bidi_pdf.h: Likewise.
56464         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
56465         * lib/unictype/pr_bidi_whitespace.h: Likewise.
56466         * lib/unictype/pr_combining.h: Likewise.
56467         * lib/unictype/pr_composite.h: Likewise.
56468         * lib/unictype/pr_currency_symbol.h: Likewise.
56469         * lib/unictype/pr_dash.h: Likewise.
56470         * lib/unictype/pr_decimal_digit.h: Likewise.
56471         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
56472         * lib/unictype/pr_deprecated.h: Likewise.
56473         * lib/unictype/pr_diacritic.h: Likewise.
56474         * lib/unictype/pr_extender.h: Likewise.
56475         * lib/unictype/pr_format_control.h: Likewise.
56476         * lib/unictype/pr_grapheme_base.h: Likewise.
56477         * lib/unictype/pr_grapheme_extend.h: Likewise.
56478         * lib/unictype/pr_grapheme_link.h: Likewise.
56479         * lib/unictype/pr_hex_digit.h: Likewise.
56480         * lib/unictype/pr_hyphen.h: Likewise.
56481         * lib/unictype/pr_id_continue.h: Likewise.
56482         * lib/unictype/pr_id_start.h: Likewise.
56483         * lib/unictype/pr_ideographic.h: Likewise.
56484         * lib/unictype/pr_ids_binary_operator.h: Likewise.
56485         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
56486         * lib/unictype/pr_ignorable_control.h: Likewise.
56487         * lib/unictype/pr_iso_control.h: Likewise.
56488         * lib/unictype/pr_join_control.h: Likewise.
56489         * lib/unictype/pr_left_of_pair.h: Likewise.
56490         * lib/unictype/pr_line_separator.h: Likewise.
56491         * lib/unictype/pr_logical_order_exception.h: Likewise.
56492         * lib/unictype/pr_lowercase.h: Likewise.
56493         * lib/unictype/pr_math.h: Likewise.
56494         * lib/unictype/pr_non_break.h: Likewise.
56495         * lib/unictype/pr_not_a_character.h: Likewise.
56496         * lib/unictype/pr_numeric.h: Likewise.
56497         * lib/unictype/pr_other_alphabetic.h: Likewise.
56498         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
56499         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
56500         * lib/unictype/pr_other_id_continue.h: Likewise.
56501         * lib/unictype/pr_other_id_start.h: Likewise.
56502         * lib/unictype/pr_other_lowercase.h: Likewise.
56503         * lib/unictype/pr_other_math.h: Likewise.
56504         * lib/unictype/pr_other_uppercase.h: Likewise.
56505         * lib/unictype/pr_paired_punctuation.h: Likewise.
56506         * lib/unictype/pr_paragraph_separator.h: Likewise.
56507         * lib/unictype/pr_pattern_syntax.h: Likewise.
56508         * lib/unictype/pr_pattern_white_space.h: Likewise.
56509         * lib/unictype/pr_private_use.h: Likewise.
56510         * lib/unictype/pr_punctuation.h: Likewise.
56511         * lib/unictype/pr_quotation_mark.h: Likewise.
56512         * lib/unictype/pr_radical.h: Likewise.
56513         * lib/unictype/pr_sentence_terminal.h: Likewise.
56514         * lib/unictype/pr_soft_dotted.h: Likewise.
56515         * lib/unictype/pr_space.h: Likewise.
56516         * lib/unictype/pr_terminal_punctuation.h: Likewise.
56517         * lib/unictype/pr_titlecase.h: Likewise.
56518         * lib/unictype/pr_unassigned_code_value.h: Likewise.
56519         * lib/unictype/pr_unified_ideograph.h: Likewise.
56520         * lib/unictype/pr_uppercase.h: Likewise.
56521         * lib/unictype/pr_variation_selector.h: Likewise.
56522         * lib/unictype/pr_white_space.h: Likewise.
56523         * lib/unictype/pr_xid_continue.h: Likewise.
56524         * lib/unictype/pr_xid_start.h: Likewise.
56525         * lib/unictype/pr_zero_width.h: Likewise.
56526         * lib/unictype/scripts.h: Likewise.
56527         * lib/unictype/scripts_byname.gperf: Likewise.
56528         * lib/unictype/sy_c_ident.h: Likewise.
56529         * lib/unictype/sy_c_whitespace.h: Likewise.
56530         * lib/unictype/sy_java_ident.h: Likewise.
56531         * lib/unictype/sy_java_whitespace.h: Likewise.
56532
56533         * lib/unictype/Makefile: New file.
56534         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
56535         glibc.
56536         * lib/unictype/3level.h: New file, copied from glibc.
56537         * lib/unictype/3levelbit.h: New file.
56538
56539 2007-11-11  Bruno Haible  <bruno@clisp.org>
56540
56541         * modules/gperf: New file.
56542         * modules/iconv_open (Depends-on): Add it.
56543         (Makefile.am): Remove the GPERF definition.
56544
56545 2007-11-11  Bruno Haible  <bruno@clisp.org>
56546
56547         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
56548         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
56549
56550 2007-11-11  Bruno Haible  <bruno@clisp.org>
56551
56552         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
56553         (usage): Remove function.
56554
56555 2007-11-11  Bruno Haible  <bruno@clisp.org>
56556
56557         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
56558         gl_FUNC_CEILF_LIBS.
56559         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
56560         gl_FUNC_CEIL_LIBS.
56561         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
56562         gl_FUNC_CEILL_LIBS.
56563         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
56564         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
56565         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
56566
56567 2007-11-11  Bruno Haible  <bruno@clisp.org>
56568
56569         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
56570         roundf were declared but do not exist on functions.
56571         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
56572         roundl were declared but do not exist on functions.
56573         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
56574         HAVE_FLOORL_AND_CEILL, respectively.
56575         Needed for Sun C on Solaris 10.
56576
56577 2007-11-11  Bruno Haible  <bruno@clisp.org>
56578
56579         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
56580         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
56581         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
56582         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
56583         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
56584         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
56585         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
56586         HAVE_DECL_ROUNDF.
56587         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
56588         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
56589         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
56590         of HAVE_DECL_ROUND*.
56591         * modules/math (Makefile.am): Update.
56592
56593 2007-11-10  Bruno Haible  <bruno@clisp.org>
56594
56595         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
56596         ptrdiff_t as m4/intl.m4.
56597
56598 2007-11-10  Jim Meyering  <meyering@redhat.com>
56599
56600         Avoid link failure for the argmatch test.
56601         * tests/test-argmatch.c (usage): Define function to avoid a link
56602         failure: argmatch_die requires a usage function.
56603
56604 2007-11-09  Bruno Haible  <bruno@clisp.org>
56605
56606         * doc/functions/snprintf.texi: Mention BeOS deficiency.
56607         * doc/functions/vsnprintf.texi: Likewise.
56608         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
56609         with a size argument < 2.
56610
56611 2007-11-09  Bruno Haible  <bruno@clisp.org>
56612
56613         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
56614         buffer. Fixes an inefficiency introduced on 2007-11-03.
56615
56616 2007-11-09  Bruno Haible  <bruno@clisp.org>
56617
56618         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
56619         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
56620
56621 2007-11-08  Jim Meyering  <meyering@redhat.com>
56622
56623         Change cache variable name prefix "jm_" to "gl_" everywhere.
56624         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
56625         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
56626         * m4/uptime.m4: s/gl_/jm_/
56627
56628 2007-11-07  Bruno Haible  <bruno@clisp.org>
56629
56630         Update to GNU gettext 0.17.
56631         * m4/intl.m4: Update to GNU gettext 0.17.
56632         * m4/po.m4: Likewise.
56633         * modules/gettext (Files): Remove m4/ulonglong.m4.
56634         (configure.ac): Require gettext infrastructure from version 0.17.
56635
56636 2007-11-06  Bruno Haible  <bruno@clisp.org>
56637
56638         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
56639         symbolic values are not defined in a public header.
56640         * lib/freadable.c (freadable) [QNX]: Likewise.
56641         * lib/freadahead.c (freadahead) [QNX]: Likewise.
56642         * lib/freading.c (freading) [QNX]: Likewise.
56643         * lib/fseterr.c (fseterr) [QNX]: Likewise.
56644         * lib/fwritable.c (fwritable) [QNX]: Likewise.
56645         * lib/fwriting.c (fwriting) [QNX]: Likewise.
56646         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
56647         Reported by Alain Magloire.
56648
56649         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
56650
56651 2007-11-05  Bruno Haible  <bruno@clisp.org>
56652
56653         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
56654         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
56655         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
56656         Reported by Eric Blake.
56657
56658 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56659             Bruno Haible  <bruno@clisp.org>
56660
56661         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
56662         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
56663         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
56664         (malloc): Undefine also before including <stdlib.h>.
56665         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
56666         Needed on OSF/1 4.0.
56667
56668 2007-11-05  Jim Meyering  <meyering@redhat.com>
56669
56670         git-version-gen: sync from coreutils.
56671         * build-aux/git-version-gen: Add comments.
56672         Change the first '-' to '.' in the snapshot version string,
56673         e.g., 6.9-377-08144 -> 6.9.377-08144
56674         Remove first parameter.
56675         Don't declare a version "-dirty" merely because a time
56676         stamp has changed.
56677
56678 2007-11-04  Bruno Haible  <bruno@clisp.org>
56679
56680         * lib/lock.h: Protect all macro definitions containing an 'if'
56681         statement through a "do { ... } while (0)".
56682         * lib/tls.h: Likewise.
56683
56684 2007-11-04  Bruno Haible  <bruno@clisp.org>
56685
56686         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
56687
56688 2007-11-04  Bruno Haible  <bruno@clisp.org>
56689
56690         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
56691         * modules/fprintf-posix (Depends-on): Add nocrash.
56692         * modules/snprintf-posix (Depends-on): Likewise.
56693         * modules/sprintf-posix (Depends-on): Likewise.
56694         * modules/vasnprintf-posix (Depends-on): Likewise.
56695         * modules/vasprintf-posix (Depends-on): Likewise.
56696         * modules/vfprintf-posix (Depends-on): Likewise.
56697         * modules/vsnprintf-posix (Depends-on): Likewise.
56698         * modules/vsprintf-posix (Depends-on): Likewise.
56699         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56700         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56701         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56702         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56703         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56704         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56705         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56706
56707 2007-11-04  Bruno Haible  <bruno@clisp.org>
56708
56709         * modules/nocrash: New file.
56710         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
56711         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
56712
56713 2007-11-04  Bruno Haible  <bruno@clisp.org>
56714
56715         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
56716         precision handling.
56717         * tests/test-vasprintf-posix.c (test_function): Likewise.
56718         * tests/test-snprintf-posix.h (test_function): Likewise.
56719         * tests/test-sprintf-posix.h (test_function): Likewise.
56720
56721         Fix *printf behaviour for large precisions on mingw and BeOS.
56722         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
56723         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
56724         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
56725         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56726         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56727         gl_PRINTF_PRECISION and test its result. Invoke
56728         gl_PREREQ_VASNPRINTF_PRECISION.
56729         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56730         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56731         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56732         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56733         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56734         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56735         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56736         * doc/functions/fprintf.texi: Update.
56737         * doc/functions/printf.texi: Update.
56738         * doc/functions/snprintf.texi: Update.
56739         * doc/functions/sprintf.texi: Update.
56740         * doc/functions/vfprintf.texi: Update.
56741         * doc/functions/vprintf.texi: Update.
56742         * doc/functions/vsnprintf.texi: Update.
56743         * doc/functions/vsprintf.texi: Update.
56744
56745 2007-11-04  Bruno Haible  <bruno@clisp.org>
56746
56747         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
56748
56749 2007-11-04  Bruno Haible  <bruno@clisp.org>
56750
56751         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
56752         Reported by Sylvain Beucler <beuc@gnu.org>.
56753
56754 2007-11-03  Bruno Haible  <bruno@clisp.org>
56755
56756         * tests/test-fprintf-posix2.sh: New file.
56757         * tests/test-fprintf-posix2.c: New file.
56758         * modules/fprintf-posix-tests (Files): Add them.
56759         (TESTS): Add test-fprintf-posix2.sh.
56760         (configure.ac): Check for getrlimit and setrlimit.
56761         (check_PROGRAMS): Add test-fprintf-posix2.
56762
56763         * tests/test-printf-posix2.sh: New file.
56764         * tests/test-printf-posix2.c: New file.
56765         * modules/printf-posix-tests (Files): Add them.
56766         (TESTS): Add test-printf-posix2.sh.
56767         (configure.ac): Check for getrlimit and setrlimit.
56768         (check_PROGRAMS): Add test-printf-posix2.
56769
56770         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
56771         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
56772         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
56773         (decode_double): New function, copied from decode_long_double.
56774         (scale10_round_decimal_decoded): New function, extracted from
56775         scale10_round_decimal_long_double.
56776         (scale10_round_decimal_long_double): Use it.
56777         (scale10_round_decimal_double): New function.
56778         (floorlog10): New function.
56779         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
56780         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
56781         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56782         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56783         gl_PRINTF_ENOMEM and test its result. Invoke
56784         gl_PREREQ_VASNPRINTF_ENOMEM.
56785         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56786         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56787         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56788         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56789         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56790         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56791         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56792         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
56793         * modules/snprintf-posix (Depends-on): Likewise.
56794         * modules/sprintf-posix (Depends-on): Likewise.
56795         * modules/vasnprintf-posix (Depends-on): Likewise.
56796         * modules/vasprintf-posix (Depends-on): Likewise.
56797         * modules/vfprintf-posix (Depends-on): Likewise.
56798         * modules/vsnprintf-posix (Depends-on): Likewise.
56799         * modules/vsprintf-posix (Depends-on): Likewise.
56800         * doc/functions/fprintf.texi: Update.
56801         * doc/functions/printf.texi: Update.
56802         * doc/functions/snprintf.texi: Update.
56803         * doc/functions/sprintf.texi: Update.
56804         * doc/functions/vfprintf.texi: Update.
56805         * doc/functions/vprintf.texi: Update.
56806         * doc/functions/vsnprintf.texi: Update.
56807         * doc/functions/vsprintf.texi: Update.
56808
56809 2007-11-03  Bruno Haible  <bruno@clisp.org>
56810
56811         * modules/frexp-nolibm-tests: New file.
56812
56813         * modules/frexp-nolibm: New file.
56814         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
56815
56816 2007-11-03  Bruno Haible  <bruno@clisp.org>
56817
56818         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
56819         value is C99 compliant.
56820         Needed for OSF/1 5.1.
56821
56822 2007-11-03  Bruno Haible  <bruno@clisp.org>
56823
56824         Fix out-of-memory handling of vasnprintf.
56825         * lib/printf-parse.c: Include <errno.h>.
56826         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
56827         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
56828         is already set.
56829
56830 2007-11-02  Eric Blake  <ebb9@byu.net>
56831
56832         Fix tests on cygwin.
56833         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
56834
56835 2007-11-01  Bruno Haible  <bruno@clisp.org>
56836
56837         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
56838         warning.
56839         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
56840         needed for POSIX compatibility.
56841
56842 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
56843
56844         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
56845         for compatibility with GNU.
56846
56847 2007-11-01  Bruno Haible  <bruno@clisp.org>
56848
56849         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
56850         (putenv): Renamed from rpl_putenv. Change argument type from
56851         'const char *' to 'char *'.
56852         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
56853         of defining putenv in config.h, just set REPLACE_PUTENV.
56854         * modules/putenv (Depends-on): Add stdlib.
56855         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56856         (Include): Use <stdlib.h>.
56857         * lib/stdlib.in.h (putenv): New declaration.
56858         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
56859         REPLACE_PUTENV.
56860         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
56861         REPLACE_PUTENV.
56862         Needed for MacOS X 10.5.0.
56863         Reported by Peter O'Gorman <peter@pogma.com>.
56864
56865 2007-11-01  Jim Meyering  <meyering@redhat.com>
56866
56867         Treat an empty date string exactly like "0".
56868         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
56869         if the remaining date string (to be parsed) is empty, use "0".
56870         Reported by Mischa Molhoek and discussed in this thread:
56871         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
56872
56873 2007-10-31  Bruno Haible  <bruno@clisp.org>
56874
56875         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
56876         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
56877         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
56878         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
56879         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
56880         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
56881
56882 2007-10-31  Bruno Haible  <bruno@clisp.org>
56883
56884         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
56885         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
56886         (AC_TYPE_LONG_LONG_INT): Use it.
56887         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
56888         it as well.
56889         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
56890         to m4/longlong.m4.
56891         * modules/stdint (Files): Remove m4/ulonglong.m4.
56892         * modules/strtoull (Files): Use m4/longlong.m4 instead of
56893         m4/ulonglong.m4.
56894         * modules/strtoumax (Files): Likewise.
56895
56896 2007-10-30  Bruno Haible  <bruno@clisp.org>
56897
56898         * modules/xvasprintf-posix: New file.
56899         Suggested by Eric Blake.
56900
56901 2007-10-30  Bruno Haible  <bruno@clisp.org>
56902
56903         * modules/xprintf-posix-tests: New file.
56904         * tests/test-xprintf-posix.sh: New file.
56905         * tests/test-xprintf-posix.c: New file.
56906         * tests/test-xfprintf-posix.c: New file.
56907
56908         * modules/xprintf-posix: New file.
56909
56910 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56911
56912         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
56913         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
56914         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
56915
56916 2007-10-29  Bruno Haible  <bruno@clisp.org>
56917
56918         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
56919         contain the special marker '_cv_'.
56920         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
56921         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
56922         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
56923         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
56924         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
56925         Reported by Ralf Wildenhues.
56926
56927 2007-10-29  Bruno Haible  <bruno@clisp.org>
56928
56929         * gnulib-tool (func_import): When --lgpl is not specified, set
56930         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
56931         GPLv3.
56932         Reported by Simon Josefsson.
56933
56934 2007-10-28  Bruno Haible  <bruno@clisp.org>
56935
56936         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
56937         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
56938         HAVE_DECL_ISFINITE.
56939         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
56940         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
56941         HAVE_DECL_ISFINITE.
56942
56943 2007-10-28  Bruno Haible  <bruno@clisp.org>
56944
56945         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
56946         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
56947
56948 2007-10-28  Bruno Haible  <bruno@clisp.org>
56949
56950         Fix link errors with Sun C 5.0 on Solaris 10.
56951         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
56952         function is declared but not present in the compiler's libm.
56953         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
56954         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
56955         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
56956         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
56957         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
56958         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
56959         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
56960         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
56961         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
56962         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
56963         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
56964         HAVE_DECL_FLOORL.
56965
56966 2007-10-28  Bruno Haible  <bruno@clisp.org>
56967
56968         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
56969         gl_FUNC_FLOORL. Cache the result.
56970         (gl_FUNC_FLOORL): Use it.
56971         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
56972         gl_FUNC_CEILL. Cache the result.
56973         (gl_FUNC_CEILL): Use it.
56974
56975         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
56976         gl_FUNC_FLOOR. Cache the result.
56977         (gl_FUNC_FLOOR): Use it.
56978         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
56979         gl_FUNC_CEIL. Cache the result.
56980         (gl_FUNC_CEIL): Use it.
56981
56982         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
56983         gl_FUNC_FLOORF. Cache the result.
56984         (gl_FUNC_FLOORF): Use it.
56985         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
56986         gl_FUNC_CEILF. Cache the result.
56987         (gl_FUNC_CEILF): Use it.
56988
56989 2007-10-28  Bruno Haible  <bruno@clisp.org>
56990
56991         * gnulib-tool: Allow specifying the LGPL version number through
56992         --lgpl=2 or --lgpl=3.
56993         (func_usage): Document --lgpl with argument.
56994         Handle --lgpl=... arguments.
56995         (func_import): Recognize also gl_LGPL calls with an argument. When
56996         --lgpl=2 is used and the module's license is just LGPL, report an
56997         error. Set sed_transform_lib_file according to the lgpl variable. In
56998         the generated files, use --lgpl or gl_LGPL invocations with argument,
56999         if necessary.
57000         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
57001         an LGPv2+ license.
57002         * doc/gnulib-tool.texi (Modified imports): Update explanation of
57003         gl_LGPL macro.
57004
57005 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57006             Bruno Haible  <bruno@clisp.org>
57007
57008         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
57009         (u16_uctomb_aux): Likewise.
57010         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
57011         !HAVE_INLINE.
57012         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
57013
57014 2007-10-28  Bruno Haible  <bruno@clisp.org>
57015
57016         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
57017         Invoke AM_GETTEXT_OPTION if it exists.
57018         * modules/vasprintf: Likewise.
57019         * modules/verror: Likewise.
57020         * modules/xprintf: Likewise.
57021         * modules/xvasprintf: Likewise.
57022
57023 2007-10-27  Ben Pfaff  <blp@gnu.org>
57024
57025         * lib/math.in.h: Define isfinite macro and prototypes for
57026         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
57027         implementations.
57028         * m4/math_h.m4: New substitutions for isfinite module.
57029         * lib/isfinite.c: New file.
57030         * m4/isfinite.m4: New file.
57031         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
57032         * modules/isfinite: New file.
57033         * modules/isfinite-tests: New file.
57034         * tests/tests-isfinite.c: New file.
57035         * doc/functions/isfinite.texi: Mention isfinite module.
57036         * MODULES.html.sh: Mention new module.
57037
57038 2007-10-27  Ben Pfaff  <blp@gnu.org>
57039
57040         Ralf Wildenhues reported that Tru64 4.0D declares the round
57041         functions but does not have definitions.
57042         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
57043         cannot be found in any library, set the output variable to
57044         "missing" instead of "".
57045         * m4/round.m4: Also use our substitute if we cannot find round in
57046         any library, even if it is declared.
57047         * m4/roundf.m4: Likewise for roundf.
57048         * m4/roundl.m4: Likewise for roundl.
57049         * lib/math.in.h: Undefine roundf, round, roundl before defining
57050         their replacements, to allow for hypothetical systems where these
57051         may be defined as macros but not available in libraries.
57052
57053 2007-10-27  Bruno Haible  <bruno@clisp.org>
57054
57055         * doc/gnulib.texi: Invoke @firstparagraphindent.
57056         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
57057         changes in gnulib.
57058         (Source changes): New section.
57059
57060 2007-10-26  Bruno Haible  <bruno@clisp.org>
57061
57062         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
57063         borrowed from autoconf.
57064
57065 2007-10-26  Bruno Haible  <bruno@clisp.org>
57066
57067         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
57068         strerror returned the empty string. Needed on HP-UX 11.00.
57069
57070 2007-10-24  Micah Cowan  <micah@cowan.name>
57071
57072         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
57073         * build-aux/bootstrap: Remove support for now-unnecessary option,
57074         --cvs-user, and envvars CVS_USER, CVS_RSH.
57075
57076 2007-10-24  Jim Meyering  <meyering@redhat.com>
57077
57078         Avoid diagnostics from sha1sum when there is no cached checksum.
57079         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
57080         if the po.s1 file hasn't been created yet.
57081
57082         * build-aux/bootstrap: Sync from coreutils:
57083         2007-10-24  Jim Meyering  <meyering@redhat.com>
57084         Get gnulib from the git repository, not from an obsolete cvs one.
57085         * build-aux/bootstrap: Suggestion from Micah Cowan.
57086         2007-10-04  Jim Meyering  <jim@meyering.net>
57087         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
57088         (update_po_files): Work also when there are no .po files in po/.
57089
57090 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57091
57092         * README: Append ".git" to git and cg examples.
57093         Problem reported by Benoit Sigoure.
57094
57095 2007-10-23  Micah Cowan  <micah@cowan.name>
57096
57097         * users.txt: Add wget.
57098
57099 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57100
57101         Fix linking of some unistdio tests on FreeBSD.
57102         * modules/unistdio/u16-vsnprintf-tests
57103         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
57104         * modules/unistdio/u16-vsprintf-tests
57105         (test_u16_vsnprintf1_LDADD): Likewise.
57106         * modules/unistdio/u32-vsnprintf-tests
57107         (test_u32_vsnprintf1_LDADD): Likewise.
57108         * modules/unistdio/u32-vsprintf-tests
57109         (test_u32_vsprintf1_LDADD): Likewise.
57110         * modules/unistdio/u8-vsnprintf-tests
57111         (test_u8_vsnprintf1_LDADD): Likewise.
57112         * modules/unistdio/u8-vsprintf-tests
57113         (test_u8_vsprintf1_LDADD): Likewise.
57114         * modules/unistdio/ulc-vsnprintf-tests
57115         (test_ulc_vsnprintf1_LDADD): Likewise.
57116         * modules/unistdio/ulc-vsprintf-tests
57117         (test_ulc_vsprintf1_LDADD): Likewise.
57118
57119         Fix linking of some uniconv tests on FreeBSD.
57120         * modules/uniconv/u16-conv-from-enc-tests
57121         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
57122         * modules/uniconv/u16-conv-to-enc-tests
57123         (test_u16_conv_to_enc_LDADD): Likewise.
57124         * modules/uniconv/u16-strconv-from-enc-tests
57125         (test_u16_strconv_from_enc_LDADD): Likewise.
57126         * modules/uniconv/u16-strconv-to-enc-tests
57127         (test_u16_strconv_to_enc_LDADD): Likewise.
57128         * modules/uniconv/u32-conv-from-enc-tests
57129         (test_u32_conv_from_enc_LDADD): Likewise.
57130         * modules/uniconv/u32-conv-to-enc-tests
57131         (test_u32_conv_to_enc_LDADD): Likewise.
57132         * modules/uniconv/u32-strconv-from-enc-tests
57133         (test_u32_strconv_from_enc_LDADD): Likewise.
57134         * modules/uniconv/u32-strconv-to-enc-tests
57135         (test_u32_strconv_to_enc_LDADD): Likewise.
57136         * modules/uniconv/u8-conv-from-enc-tests
57137         (test_u8_conv_from_enc_LDADD): Likewise.
57138         * modules/uniconv/u8-conv-to-enc-tests
57139         (test_u8_conv_to_enc_LDADD): Likewise.
57140         * modules/uniconv/u8-strconv-from-enc-tests
57141         (test_u8_strconv_from_enc_LDADD): Likewise.
57142         * modules/uniconv/u8-strconv-to-enc-tests
57143         (test_u8_strconv_to_enc_LDADD): Likewise.
57144
57145 2007-10-22  Bruno Haible  <bruno@clisp.org>
57146
57147         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
57148         size.
57149
57150 2007-10-22  Eric Blake  <ebb9@byu.net>
57151
57152         Tweak x*printf documentation.
57153         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
57154         variable name and comments.
57155         Suggested by Bruno Haible.
57156
57157 2007-10-22  Bruno Haible  <bruno@clisp.org>
57158
57159         * lib/acl.c (copy_acl): Fix file name in comment.
57160
57161 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57162
57163         Fix Tru64 problem with stdbool.h.
57164         * lib/stdbool.in.h (false, true):
57165         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
57166         Don't declare as an enum in this situation; it runs afoul of Tru64.
57167         Problem reported by Steven M. Schweda in
57168         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
57169
57170 2007-10-22  Eric Blake  <ebb9@byu.net>
57171
57172         Also wrap vf?printf.
57173         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
57174         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
57175         (xvprintf, xvfprintf): New functions.
57176
57177 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57178
57179         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
57180         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
57181
57182         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
57183         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
57184
57185 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57186
57187         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
57188         by Bruno Haible.
57189
57190 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57191
57192         * lib/getloadavg.c
57193         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
57194         Undef `sys' after including sys/table.h, for Tru64 4.0D.
57195
57196         * tests/test-i-ring.c: Work for C89.
57197
57198 2007-10-22  Bruno Haible  <bruno@clisp.org>
57199
57200         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
57201         -1u, in preprocessor expression, so that we don't test for the bug
57202         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
57203         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
57204
57205 2007-10-22  Eric Blake  <ebb9@byu.net>
57206
57207         * tests/test-yesno.sh: Silence stderr during test.
57208
57209 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57210
57211         * modules/crypto/gc-camellia: New file.
57212
57213         * m4/gc-camellia.m4: New file.
57214
57215         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
57216
57217         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
57218
57219 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57220
57221         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
57222         --help to stdout.  Reported by sms@antinode.org (Steven
57223         M. Schweda).
57224
57225 2007-10-22  Simon Josefsson  <simon@josefsson.org>
57226
57227         * users.txt: Fix link to libksba.
57228
57229 2007-10-21  Ben Pfaff  <blp@gnu.org>
57230
57231         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
57232         round.c roundf implementation that depends on floorf and ceilf to
57233         be tested unconditionally.
57234
57235 2007-10-21  Ben Pfaff  <blp@gnu.org>
57236
57237         * m4/check-libm-func.m4: Removed.
57238         * m4/check-math-lib.m4: New file.
57239         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
57240         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
57241         definition and lack of AC_LIBOBJ([roundf]).
57242         * m4/roundl.m4: Ditto, and similarly for roundl.
57243         * modules/round: Reference new m4 file.
57244         * modules/roundf: Ditto.
57245         * modules/roundl: Ditto.
57246         * tests/test-round2.c (main): Use ROUND instead of round.
57247         Bug report from Bruno Haible.
57248
57249 2007-10-21  Bruno Haible  <bruno@clisp.org>
57250
57251         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
57252         context.
57253
57254 2007-10-21  Bruno Haible  <bruno@clisp.org>
57255
57256         * tests/test-wcwidth.c (main): Allow negative result for some control
57257         characters.
57258
57259         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
57260         Needed on OSF/1 5.1.
57261
57262 2007-10-21  Bruno Haible  <bruno@clisp.org>
57263
57264         * tests/test-floorf1.c: Include isnanf.h.
57265         (main): Use isnanf() instead of isnan().
57266         * tests/test-ceilf1.c: Include isnanf.h.
57267         (main): Use isnanf() instead of isnan().
57268         * tests/test-truncf1.c: Include isnanf.h.
57269         (main): Use isnanf() instead of isnan().
57270         * tests/test-roundf1.c: Include isnanf.h.
57271         (main): Use isnanf() instead of isnan().
57272
57273 2007-10-21  Eric Blake  <ebb9@byu.net>
57274
57275         * users.txt: Update URL for m4.
57276
57277 2007-10-21  Bruno Haible  <bruno@clisp.org>
57278
57279         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
57280
57281 2007-10-21  Bruno Haible  <bruno@clisp.org>
57282
57283         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
57284         Git's management files if the CVS files are not present.
57285
57286 2007-10-20  Bruno Haible  <bruno@clisp.org>
57287
57288         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
57289         gcc-3.4.x.
57290
57291 2007-10-20  Ben Pfaff  <blp@gnu.org>
57292
57293         * lib/math.in.h: Declare round, roundf, roundl if we are providing
57294         implementations.
57295         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
57296         * lib/round.c: New file.
57297         * lib/roundf.c: New file.
57298         * lib/roundl.c: New file.
57299         * m4/round.m4: New file.
57300         * m4/roundf.m4: New file.
57301         * m4/roundl.m4: New file.
57302         * m4/check-libm-func-m4: New file.
57303         * modules/math: Replace round, roundf, roundl related @VARS@ in
57304         math.in.h.
57305         * modules/round: New file.
57306         * modules/round-tests: New file.
57307         * modules/roundf: New file.
57308         * modules/roundf-tests: New file.
57309         * modules/roundl: New file.
57310         * modules/roundl-tests: New file.
57311         * tests/test-round1.c: New file.
57312         * tests/test-round2.c: New file.
57313         * tests/test-roundf1.c: New file.
57314         * tests/test-roundf2.c: New file.
57315         * tests/test-roundl.c: New file.
57316         * doc/functions/round.texi: Mention round module.
57317         * doc/functions/roundf.texi: Mention roundf module.
57318         * doc/functions/roundl.texi: Mention roundl module.
57319         * MODULES.html.sh: Mention new modules.
57320         Thanks to Bruno Haible for suggestions.
57321
57322 2007-10-20  Jim Meyering  <meyering@redhat.com>
57323
57324         * lib/xprintf.c: Include <config.h> unconditionally.
57325
57326         Change xprintf's license to GPL.
57327         * modules/xprintf (License): s/LGPL/GPL/, since this module
57328         depends on modules (exit and exitfail) which are GPL.
57329         Suggestion from Bruno Haible.
57330
57331         xprintf fixes.
57332         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
57333         Use a clearer diagnostic.
57334         Patch from Bruno Haible.
57335
57336 2007-10-20  Bruno Haible  <bruno@clisp.org>
57337
57338         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
57339         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
57340         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57341
57342 2007-10-20  Bruno Haible  <bruno@clisp.org>
57343
57344         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
57345         precision in the comparison result > x - 1 or similar.
57346         * tests/test-ceilf2.c (correct_result_p): Likewise.
57347         * tests/test-truncf2.c (correct_result_p): Likewise.
57348         * tests/test-trunc2.c (correct_result_p): Likewise.
57349         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57350
57351 2007-10-20  Bruno Haible  <bruno@clisp.org>
57352
57353         * modules/ceil: New file.
57354         * m4/ceil.m4: New file.
57355         * doc/functions/ceil.texi: Mention the 'ceil' module.
57356
57357 2007-10-20  Bruno Haible  <bruno@clisp.org>
57358
57359         * modules/floor: New file.
57360         * m4/floor.m4: New file.
57361         * doc/functions/floor.texi: Mention the 'floor' module.
57362
57363 2007-10-20  Bruno Haible  <bruno@clisp.org>
57364
57365         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
57366         of %a.
57367         * modules/floorf-tests (Depends-on): Likewise.
57368         * modules/truncf-tests (Depends-on): Likewise.
57369         * modules/trunc-tests (Depends-on): Likewise.
57370         Reported by Ben Pfaff.
57371
57372 2007-10-19  Jim Meyering  <meyering@redhat.com>
57373
57374         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
57375         Don't bother testing specific errno values.  Just test ferror.
57376
57377         New module: xprintf
57378         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
57379
57380 2007-10-19  Bruno Haible  <bruno@clisp.org>
57381
57382         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
57383         syntax.
57384         * modules/javaexec (Makefile.am): Likewise.
57385         * modules/relocatable-prog (Makefile.am): Likewise.
57386         Suggested by Jim Meyering.
57387
57388 2007-10-18  Bruno Haible  <bruno@clisp.org>
57389
57390         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
57391         Reported by Jim Meyering.
57392
57393 2007-10-18  Eric Blake  <ebb9@byu.net>
57394
57395         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
57396
57397 2007-10-18  Bruno Haible  <bruno@clisp.org>
57398
57399         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
57400         the format string into writable memory. Needed in Fortify conditions.
57401
57402 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
57403             Bruno Haible  <bruno@clisp.org>
57404
57405         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
57406         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
57407         * modules/trim (Depends-on): Add mbchar.
57408         (configure.ac): Add gl_FUNC_MBRTOWC.
57409         (Makefile.am): Augment lib_SOURCES.
57410
57411 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57412
57413         Modify glob.c to use fstatat and dirfd, to simplify it.
57414         Suggested by Eric Blake.
57415         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
57416         Don't include <stdbool.h>; not used.
57417         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
57418         (link_exists_p): Simplify implementation, since we can now assume
57419         dirfd and fstatat.
57420         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
57421
57422 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57423
57424         * gnulib-tool (func_get_dependencies): Fix sed script to
57425         match only tests.
57426
57427 2007-10-17  Bruno Haible  <bruno@clisp.org>
57428
57429         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
57430         allow locale names without encoding suffix.
57431         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
57432         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
57433
57434 2007-10-16  Bruno Haible  <bruno@clisp.org>
57435
57436         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
57437         * lib/getgroups.c (getgroups): Likewise.
57438         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
57439
57440 2007-10-16  Bruno Haible  <bruno@clisp.org>
57441
57442         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
57443         * modules/malloc-posix (License): Likewise.
57444         * modules/realloc-posix (License): Likewise.
57445         * modules/calloc-posix (License): Likewise.
57446         * modules/intprops (License): Change from GPL to LGPL, with
57447         Paul Eggert's approval.
57448
57449 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57450
57451         Merge glibc changes into lib/glob.c.
57452
57453         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
57454         2007-10-15 04:59:03 UTC.  Here are the changes:
57455
57456         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
57457
57458         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
57459
57460         * lib/glob.c: Add some branch prediction throughout.
57461
57462         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
57463
57464         [BZ #5103]
57465         * lib/glob.c (glob): Recognize patterns starting \/.
57466
57467         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
57468
57469         [BZ #3996]
57470         * lib/glob.c (attribute_hidden): Define if not defined.
57471         (glob): Unescape dirname, filename or username when needed and not
57472         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
57473         is NULL.  Handle unescaped [ in pattern without closing ].
57474         Don't pass GLOB_CHECK down to recursive glob for directories.
57475         (__glob_pattern_type): New function.
57476         (__glob_pattern_p): Implement using __glob_pattern_type.
57477         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
57478         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
57479         Remove unreachable code.
57480
57481         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
57482
57483         * lib/glob.c (glob_in_dir): Add some comments and asserts to
57484         explain why there are no leaks.
57485
57486         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
57487
57488         [BZ #3253]
57489         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
57490         time, rather allocate increasingly bigger arrays of pointers, if
57491         possible with alloca, if too large with malloc.
57492
57493 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
57494
57495         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
57496         Problem reported by H.Merijn Brand in
57497         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
57498         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
57499         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
57500
57501 2007-10-15  Bruno Haible  <bruno@clisp.org>
57502
57503         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
57504         with explicit rpl_ prefix.
57505         * lib/fopen.c (fopen): Likewise.
57506         * lib/freopen.c (freopen): Likewise.
57507         * lib/iconv.c (iconv): Likewise.
57508         * lib/iconv_close.c (iconv_close): Likewise.
57509
57510 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57511
57512         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
57513
57514 2007-10-15  Bruno Haible  <bruno@clisp.org>
57515
57516         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
57517         <stddef.h> instead of <stdlib.h> since we only need NULL.
57518         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57519
57520 2007-10-15  Bruno Haible  <bruno@clisp.org>
57521
57522         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
57523         Replace paragraph talking about LIBOBJS.
57524         Reported by Colin Watson <cjwatson@debian.org>.
57525
57526 2007-10-15  Bruno Haible  <bruno@clisp.org>
57527
57528         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
57529         <stdlib.h> before using NULL.
57530
57531 2007-10-15  Simon Josefsson  <simon@josefsson.org>
57532
57533         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
57534         Reported by Albert Chin <china@thewrittenword.com>.
57535
57536 2007-10-14  Bruno Haible  <bruno@clisp.org>
57537
57538         * modules/iconv_open-utf-tests: New file.
57539         * tests/test-iconv-utf.c: New file.
57540
57541         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
57542         * modules/iconv_open-utf: New file.
57543         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
57544         (iconv, iconv_close): New declarations.
57545         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
57546         be defined.
57547         (iconv_open): Add special handling of conversion between UTF-8 and
57548         UTF-{16,32}{BE,LE}.
57549         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
57550         * lib/iconv_close.c: New file.
57551         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
57552         gl_FUNC_ICONV_OPEN.
57553         (gl_FUNC_ICONV_OPEN): Use it.
57554         (gl_FUNC_ICONV_OPEN_UTF): New macro.
57555         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
57556         and REPLACE_ICONV_UTF.
57557         * modules/iconv_open (Depends-on): Add c-strcase.
57558         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
57559         ICONV_CONST.
57560         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
57561
57562 2007-10-13  Albert Chin  <china@thewrittenword.com>
57563             Bruno Haible  <bruno@clisp.org>
57564
57565         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
57566         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
57567
57568 2007-10-13  Bruno Haible  <bruno@clisp.org>
57569
57570         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
57571         defined, use the ISO C99 inline semantics.
57572         * lib/argp.h (ARGP_EI): Likewise.
57573
57574 2007-10-13  Bruno Haible  <bruno@clisp.org>
57575
57576         Handle 'inline' change in gcc 4.3.0.
57577         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
57578         argp_fmtstream_write, argp_fmtstream_set_lmargin,
57579         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
57580         argp_fmtstream_point): Disable 'extern' declaration if the function
57581         definition is going to be provided inline.
57582         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
57583         semantics, not the ISO C99 inline semantics.
57584         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
57585         'extern' declaration if the function definition is going to be provided
57586         inline.
57587         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
57588         the GNU C inline semantics, not the ISO C99 inline semantics. With
57589         GCC 4.2, avoid a warning.
57590
57591 2007-10-13  Bruno Haible  <bruno@clisp.org>
57592
57593         * lib/freading.h (freading): Enable the use of __freading for
57594         glibc >= 2.7.
57595         * lib/freading.c (freading): Likewise.
57596
57597 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57598
57599         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
57600         "warning: C99 inline functions are not supported; using GNU89".
57601
57602 2007-10-12  Bruno Haible  <bruno@clisp.org>
57603
57604         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
57605         of 2.
57606         * tests/test-ceilf2.c: New file.
57607         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
57608
57609         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
57610         * modules/ceilf-tests: Update.
57611
57612 2007-10-12  Bruno Haible  <bruno@clisp.org>
57613
57614         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
57615         of 2.
57616         * tests/test-floorf2.c: New file.
57617         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
57618
57619         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
57620         * modules/floorf-tests: Update.
57621
57622 2007-10-12  Bruno Haible  <bruno@clisp.org>
57623
57624         * tests/test-trunc2.c: New file.
57625         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
57626
57627         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
57628         * modules/trunc-tests: Update.
57629
57630 2007-10-12  Bruno Haible  <bruno@clisp.org>
57631
57632         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
57633         of 2.
57634         * tests/test-truncf2.c: New file.
57635         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
57636
57637         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
57638         * modules/truncf-tests: Update.
57639
57640 2007-10-11  Eric Blake  <ebb9@byu.net>
57641
57642         Don't claim strerror is broken on Interix.
57643         * doc/functions/strerror.texi (strerror): Known broken systems are
57644         now Solaris 8, and not Interix.
57645         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
57646         Interix on cross-compile.
57647         Reported by Martin Koeppe in
57648         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
57649
57650 2007-10-11  Bruno Haible  <bruno@clisp.org>
57651
57652         * modules/i-ring-tests: New file.
57653         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
57654         instead of assert.
57655
57656 2007-10-11  Bruno Haible  <bruno@clisp.org>
57657
57658         * modules/filenamecat-tests: New file.
57659         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
57660         * lib/filenamecat.c: Remove test code.
57661
57662 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57663
57664         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
57665
57666         * lib/strerror.c: Include <string.h> always, to test interface,
57667         and to remove the need for the dummy.
57668         Include intprops.h to compute width instead of doing it ourselves
57669         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
57670         (strerror): Define it to return NULL if there's no system strerror.
57671         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
57672         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
57673         ancient pre-strerror Unix systems well any more.  Saying "unknown
57674         system error" is enough.
57675         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
57676         simpler strerror.c implementation.
57677         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
57678         Simplify the tests to reflect the simpler strerror implementation.
57679         * modules/strerror (Depends-on): Add intprops.
57680
57681 2007-10-09  Eric Blake  <ebb9@byu.net>
57682
57683         Silence test-fpending.
57684         * modules/fpending-tests (Files): Add wrapper script.
57685         * tests/test-fpending.sh: New file.
57686
57687 2007-10-09  Bruno Haible  <bruno@clisp.org>
57688
57689         * MODULES.html.sh (func_module): Don't create a hyperlink for
57690         function names like 'printf_frexp'.
57691         (Misc): Add crc, memxor.
57692         (Characteristics of floating types): New section.
57693         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
57694         isnanf-nolibm, signbit, trunc, truncf, truncl.
57695         (Enhancements for ISO C 99 functions): New subsection Input/output.
57696         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
57697         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
57698         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
57699         (Compatibility checks for POSIX:2001 functions): Add clock-time.
57700         (Enhancements for POSIX:2001 functions): Add chdir-long.
57701         (File system functions): Add areadlink, chdir-safer, read-file.
57702         Remove cycle-check.
57703         (File system as inode set): New section.
57704         (Date and time): Add gethrxtime.
57705         (Multithreading): Add openmp.
57706         (Internationalization functions): Add localename.
57707         (Unicode string functions): Add unistr/u*-mbsnlen.
57708         (Support for maintaining and releasing projects): Add git-version-gen.
57709         (Lone files): Remove directories.
57710
57711 2007-10-08  Ben Pfaff  <blp@gnu.org>
57712
57713         * lib/xmalloca.h: Fix typo in comment.
57714
57715 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57716
57717         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
57718         when avoiding problems with integer overflow.  Use a portable test
57719         instead.
57720
57721 2007-10-08  Simon Josefsson  <simon@josefsson.org>
57722
57723         * modules/dummy (License): Change to LGPLv2+.
57724         * modules/float (License): Likewise
57725         * modules/realloc (License): Likewise
57726         * modules/stdlib (License): Likewise
57727
57728 2007-10-07  Bruno Haible  <bruno@clisp.org>
57729
57730         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
57731         * floor.c (TWO_MANT_DIG): Likewise.
57732         * ceil.c (TWO_MANT_DIG): Likewise.
57733         Reported by Ben Pfaff.
57734
57735 2007-10-07  Bruno Haible  <bruno@clisp.org>
57736
57737         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
57738         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
57739         * lib/frexp.c (FUNC): Likewise.
57740         * lib/printf-frexp.h (printf_frexp): Likewise.
57741         * lib/printf-frexpl.h (printf_frexpl): Likewise.
57742         * lib/printf-frexp.c (FUNC): Likewise.
57743         Suggested by Jim Meyering.
57744
57745 2007-10-07  Jim Meyering  <meyering@redhat.com>
57746
57747         Make xnanosleep's integer overflow test more robust.
57748         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
57749         so that gcc-4.3.0 doesn't optimize away this test for overflow.
57750
57751 2007-10-07  Bruno Haible  <bruno@clisp.org>
57752
57753         * NEWS: Mention the license change.
57754
57755         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
57756         abbreviations in the modules files.
57757
57758         Change copyright notice from GPLv2+ to GPLv3+.
57759         * README: Change copyright notice.
57760         * MODULES.html.sh: Likewise.
57761         * build-aux/bootstrap.conf: Likewise.
57762         * build-aux/config.libpath: Likewise.
57763         * build-aux/csharpcomp.sh.in: Likewise.
57764         * build-aux/csharpexec.sh.in: Likewise.
57765         * build-aux/install-reloc: Likewise.
57766         * build-aux/javacomp.sh.in: Likewise.
57767         * build-aux/javaexec.sh.in: Likewise.
57768         * build-aux/ldd.sh.in: Likewise.
57769         * build-aux/reloc-ldflags: Likewise.
57770         * build-aux/relocatable.sh.in: Likewise.
57771         * build-aux/x-to-1.in: Likewise.
57772         * check-module: Likewise.
57773         * config/srclistvars.sh: Likewise.
57774         * gnulib-tool: Likewise.
57775         * lib/acl-internal.h: Likewise.
57776         * lib/acl.c: Likewise.
57777         * lib/acl.h: Likewise.
57778         * lib/acl_entries.c: Likewise.
57779         * lib/areadlink-with-size.c: Likewise.
57780         * lib/areadlink.c: Likewise.
57781         * lib/areadlink.h: Likewise.
57782         * lib/argmatch.c: Likewise.
57783         * lib/argmatch.h: Likewise.
57784         * lib/argp-ba.c: Likewise.
57785         * lib/argp-eexst.c: Likewise.
57786         * lib/argp-fmtstream.c: Likewise.
57787         * lib/argp-fmtstream.h: Likewise.
57788         * lib/argp-fs-xinl.c: Likewise.
57789         * lib/argp-help.c: Likewise.
57790         * lib/argp-namefrob.h: Likewise.
57791         * lib/argp-parse.c: Likewise.
57792         * lib/argp-pin.c: Likewise.
57793         * lib/argp-pv.c: Likewise.
57794         * lib/argp-pvh.c: Likewise.
57795         * lib/argp-xinl.c: Likewise.
57796         * lib/argp.h: Likewise.
57797         * lib/at-func.c: Likewise.
57798         * lib/atanl.c: Likewise.
57799         * lib/backupfile.c: Likewise.
57800         * lib/backupfile.h: Likewise.
57801         * lib/basename.c: Likewise.
57802         * lib/binary-io.h: Likewise.
57803         * lib/byteswap.in.h: Likewise.
57804         * lib/c-stack.c: Likewise.
57805         * lib/c-stack.h: Likewise.
57806         * lib/c-strcasestr.c: Likewise.
57807         * lib/c-strcasestr.h: Likewise.
57808         * lib/c-strstr.c: Likewise.
57809         * lib/c-strstr.h: Likewise.
57810         * lib/c-strtod.c: Likewise.
57811         * lib/calloc.c: Likewise.
57812         * lib/canon-host.c: Likewise.
57813         * lib/canon-host.h: Likewise.
57814         * lib/canonicalize-lgpl.c: Likewise.
57815         * lib/canonicalize.c: Likewise.
57816         * lib/canonicalize.h: Likewise.
57817         * lib/ceil.c: Likewise.
57818         * lib/ceilf.c: Likewise.
57819         * lib/ceill.c: Likewise.
57820         * lib/chdir-long.c: Likewise.
57821         * lib/chdir-long.h: Likewise.
57822         * lib/chdir-safer.c: Likewise.
57823         * lib/chdir-safer.h: Likewise.
57824         * lib/chown.c: Likewise.
57825         * lib/classpath.c: Likewise.
57826         * lib/classpath.h: Likewise.
57827         * lib/clean-temp.c: Likewise.
57828         * lib/clean-temp.h: Likewise.
57829         * lib/cloexec.c: Likewise.
57830         * lib/close-stream.c: Likewise.
57831         * lib/closein.c: Likewise.
57832         * lib/closein.h: Likewise.
57833         * lib/closeout.c: Likewise.
57834         * lib/closeout.h: Likewise.
57835         * lib/concat-filename.c: Likewise.
57836         * lib/copy-file.c: Likewise.
57837         * lib/copy-file.h: Likewise.
57838         * lib/count-one-bits.h: Likewise.
57839         * lib/crc.c: Likewise.
57840         * lib/crc.h: Likewise.
57841         * lib/creat-safer.c: Likewise.
57842         * lib/csharpcomp.c: Likewise.
57843         * lib/csharpcomp.h: Likewise.
57844         * lib/csharpexec.c: Likewise.
57845         * lib/csharpexec.h: Likewise.
57846         * lib/cycle-check.c: Likewise.
57847         * lib/cycle-check.h: Likewise.
57848         * lib/diacrit.c: Likewise.
57849         * lib/diacrit.h: Likewise.
57850         * lib/diffseq.h: Likewise.
57851         * lib/dirchownmod.c: Likewise.
57852         * lib/dirent.in.h: Likewise.
57853         * lib/dirfd.c: Likewise.
57854         * lib/dirfd.h: Likewise.
57855         * lib/dirname.c: Likewise.
57856         * lib/dirname.h: Likewise.
57857         * lib/dummy.c: Likewise.
57858         * lib/dup-safer.c: Likewise.
57859         * lib/dup2.c: Likewise.
57860         * lib/eealloc.h: Likewise.
57861         * lib/error.c: Likewise.
57862         * lib/error.h: Likewise.
57863         * lib/euidaccess.c: Likewise.
57864         * lib/exclude.c: Likewise.
57865         * lib/exclude.h: Likewise.
57866         * lib/execute.c: Likewise.
57867         * lib/execute.h: Likewise.
57868         * lib/exitfail.c: Likewise.
57869         * lib/exitfail.h: Likewise.
57870         * lib/expl.c: Likewise.
57871         * lib/fatal-signal.c: Likewise.
57872         * lib/fatal-signal.h: Likewise.
57873         * lib/fbufmode.c: Likewise.
57874         * lib/fbufmode.h: Likewise.
57875         * lib/fchdir.c: Likewise.
57876         * lib/fchmodat.c: Likewise.
57877         * lib/fchownat.c: Likewise.
57878         * lib/fcntl--.h: Likewise.
57879         * lib/fcntl-safer.h: Likewise.
57880         * lib/fcntl.in.h: Likewise.
57881         * lib/fd-safer.c: Likewise.
57882         * lib/fflush.c: Likewise.
57883         * lib/file-has-acl.c: Likewise.
57884         * lib/file-set.c: Likewise.
57885         * lib/file-type.c: Likewise.
57886         * lib/file-type.h: Likewise.
57887         * lib/fileblocks.c: Likewise.
57888         * lib/filemode.c: Likewise.
57889         * lib/filemode.h: Likewise.
57890         * lib/filename.h: Likewise.
57891         * lib/filenamecat.c: Likewise.
57892         * lib/filenamecat.h: Likewise.
57893         * lib/findprog.c: Likewise.
57894         * lib/findprog.h: Likewise.
57895         * lib/float.in.h: Likewise.
57896         * lib/floor.c: Likewise.
57897         * lib/floorf.c: Likewise.
57898         * lib/floorl.c: Likewise.
57899         * lib/fopen-safer.c: Likewise.
57900         * lib/fopen.c: Likewise.
57901         * lib/fpending.c: Likewise.
57902         * lib/fpending.h: Likewise.
57903         * lib/fprintf.c: Likewise.
57904         * lib/fprintftime.h: Likewise.
57905         * lib/fpucw.h: Likewise.
57906         * lib/fpurge.c: Likewise.
57907         * lib/fpurge.h: Likewise.
57908         * lib/freadable.c: Likewise.
57909         * lib/freadable.h: Likewise.
57910         * lib/freadahead.c: Likewise.
57911         * lib/freadahead.h: Likewise.
57912         * lib/freading.c: Likewise.
57913         * lib/freading.h: Likewise.
57914         * lib/free.c: Likewise.
57915         * lib/freopen.c: Likewise.
57916         * lib/frexp.c: Likewise.
57917         * lib/frexpl.c: Likewise.
57918         * lib/fseek.c: Likewise.
57919         * lib/fseterr.c: Likewise.
57920         * lib/fseterr.h: Likewise.
57921         * lib/fstatat.c: Likewise.
57922         * lib/fstrcmp.c: Likewise.
57923         * lib/fstrcmp.h: Likewise.
57924         * lib/fsusage.c: Likewise.
57925         * lib/fsusage.h: Likewise.
57926         * lib/ftell.c: Likewise.
57927         * lib/ftello.c: Likewise.
57928         * lib/fts-cycle.c: Likewise.
57929         * lib/fts.c: Likewise.
57930         * lib/fts_.h: Likewise.
57931         * lib/full-read.c: Likewise.
57932         * lib/full-read.h: Likewise.
57933         * lib/full-write.c: Likewise.
57934         * lib/full-write.h: Likewise.
57935         * lib/fwritable.c: Likewise.
57936         * lib/fwritable.h: Likewise.
57937         * lib/fwriteerror.c: Likewise.
57938         * lib/fwriteerror.h: Likewise.
57939         * lib/fwriting.c: Likewise.
57940         * lib/fwriting.h: Likewise.
57941         * lib/gcd.c: Likewise.
57942         * lib/gcd.h: Likewise.
57943         * lib/getcwd.c: Likewise.
57944         * lib/getdate.h: Likewise.
57945         * lib/getdate.y: Likewise.
57946         * lib/getdomainname.c: Likewise.
57947         * lib/getdomainname.h: Likewise.
57948         * lib/getgroups.c: Likewise.
57949         * lib/gethostname.c: Likewise.
57950         * lib/gethrxtime.c: Likewise.
57951         * lib/gethrxtime.h: Likewise.
57952         * lib/getloadavg.c: Likewise.
57953         * lib/getndelim2.c: Likewise.
57954         * lib/getndelim2.h: Likewise.
57955         * lib/getnline.c: Likewise.
57956         * lib/getnline.h: Likewise.
57957         * lib/getopt.c: Likewise.
57958         * lib/getopt.in.h: Likewise.
57959         * lib/getopt1.c: Likewise.
57960         * lib/getopt_int.h: Likewise.
57961         * lib/getpagesize.h: Likewise.
57962         * lib/getsubopt.c: Likewise.
57963         * lib/gettime.c: Likewise.
57964         * lib/getugroups.c: Likewise.
57965         * lib/getugroups.h: Likewise.
57966         * lib/getusershell.c: Likewise.
57967         * lib/gl_anyavltree_list1.h: Likewise.
57968         * lib/gl_anyavltree_list2.h: Likewise.
57969         * lib/gl_anyhash_list1.h: Likewise.
57970         * lib/gl_anyhash_list2.h: Likewise.
57971         * lib/gl_anylinked_list1.h: Likewise.
57972         * lib/gl_anylinked_list2.h: Likewise.
57973         * lib/gl_anyrbtree_list1.h: Likewise.
57974         * lib/gl_anyrbtree_list2.h: Likewise.
57975         * lib/gl_anytree_list1.h: Likewise.
57976         * lib/gl_anytree_list2.h: Likewise.
57977         * lib/gl_anytree_oset.h: Likewise.
57978         * lib/gl_anytreehash_list1.h: Likewise.
57979         * lib/gl_anytreehash_list2.h: Likewise.
57980         * lib/gl_array_list.c: Likewise.
57981         * lib/gl_array_list.h: Likewise.
57982         * lib/gl_array_oset.c: Likewise.
57983         * lib/gl_array_oset.h: Likewise.
57984         * lib/gl_avltree_list.c: Likewise.
57985         * lib/gl_avltree_list.h: Likewise.
57986         * lib/gl_avltree_oset.c: Likewise.
57987         * lib/gl_avltree_oset.h: Likewise.
57988         * lib/gl_avltreehash_list.c: Likewise.
57989         * lib/gl_avltreehash_list.h: Likewise.
57990         * lib/gl_carray_list.c: Likewise.
57991         * lib/gl_carray_list.h: Likewise.
57992         * lib/gl_linked_list.c: Likewise.
57993         * lib/gl_linked_list.h: Likewise.
57994         * lib/gl_linkedhash_list.c: Likewise.
57995         * lib/gl_linkedhash_list.h: Likewise.
57996         * lib/gl_list.c: Likewise.
57997         * lib/gl_list.h: Likewise.
57998         * lib/gl_oset.c: Likewise.
57999         * lib/gl_oset.h: Likewise.
58000         * lib/gl_rbtree_list.c: Likewise.
58001         * lib/gl_rbtree_list.h: Likewise.
58002         * lib/gl_rbtree_oset.c: Likewise.
58003         * lib/gl_rbtree_oset.h: Likewise.
58004         * lib/gl_rbtreehash_list.c: Likewise.
58005         * lib/gl_rbtreehash_list.h: Likewise.
58006         * lib/gl_sublist.c: Likewise.
58007         * lib/gl_sublist.h: Likewise.
58008         * lib/group-member.c: Likewise.
58009         * lib/group-member.h: Likewise.
58010         * lib/hard-locale.c: Likewise.
58011         * lib/hard-locale.h: Likewise.
58012         * lib/hash-pjw.c: Likewise.
58013         * lib/hash-pjw.h: Likewise.
58014         * lib/hash-triple.c: Likewise.
58015         * lib/hash.c: Likewise.
58016         * lib/hash.h: Likewise.
58017         * lib/human.c: Likewise.
58018         * lib/human.h: Likewise.
58019         * lib/i-ring.c: Likewise.
58020         * lib/i-ring.h: Likewise.
58021         * lib/idcache.c: Likewise.
58022         * lib/imaxabs.c: Likewise.
58023         * lib/imaxdiv.c: Likewise.
58024         * lib/inet_pton.c: Likewise.
58025         * lib/inet_pton.h: Likewise.
58026         * lib/intprops.h: Likewise.
58027         * lib/inttostr.c: Likewise.
58028         * lib/inttostr.h: Likewise.
58029         * lib/inttypes.in.h: Likewise.
58030         * lib/isapipe.c: Likewise.
58031         * lib/isdir.c: Likewise.
58032         * lib/isnan.c: Likewise.
58033         * lib/isnan.h: Likewise.
58034         * lib/isnanf.c: Likewise.
58035         * lib/isnanf.h: Likewise.
58036         * lib/isnanl-nolibm.h: Likewise.
58037         * lib/isnanl.c: Likewise.
58038         * lib/isnanl.h: Likewise.
58039         * lib/javacomp.c: Likewise.
58040         * lib/javacomp.h: Likewise.
58041         * lib/javaexec.c: Likewise.
58042         * lib/javaexec.h: Likewise.
58043         * lib/javaversion.c: Likewise.
58044         * lib/javaversion.h: Likewise.
58045         * lib/javaversion.java: Likewise.
58046         * lib/lbrkprop.h: Likewise.
58047         * lib/lchmod.h: Likewise.
58048         * lib/lchown.c: Likewise.
58049         * lib/ldexpl.c: Likewise.
58050         * lib/linebreak.c: Likewise.
58051         * lib/linebreak.h: Likewise.
58052         * lib/linebuffer.c: Likewise.
58053         * lib/linebuffer.h: Likewise.
58054         * lib/locale.in.h: Likewise.
58055         * lib/logl.c: Likewise.
58056         * lib/long-options.c: Likewise.
58057         * lib/long-options.h: Likewise.
58058         * lib/lstat.c: Likewise.
58059         * lib/lstat.h: Likewise.
58060         * lib/math.in.h: Likewise.
58061         * lib/mbchar.c: Likewise.
58062         * lib/mbchar.h: Likewise.
58063         * lib/mbfile.h: Likewise.
58064         * lib/mbiter.h: Likewise.
58065         * lib/mbscasecmp.c: Likewise.
58066         * lib/mbscasestr.c: Likewise.
58067         * lib/mbschr.c: Likewise.
58068         * lib/mbscspn.c: Likewise.
58069         * lib/mbslen.c: Likewise.
58070         * lib/mbsncasecmp.c: Likewise.
58071         * lib/mbsnlen.c: Likewise.
58072         * lib/mbspbrk.c: Likewise.
58073         * lib/mbspcasecmp.c: Likewise.
58074         * lib/mbsrchr.c: Likewise.
58075         * lib/mbssep.c: Likewise.
58076         * lib/mbsspn.c: Likewise.
58077         * lib/mbsstr.c: Likewise.
58078         * lib/mbstok_r.c: Likewise.
58079         * lib/mbswidth.c: Likewise.
58080         * lib/mbswidth.h: Likewise.
58081         * lib/mbuiter.h: Likewise.
58082         * lib/memcasecmp.c: Likewise.
58083         * lib/memcasecmp.h: Likewise.
58084         * lib/memchr.c: Likewise.
58085         * lib/memcmp.c: Likewise.
58086         * lib/memcoll.c: Likewise.
58087         * lib/memcoll.h: Likewise.
58088         * lib/memcpy.c: Likewise.
58089         * lib/memrchr.c: Likewise.
58090         * lib/mkancesdirs.c: Likewise.
58091         * lib/mkdir-p.c: Likewise.
58092         * lib/mkdir-p.h: Likewise.
58093         * lib/mkdir.c: Likewise.
58094         * lib/mkdirat.c: Likewise.
58095         * lib/mkdtemp.c: Likewise.
58096         * lib/mkstemp-safer.c: Likewise.
58097         * lib/mkstemp.c: Likewise.
58098         * lib/modechange.c: Likewise.
58099         * lib/modechange.h: Likewise.
58100         * lib/mountlist.c: Likewise.
58101         * lib/mountlist.h: Likewise.
58102         * lib/mpsort.c: Likewise.
58103         * lib/nanosleep.c: Likewise.
58104         * lib/obstack.c: Likewise.
58105         * lib/obstack.h: Likewise.
58106         * lib/open-safer.c: Likewise.
58107         * lib/open.c: Likewise.
58108         * lib/openat-die.c: Likewise.
58109         * lib/openat-priv.h: Likewise.
58110         * lib/openat-proc.c: Likewise.
58111         * lib/openat.c: Likewise.
58112         * lib/openat.h: Likewise.
58113         * lib/pagealign_alloc.c: Likewise.
58114         * lib/pagealign_alloc.h: Likewise.
58115         * lib/physmem.c: Likewise.
58116         * lib/physmem.h: Likewise.
58117         * lib/pipe-safer.c: Likewise.
58118         * lib/pipe.c: Likewise.
58119         * lib/pipe.h: Likewise.
58120         * lib/posixtm.c: Likewise.
58121         * lib/posixtm.h: Likewise.
58122         * lib/posixver.c: Likewise.
58123         * lib/printf-frexp.c: Likewise.
58124         * lib/printf-frexp.h: Likewise.
58125         * lib/printf-frexpl.c: Likewise.
58126         * lib/printf-frexpl.h: Likewise.
58127         * lib/printf.c: Likewise.
58128         * lib/progname.c: Likewise.
58129         * lib/progname.h: Likewise.
58130         * lib/progreloc.c: Likewise.
58131         * lib/putenv.c: Likewise.
58132         * lib/quote.c: Likewise.
58133         * lib/quote.h: Likewise.
58134         * lib/quotearg.c: Likewise.
58135         * lib/quotearg.h: Likewise.
58136         * lib/raise.c: Likewise.
58137         * lib/readline.c: Likewise.
58138         * lib/readline.h: Likewise.
58139         * lib/readlink.c: Likewise.
58140         * lib/readtokens.c: Likewise.
58141         * lib/readtokens.h: Likewise.
58142         * lib/readtokens0.c: Likewise.
58143         * lib/readtokens0.h: Likewise.
58144         * lib/readutmp.c: Likewise.
58145         * lib/readutmp.h: Likewise.
58146         * lib/realloc.c: Likewise.
58147         * lib/relocwrapper.c: Likewise.
58148         * lib/rename-dest-slash.c: Likewise.
58149         * lib/rename.c: Likewise.
58150         * lib/rmdir.c: Likewise.
58151         * lib/rpmatch.c: Likewise.
58152         * lib/safe-read.c: Likewise.
58153         * lib/safe-read.h: Likewise.
58154         * lib/safe-write.c: Likewise.
58155         * lib/safe-write.h: Likewise.
58156         * lib/same-inode.h: Likewise.
58157         * lib/same.c: Likewise.
58158         * lib/same.h: Likewise.
58159         * lib/save-cwd.c: Likewise.
58160         * lib/save-cwd.h: Likewise.
58161         * lib/savedir.c: Likewise.
58162         * lib/savedir.h: Likewise.
58163         * lib/savewd.c: Likewise.
58164         * lib/savewd.h: Likewise.
58165         * lib/search.in.h: Likewise.
58166         * lib/setenv.c: Likewise.
58167         * lib/setenv.h: Likewise.
58168         * lib/settime.c: Likewise.
58169         * lib/sh-quote.c: Likewise.
58170         * lib/sh-quote.h: Likewise.
58171         * lib/sig2str.c: Likewise.
58172         * lib/sig2str.h: Likewise.
58173         * lib/signal.in.h: Likewise.
58174         * lib/signbitd.c: Likewise.
58175         * lib/signbitf.c: Likewise.
58176         * lib/signbitl.c: Likewise.
58177         * lib/sigprocmask.c: Likewise.
58178         * lib/sincosl.c: Likewise.
58179         * lib/sleep.c: Likewise.
58180         * lib/sprintf.c: Likewise.
58181         * lib/sqrtl.c: Likewise.
58182         * lib/stat-time.h: Likewise.
58183         * lib/stdio--.h: Likewise.
58184         * lib/stdio-safer.h: Likewise.
58185         * lib/stdlib--.h: Likewise.
58186         * lib/stdlib-safer.h: Likewise.
58187         * lib/stdlib.in.h: Likewise.
58188         * lib/stpcpy.c: Likewise.
58189         * lib/stpncpy.c: Likewise.
58190         * lib/strchrnul.c: Likewise.
58191         * lib/strcspn.c: Likewise.
58192         * lib/strerror.c: Likewise.
58193         * lib/strftime.c: Likewise.
58194         * lib/strftime.h: Likewise.
58195         * lib/striconveh.c: Likewise.
58196         * lib/striconveh.h: Likewise.
58197         * lib/striconveha.c: Likewise.
58198         * lib/striconveha.h: Likewise.
58199         * lib/stripslash.c: Likewise.
58200         * lib/strnlen1.c: Likewise.
58201         * lib/strnlen1.h: Likewise.
58202         * lib/strtod.c: Likewise.
58203         * lib/strtoimax.c: Likewise.
58204         * lib/strtok_r.c: Likewise.
58205         * lib/strtol.c: Likewise.
58206         * lib/strtoll.c: Likewise.
58207         * lib/strtoul.c: Likewise.
58208         * lib/strtoull.c: Likewise.
58209         * lib/sysexits.in.h: Likewise.
58210         * lib/tempname.c: Likewise.
58211         * lib/tempname.h: Likewise.
58212         * lib/timespec.h: Likewise.
58213         * lib/tls.c: Likewise.
58214         * lib/tls.h: Likewise.
58215         * lib/tmpdir.c: Likewise.
58216         * lib/tmpdir.h: Likewise.
58217         * lib/tmpfile-safer.c: Likewise.
58218         * lib/tmpfile.c: Likewise.
58219         * lib/trigl.c: Likewise.
58220         * lib/trigl.h: Likewise.
58221         * lib/trim.c: Likewise.
58222         * lib/trim.h: Likewise.
58223         * lib/trunc.c: Likewise.
58224         * lib/truncf.c: Likewise.
58225         * lib/truncl.c: Likewise.
58226         * lib/tsearch.c: Likewise.
58227         * lib/unicodeio.c: Likewise.
58228         * lib/unicodeio.h: Likewise.
58229         * lib/unistd--.h: Likewise.
58230         * lib/unistd-safer.h: Likewise.
58231         * lib/unistdio/ulc-fprintf.c: Likewise.
58232         * lib/unistdio/ulc-vfprintf.c: Likewise.
58233         * lib/unlinkdir.c: Likewise.
58234         * lib/unlinkdir.h: Likewise.
58235         * lib/unlocked-io.h: Likewise.
58236         * lib/unsetenv.c: Likewise.
58237         * lib/userspec.c: Likewise.
58238         * lib/utime.c: Likewise.
58239         * lib/utimecmp.c: Likewise.
58240         * lib/utimecmp.h: Likewise.
58241         * lib/utimens.c: Likewise.
58242         * lib/verify.h: Likewise.
58243         * lib/verror.c: Likewise.
58244         * lib/verror.h: Likewise.
58245         * lib/version-etc-fsf.c: Likewise.
58246         * lib/version-etc.c: Likewise.
58247         * lib/version-etc.h: Likewise.
58248         * lib/vfprintf.c: Likewise.
58249         * lib/vprintf.c: Likewise.
58250         * lib/vsprintf.c: Likewise.
58251         * lib/w32spawn.h: Likewise.
58252         * lib/wait-process.c: Likewise.
58253         * lib/wait-process.h: Likewise.
58254         * lib/wcwidth.c: Likewise.
58255         * lib/write-any-file.c: Likewise.
58256         * lib/xalloc-die.c: Likewise.
58257         * lib/xalloc.h: Likewise.
58258         * lib/xasprintf.c: Likewise.
58259         * lib/xgetcwd.c: Likewise.
58260         * lib/xgetcwd.h: Likewise.
58261         * lib/xgetdomainname.c: Likewise.
58262         * lib/xgetdomainname.h: Likewise.
58263         * lib/xgethostname.c: Likewise.
58264         * lib/xmalloc.c: Likewise.
58265         * lib/xmalloca.c: Likewise.
58266         * lib/xmalloca.h: Likewise.
58267         * lib/xmemcoll.c: Likewise.
58268         * lib/xnanosleep.c: Likewise.
58269         * lib/xreadlink.c: Likewise.
58270         * lib/xreadlink.h: Likewise.
58271         * lib/xsetenv.c: Likewise.
58272         * lib/xsetenv.h: Likewise.
58273         * lib/xstriconv.c: Likewise.
58274         * lib/xstriconv.h: Likewise.
58275         * lib/xstrndup.c: Likewise.
58276         * lib/xstrndup.h: Likewise.
58277         * lib/xstrtod.c: Likewise.
58278         * lib/xstrtod.h: Likewise.
58279         * lib/xstrtol-error.c: Likewise.
58280         * lib/xstrtol.c: Likewise.
58281         * lib/xstrtol.h: Likewise.
58282         * lib/xtime.h: Likewise.
58283         * lib/xvasprintf.c: Likewise.
58284         * lib/xvasprintf.h: Likewise.
58285         * lib/yesno.c: Likewise.
58286         * lib/yesno.h: Likewise.
58287         * posix-modules: Likewise.
58288         * tests/test-alloca-opt.c: Likewise.
58289         * tests/test-arcfour.c: Likewise.
58290         * tests/test-arctwo.c: Likewise.
58291         * tests/test-argmatch.c: Likewise.
58292         * tests/test-argp-2.sh: Likewise.
58293         * tests/test-argp.c: Likewise.
58294         * tests/test-arpa_inet.c: Likewise.
58295         * tests/test-array_list.c: Likewise.
58296         * tests/test-array_oset.c: Likewise.
58297         * tests/test-atexit.c: Likewise.
58298         * tests/test-avltree_list.c: Likewise.
58299         * tests/test-avltree_oset.c: Likewise.
58300         * tests/test-avltreehash_list.c: Likewise.
58301         * tests/test-base64.c: Likewise.
58302         * tests/test-binary-io.c: Likewise.
58303         * tests/test-byteswap.c: Likewise.
58304         * tests/test-c-ctype.c: Likewise.
58305         * tests/test-c-strcasecmp.c: Likewise.
58306         * tests/test-c-strcasestr.c: Likewise.
58307         * tests/test-c-strncasecmp.c: Likewise.
58308         * tests/test-c-strstr.c: Likewise.
58309         * tests/test-canonicalize-lgpl.c: Likewise.
58310         * tests/test-canonicalize.c: Likewise.
58311         * tests/test-carray_list.c: Likewise.
58312         * tests/test-ceilf.c: Likewise.
58313         * tests/test-ceill.c: Likewise.
58314         * tests/test-count-one-bits.c: Likewise.
58315         * tests/test-crc.c: Likewise.
58316         * tests/test-dirname.c: Likewise.
58317         * tests/test-fbufmode.c: Likewise.
58318         * tests/test-fcntl.c: Likewise.
58319         * tests/test-fflush.c: Likewise.
58320         * tests/test-floorf.c: Likewise.
58321         * tests/test-floorl.c: Likewise.
58322         * tests/test-fopen.c: Likewise.
58323         * tests/test-fprintf-posix.c: Likewise.
58324         * tests/test-fprintf-posix.h: Likewise.
58325         * tests/test-fpurge.c: Likewise.
58326         * tests/test-freadable.c: Likewise.
58327         * tests/test-freadahead.c: Likewise.
58328         * tests/test-freading.c: Likewise.
58329         * tests/test-freopen.c: Likewise.
58330         * tests/test-frexp.c: Likewise.
58331         * tests/test-frexpl.c: Likewise.
58332         * tests/test-fseek.c: Likewise.
58333         * tests/test-fseeko.c: Likewise.
58334         * tests/test-fseterr.c: Likewise.
58335         * tests/test-fstrcmp.c: Likewise.
58336         * tests/test-ftell.c: Likewise.
58337         * tests/test-ftello.c: Likewise.
58338         * tests/test-fwritable.c: Likewise.
58339         * tests/test-fwriting.c: Likewise.
58340         * tests/test-getaddrinfo.c: Likewise.
58341         * tests/test-getpass.c: Likewise.
58342         * tests/test-gettimeofday.c: Likewise.
58343         * tests/test-hmac-md5.c: Likewise.
58344         * tests/test-hmac-sha1.c: Likewise.
58345         * tests/test-iconv.c: Likewise.
58346         * tests/test-iconvme.c: Likewise.
58347         * tests/test-inttypes.c: Likewise.
58348         * tests/test-isnan.c: Likewise.
58349         * tests/test-isnanf.c: Likewise.
58350         * tests/test-isnanl-nolibm.c: Likewise.
58351         * tests/test-isnanl.c: Likewise.
58352         * tests/test-isnanl.h: Likewise.
58353         * tests/test-ldexpl.c: Likewise.
58354         * tests/test-linked_list.c: Likewise.
58355         * tests/test-linkedhash_list.c: Likewise.
58356         * tests/test-locale.c: Likewise.
58357         * tests/test-localename.c: Likewise.
58358         * tests/test-lock.c: Likewise.
58359         * tests/test-lseek.c: Likewise.
58360         * tests/test-malloca.c: Likewise.
58361         * tests/test-math.c: Likewise.
58362         * tests/test-mbscasecmp.c: Likewise.
58363         * tests/test-mbscasestr1.c: Likewise.
58364         * tests/test-mbscasestr2.c: Likewise.
58365         * tests/test-mbscasestr3.c: Likewise.
58366         * tests/test-mbscasestr4.c: Likewise.
58367         * tests/test-mbschr.c: Likewise.
58368         * tests/test-mbscspn.c: Likewise.
58369         * tests/test-mbsncasecmp.c: Likewise.
58370         * tests/test-mbspbrk.c: Likewise.
58371         * tests/test-mbspcasecmp.c: Likewise.
58372         * tests/test-mbsrchr.c: Likewise.
58373         * tests/test-mbsspn.c: Likewise.
58374         * tests/test-mbsstr1.c: Likewise.
58375         * tests/test-mbsstr2.c: Likewise.
58376         * tests/test-mbsstr3.c: Likewise.
58377         * tests/test-md5.c: Likewise.
58378         * tests/test-memmem.c: Likewise.
58379         * tests/test-netinet_in.c: Likewise.
58380         * tests/test-open.c: Likewise.
58381         * tests/test-printf-frexp.c: Likewise.
58382         * tests/test-printf-frexpl.c: Likewise.
58383         * tests/test-printf-posix.c: Likewise.
58384         * tests/test-printf-posix.h: Likewise.
58385         * tests/test-rbtree_list.c: Likewise.
58386         * tests/test-rbtree_oset.c: Likewise.
58387         * tests/test-rbtreehash_list.c: Likewise.
58388         * tests/test-read-file.c: Likewise.
58389         * tests/test-rijndael.c: Likewise.
58390         * tests/test-search.c: Likewise.
58391         * tests/test-signbit.c: Likewise.
58392         * tests/test-sleep.c: Likewise.
58393         * tests/test-snprintf-posix.c: Likewise.
58394         * tests/test-snprintf-posix.h: Likewise.
58395         * tests/test-snprintf.c: Likewise.
58396         * tests/test-sprintf-posix.c: Likewise.
58397         * tests/test-sprintf-posix.h: Likewise.
58398         * tests/test-stat-time.c: Likewise.
58399         * tests/test-stdbool.c: Likewise.
58400         * tests/test-stdint.c: Likewise.
58401         * tests/test-stdio.c: Likewise.
58402         * tests/test-stdlib.c: Likewise.
58403         * tests/test-stpncpy.c: Likewise.
58404         * tests/test-strcasestr.c: Likewise.
58405         * tests/test-striconv.c: Likewise.
58406         * tests/test-striconveh.c: Likewise.
58407         * tests/test-striconveha.c: Likewise.
58408         * tests/test-string.c: Likewise.
58409         * tests/test-sys_select.c: Likewise.
58410         * tests/test-sys_socket.c: Likewise.
58411         * tests/test-sys_stat.c: Likewise.
58412         * tests/test-sys_time.c: Likewise.
58413         * tests/test-sysexits.c: Likewise.
58414         * tests/test-time.c: Likewise.
58415         * tests/test-tls.c: Likewise.
58416         * tests/test-trunc.c: Likewise.
58417         * tests/test-truncf.c: Likewise.
58418         * tests/test-truncl.c: Likewise.
58419         * tests/test-unistd.c: Likewise.
58420         * tests/test-vasnprintf-posix.c: Likewise.
58421         * tests/test-vasnprintf-posix2.c: Likewise.
58422         * tests/test-vasnprintf.c: Likewise.
58423         * tests/test-vasprintf-posix.c: Likewise.
58424         * tests/test-vasprintf.c: Likewise.
58425         * tests/test-verify.c: Likewise.
58426         * tests/test-vfprintf-posix.c: Likewise.
58427         * tests/test-vprintf-posix.c: Likewise.
58428         * tests/test-vsnprintf-posix.c: Likewise.
58429         * tests/test-vsnprintf.c: Likewise.
58430         * tests/test-vsprintf-posix.c: Likewise.
58431         * tests/test-wchar.c: Likewise.
58432         * tests/test-wctype.c: Likewise.
58433         * tests/test-wcwidth.c: Likewise.
58434         * tests/test-xstrtol.c: Likewise.
58435         * tests/test-xvasprintf.c: Likewise.
58436         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58437         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58438         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58439         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58440         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58441         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58442         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58443         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58444         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58445         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58446         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58447         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58448         * tests/uniname/test-uninames.c: Likewise.
58449         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58450         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
58451         * tests/unistdio/test-u16-printf1.h: Likewise.
58452         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58453         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58454         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58455         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58456         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58457         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58458         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58459         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
58460         * tests/unistdio/test-u32-printf1.h: Likewise.
58461         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58462         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58463         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58464         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58465         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58466         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58467         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58468         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
58469         * tests/unistdio/test-u8-printf1.h: Likewise.
58470         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58471         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58472         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58473         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58474         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58475         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58476         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58477         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
58478         * tests/unistdio/test-ulc-printf1.h: Likewise.
58479         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58480         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58481         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58482         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58483         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58484         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58485         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58486         * tests/uniwidth/test-u16-width.c: Likewise.
58487         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58488         * tests/uniwidth/test-u32-width.c: Likewise.
58489         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58490         * tests/uniwidth/test-u8-width.c: Likewise.
58491         * tests/uniwidth/test-uc_width.c: Likewise.
58492         * config/srclist-update: Likewise.
58493         (fixlicense): Update to GPLv3+.
58494
58495         Change copyright notice from LGPLv2.1+ to LGPLv3+.
58496         * tests/test-tsearch.c: Change copyright notice.
58497
58498         Change copyright notice from LGPLv2.0+ to LGPLv3+.
58499         * lib/c-strcaseeq.h: Change copyright notice.
58500         * lib/streq.h: Likewise.
58501         * lib/uniconv.h: Likewise.
58502         * lib/uniconv/u-conv-from-enc.h: Likewise.
58503         * lib/uniconv/u-conv-to-enc.h: Likewise.
58504         * lib/uniconv/u-strconv-from-enc.h: Likewise.
58505         * lib/uniconv/u-strconv-to-enc.h: Likewise.
58506         * lib/uniconv/u16-conv-from-enc.c: Likewise.
58507         * lib/uniconv/u16-conv-to-enc.c: Likewise.
58508         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
58509         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
58510         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
58511         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
58512         * lib/uniconv/u32-conv-from-enc.c: Likewise.
58513         * lib/uniconv/u32-conv-to-enc.c: Likewise.
58514         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
58515         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
58516         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
58517         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
58518         * lib/uniconv/u8-conv-from-enc.c: Likewise.
58519         * lib/uniconv/u8-conv-to-enc.c: Likewise.
58520         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
58521         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
58522         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
58523         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
58524         * lib/uniname.h: Likewise.
58525         * lib/uniname/uniname.c: Likewise.
58526         * lib/unistdio.h: Likewise.
58527         * lib/unistdio/u-asnprintf.h: Likewise.
58528         * lib/unistdio/u-asprintf.h: Likewise.
58529         * lib/unistdio/u-printf-args.c: Likewise.
58530         * lib/unistdio/u-printf-args.h: Likewise.
58531         * lib/unistdio/u-printf-parse.h: Likewise.
58532         * lib/unistdio/u-snprintf.h: Likewise.
58533         * lib/unistdio/u-sprintf.h: Likewise.
58534         * lib/unistdio/u-vasprintf.h: Likewise.
58535         * lib/unistdio/u-vsnprintf.h: Likewise.
58536         * lib/unistdio/u-vsprintf.h: Likewise.
58537         * lib/unistdio/u16-asnprintf.c: Likewise.
58538         * lib/unistdio/u16-asprintf.c: Likewise.
58539         * lib/unistdio/u16-printf-parse.c: Likewise.
58540         * lib/unistdio/u16-snprintf.c: Likewise.
58541         * lib/unistdio/u16-sprintf.c: Likewise.
58542         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
58543         * lib/unistdio/u16-u16-asprintf.c: Likewise.
58544         * lib/unistdio/u16-u16-snprintf.c: Likewise.
58545         * lib/unistdio/u16-u16-sprintf.c: Likewise.
58546         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
58547         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
58548         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
58549         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
58550         * lib/unistdio/u16-vasnprintf.c: Likewise.
58551         * lib/unistdio/u16-vasprintf.c: Likewise.
58552         * lib/unistdio/u16-vsnprintf.c: Likewise.
58553         * lib/unistdio/u16-vsprintf.c: Likewise.
58554         * lib/unistdio/u32-asnprintf.c: Likewise.
58555         * lib/unistdio/u32-asprintf.c: Likewise.
58556         * lib/unistdio/u32-printf-parse.c: Likewise.
58557         * lib/unistdio/u32-snprintf.c: Likewise.
58558         * lib/unistdio/u32-sprintf.c: Likewise.
58559         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
58560         * lib/unistdio/u32-u32-asprintf.c: Likewise.
58561         * lib/unistdio/u32-u32-snprintf.c: Likewise.
58562         * lib/unistdio/u32-u32-sprintf.c: Likewise.
58563         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
58564         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
58565         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
58566         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
58567         * lib/unistdio/u32-vasnprintf.c: Likewise.
58568         * lib/unistdio/u32-vasprintf.c: Likewise.
58569         * lib/unistdio/u32-vsnprintf.c: Likewise.
58570         * lib/unistdio/u32-vsprintf.c: Likewise.
58571         * lib/unistdio/u8-asnprintf.c: Likewise.
58572         * lib/unistdio/u8-asprintf.c: Likewise.
58573         * lib/unistdio/u8-printf-parse.c: Likewise.
58574         * lib/unistdio/u8-snprintf.c: Likewise.
58575         * lib/unistdio/u8-sprintf.c: Likewise.
58576         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
58577         * lib/unistdio/u8-u8-asprintf.c: Likewise.
58578         * lib/unistdio/u8-u8-snprintf.c: Likewise.
58579         * lib/unistdio/u8-u8-sprintf.c: Likewise.
58580         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
58581         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
58582         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
58583         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
58584         * lib/unistdio/u8-vasnprintf.c: Likewise.
58585         * lib/unistdio/u8-vasprintf.c: Likewise.
58586         * lib/unistdio/u8-vsnprintf.c: Likewise.
58587         * lib/unistdio/u8-vsprintf.c: Likewise.
58588         * lib/unistdio/ulc-asnprintf.c: Likewise.
58589         * lib/unistdio/ulc-asprintf.c: Likewise.
58590         * lib/unistdio/ulc-printf-parse.c: Likewise.
58591         * lib/unistdio/ulc-snprintf.c: Likewise.
58592         * lib/unistdio/ulc-sprintf.c: Likewise.
58593         * lib/unistdio/ulc-vasnprintf.c: Likewise.
58594         * lib/unistdio/ulc-vasprintf.c: Likewise.
58595         * lib/unistdio/ulc-vsnprintf.c: Likewise.
58596         * lib/unistdio/ulc-vsprintf.c: Likewise.
58597         * lib/unistr.h: Likewise.
58598         * lib/unistr/u-cpy-alloc.h: Likewise.
58599         * lib/unistr/u-cpy.h: Likewise.
58600         * lib/unistr/u-endswith.h: Likewise.
58601         * lib/unistr/u-move.h: Likewise.
58602         * lib/unistr/u-set.h: Likewise.
58603         * lib/unistr/u-startswith.h: Likewise.
58604         * lib/unistr/u-stpcpy.h: Likewise.
58605         * lib/unistr/u-stpncpy.h: Likewise.
58606         * lib/unistr/u-strcat.h: Likewise.
58607         * lib/unistr/u-strcpy.h: Likewise.
58608         * lib/unistr/u-strcspn.h: Likewise.
58609         * lib/unistr/u-strdup.h: Likewise.
58610         * lib/unistr/u-strlen.h: Likewise.
58611         * lib/unistr/u-strncat.h: Likewise.
58612         * lib/unistr/u-strncpy.h: Likewise.
58613         * lib/unistr/u-strnlen.h: Likewise.
58614         * lib/unistr/u-strpbrk.h: Likewise.
58615         * lib/unistr/u-strspn.h: Likewise.
58616         * lib/unistr/u-strstr.h: Likewise.
58617         * lib/unistr/u-strtok.h: Likewise.
58618         * lib/unistr/u16-check.c: Likewise.
58619         * lib/unistr/u16-chr.c: Likewise.
58620         * lib/unistr/u16-cmp.c: Likewise.
58621         * lib/unistr/u16-cpy-alloc.c: Likewise.
58622         * lib/unistr/u16-cpy.c: Likewise.
58623         * lib/unistr/u16-endswith.c: Likewise.
58624         * lib/unistr/u16-mblen.c: Likewise.
58625         * lib/unistr/u16-mbsnlen.c: Likewise.
58626         * lib/unistr/u16-mbtouc-aux.c: Likewise.
58627         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
58628         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
58629         * lib/unistr/u16-mbtouc.c: Likewise.
58630         * lib/unistr/u16-mbtoucr.c: Likewise.
58631         * lib/unistr/u16-move.c: Likewise.
58632         * lib/unistr/u16-next.c: Likewise.
58633         * lib/unistr/u16-prev.c: Likewise.
58634         * lib/unistr/u16-set.c: Likewise.
58635         * lib/unistr/u16-startswith.c: Likewise.
58636         * lib/unistr/u16-stpcpy.c: Likewise.
58637         * lib/unistr/u16-stpncpy.c: Likewise.
58638         * lib/unistr/u16-strcat.c: Likewise.
58639         * lib/unistr/u16-strchr.c: Likewise.
58640         * lib/unistr/u16-strcmp.c: Likewise.
58641         * lib/unistr/u16-strcpy.c: Likewise.
58642         * lib/unistr/u16-strcspn.c: Likewise.
58643         * lib/unistr/u16-strdup.c: Likewise.
58644         * lib/unistr/u16-strlen.c: Likewise.
58645         * lib/unistr/u16-strmblen.c: Likewise.
58646         * lib/unistr/u16-strmbtouc.c: Likewise.
58647         * lib/unistr/u16-strncat.c: Likewise.
58648         * lib/unistr/u16-strncmp.c: Likewise.
58649         * lib/unistr/u16-strncpy.c: Likewise.
58650         * lib/unistr/u16-strnlen.c: Likewise.
58651         * lib/unistr/u16-strpbrk.c: Likewise.
58652         * lib/unistr/u16-strrchr.c: Likewise.
58653         * lib/unistr/u16-strspn.c: Likewise.
58654         * lib/unistr/u16-strstr.c: Likewise.
58655         * lib/unistr/u16-strtok.c: Likewise.
58656         * lib/unistr/u16-to-u32.c: Likewise.
58657         * lib/unistr/u16-to-u8.c: Likewise.
58658         * lib/unistr/u16-uctomb-aux.c: Likewise.
58659         * lib/unistr/u16-uctomb.c: Likewise.
58660         * lib/unistr/u32-check.c: Likewise.
58661         * lib/unistr/u32-chr.c: Likewise.
58662         * lib/unistr/u32-cmp.c: Likewise.
58663         * lib/unistr/u32-cpy-alloc.c: Likewise.
58664         * lib/unistr/u32-cpy.c: Likewise.
58665         * lib/unistr/u32-endswith.c: Likewise.
58666         * lib/unistr/u32-mblen.c: Likewise.
58667         * lib/unistr/u32-mbsnlen.c: Likewise.
58668         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
58669         * lib/unistr/u32-mbtouc.c: Likewise.
58670         * lib/unistr/u32-mbtoucr.c: Likewise.
58671         * lib/unistr/u32-move.c: Likewise.
58672         * lib/unistr/u32-next.c: Likewise.
58673         * lib/unistr/u32-prev.c: Likewise.
58674         * lib/unistr/u32-set.c: Likewise.
58675         * lib/unistr/u32-startswith.c: Likewise.
58676         * lib/unistr/u32-stpcpy.c: Likewise.
58677         * lib/unistr/u32-stpncpy.c: Likewise.
58678         * lib/unistr/u32-strcat.c: Likewise.
58679         * lib/unistr/u32-strchr.c: Likewise.
58680         * lib/unistr/u32-strcmp.c: Likewise.
58681         * lib/unistr/u32-strcpy.c: Likewise.
58682         * lib/unistr/u32-strcspn.c: Likewise.
58683         * lib/unistr/u32-strdup.c: Likewise.
58684         * lib/unistr/u32-strlen.c: Likewise.
58685         * lib/unistr/u32-strmblen.c: Likewise.
58686         * lib/unistr/u32-strmbtouc.c: Likewise.
58687         * lib/unistr/u32-strncat.c: Likewise.
58688         * lib/unistr/u32-strncmp.c: Likewise.
58689         * lib/unistr/u32-strncpy.c: Likewise.
58690         * lib/unistr/u32-strnlen.c: Likewise.
58691         * lib/unistr/u32-strpbrk.c: Likewise.
58692         * lib/unistr/u32-strrchr.c: Likewise.
58693         * lib/unistr/u32-strspn.c: Likewise.
58694         * lib/unistr/u32-strstr.c: Likewise.
58695         * lib/unistr/u32-strtok.c: Likewise.
58696         * lib/unistr/u32-to-u16.c: Likewise.
58697         * lib/unistr/u32-to-u8.c: Likewise.
58698         * lib/unistr/u32-uctomb.c: Likewise.
58699         * lib/unistr/u8-check.c: Likewise.
58700         * lib/unistr/u8-chr.c: Likewise.
58701         * lib/unistr/u8-cmp.c: Likewise.
58702         * lib/unistr/u8-cpy-alloc.c: Likewise.
58703         * lib/unistr/u8-cpy.c: Likewise.
58704         * lib/unistr/u8-endswith.c: Likewise.
58705         * lib/unistr/u8-mblen.c: Likewise.
58706         * lib/unistr/u8-mbsnlen.c: Likewise.
58707         * lib/unistr/u8-mbtouc-aux.c: Likewise.
58708         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
58709         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
58710         * lib/unistr/u8-mbtouc.c: Likewise.
58711         * lib/unistr/u8-mbtoucr.c: Likewise.
58712         * lib/unistr/u8-move.c: Likewise.
58713         * lib/unistr/u8-next.c: Likewise.
58714         * lib/unistr/u8-prev.c: Likewise.
58715         * lib/unistr/u8-set.c: Likewise.
58716         * lib/unistr/u8-startswith.c: Likewise.
58717         * lib/unistr/u8-stpcpy.c: Likewise.
58718         * lib/unistr/u8-stpncpy.c: Likewise.
58719         * lib/unistr/u8-strcat.c: Likewise.
58720         * lib/unistr/u8-strchr.c: Likewise.
58721         * lib/unistr/u8-strcmp.c: Likewise.
58722         * lib/unistr/u8-strcpy.c: Likewise.
58723         * lib/unistr/u8-strcspn.c: Likewise.
58724         * lib/unistr/u8-strdup.c: Likewise.
58725         * lib/unistr/u8-strlen.c: Likewise.
58726         * lib/unistr/u8-strmblen.c: Likewise.
58727         * lib/unistr/u8-strmbtouc.c: Likewise.
58728         * lib/unistr/u8-strncat.c: Likewise.
58729         * lib/unistr/u8-strncmp.c: Likewise.
58730         * lib/unistr/u8-strncpy.c: Likewise.
58731         * lib/unistr/u8-strnlen.c: Likewise.
58732         * lib/unistr/u8-strpbrk.c: Likewise.
58733         * lib/unistr/u8-strrchr.c: Likewise.
58734         * lib/unistr/u8-strspn.c: Likewise.
58735         * lib/unistr/u8-strstr.c: Likewise.
58736         * lib/unistr/u8-strtok.c: Likewise.
58737         * lib/unistr/u8-to-u16.c: Likewise.
58738         * lib/unistr/u8-to-u32.c: Likewise.
58739         * lib/unistr/u8-uctomb-aux.c: Likewise.
58740         * lib/unistr/u8-uctomb.c: Likewise.
58741         * lib/unitypes.h: Likewise.
58742         * lib/uniwidth.h: Likewise.
58743         * lib/uniwidth/cjk.h: Likewise.
58744         * lib/uniwidth/u16-strwidth.c: Likewise.
58745         * lib/uniwidth/u16-width.c: Likewise.
58746         * lib/uniwidth/u32-strwidth.c: Likewise.
58747         * lib/uniwidth/u32-width.c: Likewise.
58748         * lib/uniwidth/u8-strwidth.c: Likewise.
58749         * lib/uniwidth/u8-width.c: Likewise.
58750         * lib/uniwidth/width.c: Likewise.
58751
58752 2007-10-07  Bruno Haible  <bruno@clisp.org>
58753
58754         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
58755         The file is still under LGPL (see modules/inttypes).
58756
58757 2007-10-06  Bruno Haible  <bruno@clisp.org>
58758
58759         * modules/trunc (Dependencies): Add 'extensions'.
58760         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
58761         Reported by Ben Pfaff <blp@gnu.org>.
58762
58763 2007-10-06  Bruno Haible  <bruno@clisp.org>
58764
58765         * modules/freopen-tests: New file.
58766         * tests/test-freopen.c: New file.
58767
58768         * modules/fopen-tests: New file.
58769         * tests/test-fopen.c: New file.
58770
58771         * modules/fopen: New file.
58772         * lib/fopen.c: New file.
58773         * m4/fopen.m4: New file.
58774         * modules/freopen: New file.
58775         * lib/freopen.c: New file.
58776         * m4/freopen.m4: New file.
58777         * lib/stdio.in.h (fopen, freopen): New declarations.
58778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
58779         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58780         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
58781         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
58782         * doc/functions/fopen.texi: Mention the 'fopen' module.
58783         * doc/functions/freopen.texi: Mention the 'freopen' module.
58784
58785 2007-10-06  Bruno Haible  <bruno@clisp.org>
58786
58787         * modules/open-tests: New file.
58788         * tests/test-open.c: New file.
58789
58790         * modules/open: New file.
58791         * lib/open.c: New file.
58792         * m4/open.m4: New file.
58793         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
58794         lib/open.c does.
58795         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
58796         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
58797         macros.
58798         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
58799         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
58800         REPLACE_OPEN.
58801         * doc/functions/open.texi: Mention the 'open' module.
58802
58803 2007-10-04  Bruno Haible  <bruno@clisp.org>
58804
58805         * modules/ceill-tests: New file.
58806         * tests/test-ceill.c: New file.
58807
58808         * modules/ceill: New file.
58809         * lib/ceill.c: Replace entire file.
58810         * m4/ceill.m4: New file.
58811         * lib/math.in.h (ceill): Replace declaration.
58812         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
58813         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
58814         * doc/functions/ceill.texi: Mention the 'ceill' module.
58815         * modules/mathl (Files): Remove lib/ceill.c.
58816         (Depends-on): Add ceill.
58817
58818 2007-10-04  Bruno Haible  <bruno@clisp.org>
58819
58820         * modules/ceilf-tests: New file.
58821         * tests/test-ceilf.c: New file.
58822
58823         * modules/ceilf: New file.
58824         * lib/ceil.c: New file.
58825         * lib/ceilf.c: New file.
58826         * m4/ceilf.m4: New file.
58827         * lib/math.in.h (ceilf): New declaration.
58828         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
58829         HAVE_DECL_CEILF.
58830         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
58831         HAVE_DECL_CEILF.
58832         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
58833
58834 2007-10-04  Bruno Haible  <bruno@clisp.org>
58835
58836         * modules/floorl-tests: New file.
58837         * tests/test-floorl.c: New file.
58838
58839         * modules/floorl: New file.
58840         * lib/floorl.c: Replace entire file.
58841         * m4/floorl.m4: New file.
58842         * lib/math.in.h (floorl): Replace declaration.
58843         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
58844         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
58845         * doc/functions/floorl.texi: Mention the 'floorl' module.
58846         * modules/mathl (Files): Remove lib/floorl.c.
58847         (Depends-on): Add floorl.
58848
58849 2007-10-04  Bruno Haible  <bruno@clisp.org>
58850
58851         * modules/floorf-tests: New file.
58852         * tests/test-floorf.c: New file.
58853
58854         * modules/floorf: New file.
58855         * lib/floor.c: New file.
58856         * lib/floorf.c: New file.
58857         * m4/floorf.m4: New file.
58858         * lib/math.in.h (floorf): New declaration.
58859         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
58860         HAVE_DECL_FLOORF.
58861         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
58862         HAVE_DECL_FLOORF.
58863         * doc/functions/floorf.texi: Mention the 'floorf' module.
58864
58865 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
58866             Bruno Haible  <bruno@clisp.org>
58867
58868         Advertise for the Git server instead of the CVS server.
58869         * doc/gnulib-intro.texi (Steady Development): Mention the Git
58870         repository instead of the CVS one.
58871         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
58872         about all VCS systems generically.
58873         * doc/gnulib.texi (Introduction): Capitalize `Git'.
58874
58875 2007-10-04  Bruno Haible  <bruno@clisp.org>
58876
58877         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
58878         means.
58879         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
58880
58881 2007-10-04  Bruno Haible  <bruno@clisp.org>
58882
58883         * modules/truncl-tests: New file.
58884         * tests/test-truncl.c: New file.
58885
58886         * modules/truncl: New file.
58887         * lib/truncl.c: New file.
58888         * m4/truncl.m4: New file.
58889         * lib/math.in.h (truncl): New declaration.
58890         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
58891         HAVE_DECL_TRUNCL.
58892         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
58893         HAVE_DECL_TRUNCL.
58894         * doc/functions/truncl.texi: Mention the 'truncl' module.
58895
58896 2007-10-04  Bruno Haible  <bruno@clisp.org>
58897
58898         * modules/truncf-tests: New file.
58899         * tests/test-truncf.c: New file.
58900
58901         * modules/truncf: New file.
58902         * lib/trunc.c: Make paramerizable through USE_* macros.
58903         * lib/truncf.c: New file.
58904         * m4/truncf.m4: New file.
58905         * lib/math.in.h (truncf): New declaration.
58906         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
58907         HAVE_DECL_TRUNCF.
58908         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
58909         HAVE_DECL_TRUNCF.
58910         * doc/functions/truncf.texi: Mention the 'truncf' module.
58911
58912 2007-10-03  Bruno Haible  <bruno@clisp.org>
58913
58914         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58915         augmentation also for tests modules.
58916         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
58917         * modules/atexit-tests (Makefile.am): Likewise.
58918         * modules/binary-io-tests (Makefile.am): Likewise.
58919         * modules/c-strcase-tests (Makefile.am): Likewise.
58920         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
58921         * modules/canonicalize-tests (Makefile.am): Likewise.
58922         * modules/closein-tests (Makefile.am): Likewise.
58923         * modules/fprintf-posix-tests (Makefile.am): Likewise.
58924         * modules/freadahead-tests (Makefile.am): Likewise.
58925         * modules/fseek-tests (Makefile.am): Likewise.
58926         * modules/fseeko-tests (Makefile.am): Likewise.
58927         * modules/ftell-tests (Makefile.am): Likewise.
58928         * modules/ftello-tests (Makefile.am): Likewise.
58929         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
58930         * modules/isnanl-tests (Makefile.am): Likewise.
58931         * modules/lseek-tests (Makefile.am): Likewise.
58932         * modules/mbscasecmp-tests (Makefile.am): Likewise.
58933         * modules/mbscasestr-tests (Makefile.am): Likewise.
58934         * modules/mbschr-tests (Makefile.am): Likewise.
58935         * modules/mbscspn-tests (Makefile.am): Likewise.
58936         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
58937         * modules/mbspbrk-tests (Makefile.am): Likewise.
58938         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
58939         * modules/mbsrchr-tests (Makefile.am): Likewise.
58940         * modules/mbsspn-tests (Makefile.am): Likewise.
58941         * modules/mbsstr-tests (Makefile.am): Likewise.
58942         * modules/printf-posix-tests (Makefile.am): Likewise.
58943         * modules/snprintf-posix-tests (Makefile.am): Likewise.
58944         * modules/sprintf-posix-tests (Makefile.am): Likewise.
58945         * modules/tsearch-tests (Makefile.am): Likewise.
58946         * modules/uniname/uniname-tests (Makefile.am): Likewise.
58947         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
58948         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
58949         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
58950         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
58951         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
58952         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
58953         * modules/vprintf-posix-tests (Makefile.am): Likewise.
58954         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
58955         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
58956         * modules/xstrtoimax-tests (Makefile.am): Likewise.
58957         * modules/xstrtol-tests (Makefile.am): Likewise.
58958         * modules/xstrtoumax-tests (Makefile.am): Likewise.
58959         * modules/yesno-tests (Makefile.am): Likewise.
58960
58961 2007-10-03  Bruno Haible  <bruno@clisp.org>
58962
58963         * modules/trunc-tests: New file.
58964         * tests/test-trunc.c: New file.
58965
58966         * modules/trunc: New file.
58967         * lib/trunc.c: New file.
58968         * m4/trunc.m4: New file.
58969         * lib/math.in.h (trunc): New declaration.
58970         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
58971         HAVE_DECL_TRUNC.
58972         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
58973         HAVE_DECL_TRUNC.
58974         * doc/functions/trunc.texi: Mention the 'trunc' module.
58975
58976 2007-10-03  Bruno Haible  <bruno@clisp.org>
58977
58978         * tests/test-fpending.c: New file, mostly copied
58979         from coreutils/lib/t-fpending.c.
58980         * modules/fpending-tests: New file.
58981
58982 2007-10-03  Bruno Haible  <bruno@clisp.org>
58983
58984         Port the stdio extensions to QNX (untested).
58985         * lib/fseterr.c (fseterr): Add support for QNX.
58986         * lib/fbufmode.c (fbufmode): Likewise.
58987         * lib/freadable.c (freadable): Likewise.
58988         * lib/fwritable.c (fwritable): Likewise.
58989         * lib/freading.c (freading): Likewise.
58990         * lib/fwriting.c (fwriting): Likewise.
58991         * lib/freadahead.c (freadahed): Likewise.
58992         * lib/fpurge.c (fpurge): Likewise.
58993         * lib/fseeko.c (rpl_fseeko): Likewise.
58994
58995 2007-10-03  Bruno Haible  <bruno@clisp.org>
58996             Jim Meyering  <jim@meyering.net>
58997             Eric Blake  <ebb9@byu.net>
58998
58999         * doc/relocatable.texi: Use @command instead of @program.
59000
59001 2007-10-02  Jim Meyering  <jim@meyering.net>
59002
59003         Perform one more "_.h" -> ".in.h" substitution.
59004         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
59005         instead of unistd_.h here, too.
59006
59007 2007-10-01  Bruno Haible  <bruno@clisp.org>
59008
59009         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
59010         Needed for the alloca-opt module.
59011
59012 2007-09-30  Bruno Haible  <bruno@clisp.org>
59013
59014         * lib/alloca.in.h: Renamed from lib/alloca_.h.
59015         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
59016         alloca_.h.
59017         * lib/argz.in.h: Renamed from lib/argz_.h.
59018         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
59019         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
59020         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
59021         byteswap_.h.
59022         * lib/dirent.in.h: Renamed from lib/dirent_.h.
59023         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
59024         dirent_.h.
59025         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
59026         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
59027         fcntl_.h.
59028         * lib/float.in.h: Renamed from lib/float_.h.
59029         * modules/float (Files, Makefile.am): Use float.in.h instead of
59030         float_.h.
59031         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
59032         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
59033         fnmatch_.h.
59034         * lib/getopt.in.h: Renamed from lib/getopt_.h.
59035         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
59036         getopt_.h.
59037         * lib/glob.in.h: Renamed from lib/glob_.h.
59038         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
59039         * lib/iconv.in.h: Renamed from lib/iconv_.h.
59040         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
59041         iconv_.h.
59042         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
59043         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
59044         inttypes_.h.
59045         * lib/locale.in.h: Renamed from lib/locale_.h.
59046         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
59047         locale_.h.
59048         * lib/math.in.h: Renamed from lib/math_.h.
59049         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
59050         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
59051         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
59052         of netinet_in_.h. Add dependency.
59053         * lib/poll.in.h: Renamed from lib/poll_.h.
59054         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
59055         * lib/search.in.h: Renamed from lib/search_.h.
59056         * modules/search (Files, Makefile.am): Use search.in.h instead of
59057         search_.h.
59058         * lib/signal.in.h: Renamed from lib/signal_.h.
59059         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
59060         _signal.h.
59061         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
59062         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
59063         stdbool_.h.
59064         * lib/stdint.in.h: Renamed from lib/stdint_.h.
59065         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
59066         stdint_.h.
59067         * lib/stdio.in.h: Renamed from lib/stdio_.h.
59068         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
59069         stdio_.h.
59070         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
59071         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
59072         stdlib_.h.
59073         * lib/string.in.h: Renamed from lib/string_.h.
59074         * modules/string (Files, Makefile.am): Use string.in.h instead of
59075         string_.h.
59076         * doc/gnulib-tool.texi (Initial import): Update.
59077         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
59078         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
59079         of sys_select_.h. Add dependency.
59080         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
59081         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
59082         of sys_socket_.h.
59083         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
59084         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
59085         sys_stat_.h.
59086         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
59087         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
59088         sys_time_.h.
59089         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
59090         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
59091         sysexits_.h.
59092         * lib/time.in.h: Renamed from lib/time_.h.
59093         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
59094         * lib/unistd.in.h: Renamed from lib/unistd_.h.
59095         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
59096         unistd_.h.
59097         * lib/wchar.in.h: Renamed from lib/wchar_.h.
59098         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
59099         wchar_.h.
59100         * lib/wctype.in.h: Renamed from lib/wctype_.h.
59101         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
59102         wctype_.h.
59103         * build-aux/bootstrap (slurp): Update.
59104         * lib/.cppi-disable: Update.
59105
59106 2007-09-30  Bruno Haible  <bruno@clisp.org>
59107
59108         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
59109         Needed on BeOS.
59110
59111 2007-09-30  Bruno Haible  <bruno@clisp.org>
59112
59113         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
59114
59115 2007-09-29  Bruno Haible  <bruno@clisp.org>
59116
59117         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
59118
59119 2007-09-29  Bruno Haible  <bruno@clisp.org>
59120
59121         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
59122         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
59123         * build-aux/install-reloc: Compile also areadlink.c.
59124         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
59125
59126 2007-09-29  Bruno Haible  <bruno@clisp.org>
59127
59128         * gnulib-tool (func_emit_initmacro_done): Indentation.
59129
59130 2007-09-29  Bruno Haible  <bruno@clisp.org>
59131
59132         * README: Add CVS checkout update instructions.
59133         Info from Bob Proulx <bob@proulx.com>.
59134
59135 2007-09-28  Eric Blake  <ebb9@byu.net>
59136
59137         Provide move-if-change.
59138         * build-aux/move-if-change: New file, based on best practice
59139         rather than any canonical upstream location.
59140
59141 2007-09-28  Jim Meyering  <jim@meyering.net>
59142
59143         Fix canonicalize loop-detection corner case.
59144         Do not attempt to stat the symlink values stored via seen_triple.
59145         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
59146         on linux-2.6.18, (but not 2.6.22).
59147         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
59148         triple_compare.  The former compares dev,ino,filename, while the latter
59149         would actually stat dirname(filename) when dev and ino were equal.
59150         * lib/hash-triple.c: Install <string.h>.
59151         (STREQ): Define.
59152         (triple_compare_ino_str): New function.
59153         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
59154
59155 2007-09-28  Eric Blake  <ebb9@byu.net>
59156
59157         Enforce that AC_REPLACE_FUNCS files exist.
59158         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
59159         override check for typos.
59160
59161         Fix test-closein on Solaris 10.
59162         * tests/test-closein.c (main): Don't assume stdin can be inherited
59163         closed on all systems.
59164         * tests/test-closein.sh: Likewise.
59165         Reported by Piotr Tarnowski.
59166
59167 2007-09-28  Jim Meyering  <jim@meyering.net>
59168
59169         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
59170
59171 2007-09-27  Jim Meyering  <jim@meyering.net>
59172
59173         canonicalize: Avoid a false-positive cycle failure.
59174         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
59175         Sort.  Remove cycle-check.
59176         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
59177         not cycle-check.h.
59178         (seen_triple): New function.
59179         (canonicalize_filename_mode): Use it instead of cycle-check.
59180         * tests/test-canonicalize.c: Add a test for this bug.
59181         * tests/test-canonicalize.sh: Set up and run the test.
59182
59183         New module, file-set, from coreutils.
59184         * modules/file-set: Define it.
59185         * lib/file-set.c, lib/file-set.h: Implement.
59186
59187         New module, hash-triple, from coreutils.
59188         * modules/hash-triple: Define it.
59189         * lib/hash-triple.c, lib/hash-triple.h: Implement.
59190
59191 2007-09-25  Eric Blake  <ebb9@byu.net>
59192
59193         Fix strerror on Interix.
59194         * lib/string_.h (strerror): Declare replacement.
59195         * doc/functions/strerror.texi (strerror): Document the Interix
59196         shortcoming.
59197         * modules/string (Makefile.am): Support new hooks.
59198         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
59199         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
59200         gl_FUNC_STRERROR_SEPARATE.
59201         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
59202         * lib/strerror.c (rpl_strerror): Provide replacement.
59203         * modules/strerror (Depends-on): Add string.
59204         (configure.ac): Detect use of module.
59205         * tests/test-strerror.c: New file.
59206         * modules/strerror-tests: New test module.
59207         * modules/argp (Depends-on): Add strerror.
59208         * modules/error (Depends-on): Likewise.
59209         Reported by Martin Koeppe.
59210
59211 2007-09-24  Bruno Haible  <bruno@clisp.org>
59212
59213         * README: Update git instructions.
59214
59215 2007-09-24  Eric Blake  <ebb9@byu.net>
59216
59217         Revert fpending breakage from 2007-09-08.
59218         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
59219         __fpending.c.
59220
59221 2007-09-24  Jim Meyering  <jim@meyering.net>
59222
59223         filenamecat.c: Add a test.
59224         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
59225         showing how the function works when DIR is the empty string.
59226
59227 2007-09-21  Simon Josefsson  <simon@josefsson.org>
59228
59229         * tests/test-canonicalize.sh: Turn on executable bit.
59230
59231 2007-09-19  Eric Blake  <ebb9@byu.net>
59232
59233         * README: Update CVS instructions.
59234
59235 2007-09-18  Bruno Haible  <bruno@clisp.org>
59236
59237         * modules/areadlink: New file.
59238         * lib/areadlink.h (areadlink): New declaration.
59239         * lib/areadlink.c: New file, based on lib/xreadlink.c.
59240
59241 2007-09-17  Jim Meyering  <jim@meyering.net>
59242
59243         * lib/savewd.c (ESTALE) [!defined]: Define.
59244         Reported to be required on Interix by Martin Koeppe.
59245
59246 2007-09-17  Bruno Haible  <bruno@clisp.org>
59247
59248         * gnulib-tool (func_version): Use $version.
59249
59250 2007-09-16  Bruno Haible  <bruno@clisp.org>
59251
59252         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
59253         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
59254         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
59255         Reported by Greg Schafer <gschafer@zip.com.au>.
59256
59257 2007-09-15  Bruno Haible  <bruno@clisp.org>
59258
59259         * gnulib-tool (sed): Try a little harder to make bash understand the
59260         alias.
59261         Reported by Bruce Korb <bruce.korb@gmail.com>.
59262
59263 2007-09-13  Eric Blake  <ebb9@byu.net>
59264
59265         * ChangeLog: Remove conflict markers.
59266
59267 2007-09-13  Simon Josefsson  <simon@josefsson.org>
59268
59269         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
59270         Reported by Bruno Haible <bruno@clisp.org>.
59271
59272 2007-09-12  Bruno Haible  <bruno@clisp.org>
59273
59274         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
59275         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
59276         is not defined.
59277
59278 2007-09-12  Eric Blake  <ebb9@byu.net>
59279
59280         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
59281         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
59282         Autoconf definition.
59283         * modules/euidaccess (Depends-on): Add extensions, for
59284         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
59285         * modules/fnmatch (Depends-on): Likewise.
59286         * modules/getaddrinfo (Depends-on): Likewise.
59287         * modules/getdelim (Depends-on): Likewise.
59288         * modules/getline (Depends-on): Likewise.
59289         * modules/getsubopt (Depends-on): Likewise.
59290         * modules/gettext (Depends-on): Likewise.
59291         * modules/group-member (Depends-on): Likewise.
59292         * modules/mbchar (Depends-on): Likewise.
59293         * modules/memmem (Depends-on): Likewise.
59294         * modules/mempcpy (Depends-on): Likewise.
59295         * modules/memrchr (Depends-on): Likewise.
59296         * modules/pagealign_alloc (Depends-on): Likewise.
59297         * modules/readutmp (Depends-on): Likewise.
59298         * modules/stpcpy (Depends-on): Likewise.
59299         * modules/stpncpy (Depends-on): Likewise.
59300         * modules/strchrnul (Depends-on): Likewise.
59301         * modules/strndup (Depends-on): Likewise.
59302         * modules/strsep (Depends-on): Likewise.
59303         * modules/strverscmp (Depends-on): Likewise.
59304         * modules/vasprintf (Depends-on): Likewise.
59305         * modules/wcwidth (Depends-on): Likewise.
59306         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
59307         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
59308         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
59309         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
59310         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59311         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59312         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
59313         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59314         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
59315         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
59316         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59317         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59318         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59319         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
59320         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
59321         * m4/readutmp.m4 (gl_READUTMP): Likewise.
59322         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59323         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59324         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59325         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59326         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59327         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59328         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59329         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
59330         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
59331         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59332         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
59333         so that lock.m4 can be used in gettext without extensions module.
59334
59335 2007-09-11  Bruno Haible  <bruno@clisp.org>
59336
59337         * m4/isc-posix.m4: Remove file.
59338         Suggested by Eric Blake.
59339
59340 2007-09-11  Eric Blake  <ebb9@byu.net>
59341
59342         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
59343
59344 2007-09-10  Bruno Haible  <bruno@clisp.org>
59345
59346         * posix-modules: Fix typo in error message.
59347         Reported by Matt <mkraai@beckman.com>.
59348
59349 2007-09-09  Bruno Haible  <bruno@clisp.org>
59350
59351         * doc/functions/getdelim.texi: Update list of platforms lacking the
59352         function.
59353         * doc/functions/getline.texi: Likewise.
59354
59355 2007-09-09  Jim Meyering  <jim@meyering.net>
59356
59357         * lib/hash.c (hash_initialize): Detect calloc failure.
59358         Reported by Bruno Haible.
59359
59360 2007-09-09  Bruno Haible  <bruno@clisp.org>
59361
59362         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
59363         malloc or realloc fails.
59364
59365 2007-09-09  Bruno Haible  <bruno@clisp.org>
59366
59367         * modules/getcwd (Depends-on): Add malloc-posix.
59368         * modules/glob (Depends-on): Likewise.
59369         * modules/putenv (Depends-on): Likewise.
59370         * modules/strdup (Depends-on): Likewise.
59371         * modules/getdelim (Depends-on): Add realloc-posix.
59372         * modules/read-file (Depends-on): Likewise.
59373
59374 2007-09-09  Bruno Haible  <bruno@clisp.org>
59375
59376         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
59377         (gl_FUNC_MALLOC_POSIX): Require it.
59378         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
59379         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
59380         * modules/realloc (Files): Add m4/malloc.m4.
59381         * modules/calloc (Files): Likewise.
59382
59383 2007-09-09  Bruno Haible  <bruno@clisp.org>
59384
59385         * modules/malloc-posix: New file.
59386         * modules/malloc (Depends-on): Add malloc-posix.
59387         * lib/malloc.c: Include errno.h.
59388         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
59389         and a POSIX-compatible malloc into a single function. Set ENOMEM
59390         when returning NULL.
59391         * m4/malloc.m4: New file.
59392         * doc/functions/malloc.texi: Mention the malloc-posix module.
59393         * lib/stdlib_.h (malloc): New declaration.
59394         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59395         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
59396         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
59397         and HAVE_MALLOC_POSIX.
59398
59399 2007-09-09  Bruno Haible  <bruno@clisp.org>
59400
59401         * modules/realloc-posix: New file.
59402         * modules/realloc (Depends-on): Add realloc-posix.
59403         * lib/realloc.c: Include errno.h.
59404         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
59405         and a POSIX-compatible realloc into a single function. Set ENOMEM
59406         when returning NULL.
59407         * m4/realloc.m4: New file.
59408         * doc/functions/realloc.texi: Mention the realloc-posix module.
59409         * lib/stdlib_.h (realloc): New declaration.
59410         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59411         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
59412         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
59413         and HAVE_REALLOC_POSIX.
59414
59415 2007-09-09  Bruno Haible  <bruno@clisp.org>
59416
59417         * modules/calloc-posix: New file.
59418         * modules/calloc (Depends-on): Add calloc-posix.
59419         * lib/calloc.c: Include errno.h.
59420         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
59421         and a POSIX-compatible calloc into a single function. Set ENOMEM
59422         when returning NULL.
59423         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
59424         * doc/functions/calloc.texi: Mention the calloc-posix module.
59425         * lib/stdlib_.h (calloc): New declaration.
59426         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
59427         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
59428         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
59429         and HAVE_CALLOC_POSIX.
59430
59431 2007-09-09  Bruno Haible  <bruno@clisp.org>
59432
59433         Allow for modules to show an arbitrary notice.
59434         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
59435         * gnulib-tool: New option --extract-notice.
59436         (func_usage): Document it.
59437         (sed_extract_prog): Update.
59438         (func_get_notice): New function.
59439         (func_modules_notice): New function.
59440         (func_import, func_create_testdir): Invoke it.
59441         Suggested by Jim Meyering.
59442
59443 2007-09-09  Bruno Haible  <bruno@clisp.org>
59444
59445         * gnulib-tool: New options --verbose, --quiet.
59446         (func_usage): Document them.
59447         (verbose): New variable.
59448         (func_execute_command): New function.
59449         (func_import): Don't show the module list and the file list if
59450         $verbose < 0.
59451         (func_create_testdir): Likewise. Use func_execute_command.
59452         (func_create_megatestdir): Use func_execute_command.
59453
59454 2007-09-08  Bruno Haible  <bruno@clisp.org>
59455
59456         * gnulib-tool (func_import): Prefer rsync over wget when available,
59457         for fetching the PO files.
59458
59459 2007-09-08  Bruno Haible  <bruno@clisp.org>
59460
59461         * posix-modules: New file. Portions copied from gnulib-tool.
59462         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
59463
59464 2007-09-08  Jim Meyering  <jim@meyering.net>
59465
59466         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
59467         * lib/fpending.h: Rename from __fpending.h.
59468         * lib/fpending.c: Rename from __fpending.c.
59469         Include "fpending.h", not "__fpending.h".
59470         * lib/__fpending.h, lib/__fpending.c: Remove files.
59471         * modules/fpending (Files): Reflect new file names.
59472         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
59473
59474 2007-09-08  Bruno Haible  <bruno@clisp.org>
59475
59476         * m4/inttypes-h.m4: Remove stub file.
59477
59478 2007-09-07  Simon Josefsson  <simon@josefsson.org>
59479
59480         * doc/headers/stdint.texi: Discuss #include_next issue.
59481
59482 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
59483
59484         * build-aux/bootstrap: Remove obsolete comment about wget --help.
59485
59486 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59487
59488         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
59489         in variable name.
59490
59491 2007-09-03  Jim Meyering  <jim@meyering.net>
59492
59493         New module: git-version-gen.
59494         * modules/git-version-gen: New file.
59495
59496         Import changes from coreutils for bootstrap script.
59497
59498         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
59499
59500         bootstrap: uses rsync to download the .po files
59501         * build-aux/bootstrap (po_download_command_format): New global.
59502         (download_po_files): Use rsync.
59503         (update_po_files): Don't remove .po files after download,
59504         so future rsync runs can take advantage of the copies.
59505
59506         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
59507
59508         Solve the unnecessary-.po-file-regeneration problem once and for all.
59509         * build-aux/bootstrap (download_po_files): New function, renamed from
59510         get_translations.  Now, downloads, but doesn't update LINGUAS.
59511         (update_po_files): New function.
59512
59513         bootstrap: Ignore more.
59514         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
59515         uniwidth to e.g., lib/.gitignore.
59516         (slurp): Handle the sys_stat_.h -> sys mapping, too.
59517
59518         * build-aux/bootstrap: New setting: vc_ignore.
59519         (insert_sorted_if_absent): Create $file if absent.
59520         Adapt to new, possibly empty, list: $vc_ignore.
59521
59522         bootstrap: generate more ignorable names
59523         * build-aux/bootstrap (slurp): When generating ignorable names,
59524         also map .sin to .sed, .gperf to .c, and .y to .c.
59525
59526 2007-09-03  Jim Meyering  <jim@meyering.net>
59527
59528         * build-aux/git-version-gen: New file, from coreutils.  For details, see
59529         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
59530
59531 2007-09-02  Bruno Haible  <bruno@clisp.org>
59532
59533         Fix mis-recognition of 'mcs' on QNX 6.
59534         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
59535         output contains the string "Mono".
59536         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
59537         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
59538
59539 2007-09-01  Bruno Haible  <bruno@clisp.org>
59540
59541         Fix collision between uniwidth/* and linebreak modules.
59542         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
59543         u32_width): Remove declarations.
59544         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
59545         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
59546         streq3, streq2, streq1, streq0): Remove functions.
59547         (STREQ): Remove macro.
59548         (is_cjk_encoding): Remove function.
59549         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
59550         (uc_width, u8_width, u16_width, u32_width): Remove functions.
59551         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
59552         * NEWS: Document the change.
59553
59554 2007-09-01  Bruno Haible  <bruno@clisp.org>
59555
59556         * lib/streq.h: Add double-inclusion guard.
59557
59558 2007-09-01  Karl Berry  <karl@gnu.org>
59559
59560         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
59561
59562 2007-08-28  Jim Meyering  <jim@meyering.net>
59563
59564         Rename mreadlink_with_size to areadlink_with_size.
59565         * NEWS: Document the change.
59566         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
59567         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
59568         * lib/mreadlink.h: Rename this to...
59569         * lib/areadlink.h: ...this.
59570         * modules/mreadlink-with-size: Rename this to...
59571         * modules/areadlink-with-size: ...this.
59572         * lib/canonicalize.c: Reflect the renaming.
59573         * modules/canonicalize: Likewise.
59574
59575 2007-08-26  Bruno Haible  <bruno@clisp.org>
59576
59577         * gnulib-tool (func_import): When deciding which files to remove,
59578         consider also dangling symbolic links.
59579         Reported by Eric Blake.
59580
59581 2007-08-26  Bruno Haible  <bruno@clisp.org>
59582
59583         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
59584
59585 2007-08-23  Simon Josefsson  <simon@josefsson.org>
59586
59587         * lib/readline.c: Don't include getline.h, the prototype is now
59588         found in stdio.h.
59589
59590 2007-08-23  Jim Meyering  <jim@meyering.net>
59591
59592         Getdelim touchup.
59593         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
59594         around the funlockfile call, since funlockfile never sets errno.
59595         Don't set errno upon failed realloc.
59596
59597 2007-08-22  Eric Blake  <ebb9@byu.net>
59598
59599         Getline touchups.
59600         * lib/getdelim.c (getdelim): Revert regression that required *n to
59601         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
59602         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
59603         getdelim, rather than whether implementation is missing.
59604         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
59605         * lib/stdio_.h (getline): Also declare if replacement is
59606         required.
59607         * doc/functions/getdelim.texi: New file.
59608         * doc/functions/getline.texi: Likewise.
59609         * doc/gnulib.texi (Function Substitutes): Add new files.
59610         Reported by Bruno Haible.
59611
59612 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
59613
59614         * users.txt: Add Guile.
59615
59616 2007-08-22  Eric Blake  <ebb9@byu.net>
59617
59618         * tests/test-getdelim.c (main): Use remove, not unlink.
59619         * tests/test-getline.c (main): Likewise.
59620
59621         Move getline and getdelim into stdio.h, per POSIX 200x.
59622         * modules/getline (Files): Remove getline.h.
59623         (Depends-on): Add stdio.
59624         (configure.ac): Add module indicator.
59625         * modules/getdelim (Files): Remove getdelim.h.
59626         (Depends-on): Add stdio.
59627         (configure.ac): Add module indicator.
59628         * modules/stdio (Makefile.am): Work with new indicators.
59629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
59630         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
59631         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59632         * lib/getdelim.h: Delete.
59633         * lib/getline.h: Delete.
59634         * lib/stdio_.h (getdelim, getline): Declare.
59635         * modules/getdelim-tests: New module.
59636         * modules/getline-tests: Likewise.
59637         * tests/test-getdelim.c: New file.
59638         * tests/test-getline.c: Likewise.
59639         * NEWS: Document the change.
59640         * lib/getline.c: Update choice of header.
59641         * lib/csharpcomp.c: Likewise.
59642         * lib/getpass.c: Likewise.
59643         * lib/javacomp.c: Likewise.
59644         * lib/javaversion.c: Likewise.
59645         * lib/yesno.c: Likewise.
59646         * lib/getdelim.c: Likewise.
59647         (getdelim): Set errno on failure, and avoid memory leak.
59648
59649 2007-08-19  Bruno Haible  <bruno@clisp.org>
59650
59651         * modules/closein (Depends-on): Add freadahead.
59652         * lib/closein.c: Include freadahead.h.
59653         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
59654         is zero.
59655
59656 2007-08-19  Bruno Haible  <bruno@clisp.org>
59657
59658         * modules/freadahead-tests: New file.
59659         * tests/test-freadahead.sh: New file.
59660         * tests/test-freadahead.c: New file.
59661
59662         * modules/freadahead: New file.
59663         * lib/freadahead.h: New file.
59664         * lib/freadahead.c: New file.
59665         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
59666         fbufmode, fpurge, freadable, fwritable.
59667
59668 2007-08-19  Eric Blake  <ebb9@byu.net>
59669
59670         Test yesno in combination with closein.
59671         * lib/yesno.c (yesno): Document use of stdin.
59672         * modules/yesno-tests (Files): New module.
59673         * tests/test-yesno.c (main): New file.
59674         * tests/test-yesno.sh: Likewise.
59675
59676 2007-08-19  Bruno Haible  <bruno@clisp.org>
59677
59678         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
59679         * lib/fseeko.c (rpl_fseeko): Likewise.
59680         * lib/fseterr.c (fseterr): Likewise.
59681
59682 2007-08-19  Bruno Haible  <bruno@clisp.org>
59683
59684         * tests/test-lseek.c (main): Disable a test for BeOS.
59685         * doc/functions/lseek.texi: Document the BeOS bug.
59686
59687 2007-08-19  Bruno Haible  <bruno@clisp.org>
59688             Eric Blake  <ebb9@byu.net>
59689
59690         * lib/lseek.c: Include <sys/stat.h>.
59691         (rpl_lseek): Add workaround code also for Unix platforms.
59692         Needed for BeOS.
59693         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
59694         * doc/functions/lseek.texi: Document BeOS definiency.
59695
59696 2007-08-18  Bruno Haible  <bruno@clisp.org>
59697
59698         * modules/fstrcmp-tests: New file.
59699         * tests/test-fstrcmp.c: New file.
59700
59701 2007-08-18  Bruno Haible  <bruno@clisp.org>
59702
59703         * modules/fstrcmp: New file, from GNU gettext with modifications.
59704         * lib/fstrcmp.h: New file, from GNU gettext.
59705         * lib/fstrcmp.c: New file, from GNU gettext.
59706         * MODULES.html.sh (String handling): Add fstrcmp.
59707
59708 2007-08-18  Bruno Haible  <bruno@clisp.org>
59709
59710         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
59711         'bool'.
59712         (diag, compareseq): Remove const from the ctxt argument.
59713         (USE_HEURISTIC): Undefine at the end.
59714
59715 2007-08-18  Jim Meyering  <jim@meyering.net>
59716
59717         New file: lib/idcache.h
59718         * NEWS: Mention the addition.
59719         * modules/idcache (Files): Add lib/idcache.h
59720         * lib/idcache.c: Include "idcache.h".
59721         Don't include <sys/types.h>.
59722         Add a FIXME comment.
59723         Move file-scoped "static" declarations to the top.
59724         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
59725
59726 2007-08-17  Bruno Haible  <bruno@clisp.org>
59727         and Paul Eggert  <eggert@cs.ucla.edu>
59728
59729         * MODULES.html.sh: Add diffseq.
59730         * modules/diffseq: New file.
59731         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
59732         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
59733
59734 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59735
59736         Import changes from coreutils for bootstrap script.
59737
59738         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
59739
59740         * build-aux/bootstrap (slurp): Work even in environments where
59741         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
59742         current code does not slurp files whose names start with ".", and
59743         this looks like it might be a troublesome area.
59744
59745         2007-07-11  Jim Meyering  <jim@meyering.net>
59746
59747         If there's a GPL vN copyright comment, require that N == 3.
59748
59749         2007-07-08  Jim Meyering  <jim@meyering.net>
59750
59751         Run the coreutils-specific code only if tests/Makefile.am.in exists.
59752         * build-aux/bootstrap (mam_template): Move definition out of loop.
59753
59754         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
59755
59756         * build-aux/bootstrap (symlink_to_dir): Rename function from
59757         symlink_to_gnulib.  Add a directory parameter.  Update all
59758         callers.
59759         (cp_mark_as_generated): Also check for -- and link to -- files in
59760         gl/.
59761
59762         2007-07-08  Jim Meyering  <jim@meyering.net>
59763
59764         Adapt to deeper hierarchy in gnulib.
59765         * build-aux/bootstrap (symlink_to_dir): If the destination
59766         directory doesn't exist, create it. This is required at least for
59767         "lib/uniwidth/cjk.h".
59768
59769         2007-05-15  Jim Meyering  <jim@meyering.net>
59770
59771         * build-aux/bootstrap: Now that generated Makefile.am files
59772         are no longer under version control, they must be created at
59773         bootstrap time.
59774
59775 2007-08-14  Ben Pfaff  <blp@gnu.org>
59776
59777         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
59778
59779 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59780
59781         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
59782         given the changes below.
59783         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
59784         even on hosts that have padding bits beyond the supported 64.
59785
59786 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59787
59788         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
59789         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
59790         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
59791         depends on it.
59792         (xstrtol_error): Remove.
59793         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
59794         but with a different signature.
59795         (ATTRIBUTE_NORETURN, __attribute__): New macros.
59796         * lib/xstrtol-error.c: Include exitfail.h.
59797         (xstrtol_fatal): New function, with a different signature from the
59798         old xstrtol_error, so that the caller need not worry about passing
59799         in an exit status, or about storage management of the option argument.
59800         (xstrtol_error): Now a static function.  Redo signature to
59801         implement xstrtol_fatal.  Output the correct number of hyphens in
59802         front of the option so that the caller need not worry about
59803         storage management.
59804         (N_): New macro.
59805         (_): Remove; not used now.
59806         * modules/xstrtol: Depend on getopt.
59807         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
59808         of old STRTOL_FATAL_ERROR macro.
59809         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
59810         of test program.
59811         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
59812         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
59813
59814 2007-08-08  Eric Blake  <ebb9@byu.net>
59815
59816         * lib/xstrtol-error.c: Add missing include.
59817
59818         Move xstrtol messages into gnulib domain, when --pobase is used.
59819         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
59820         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
59821         * modules/xstrtol (Files): Distribute new file.
59822         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
59823         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
59824         * tests/test-xstrtol.c: ...into new file.
59825         * tests/test-xstrtoul.c: Also test xstrtoul.
59826         * tests/test-xstrtoimax.c: Also test xstrtoimax.
59827         * tests/test-xstrtoumax.c: Also test xstrtoumax.
59828         * tests/test-xstrtol.sh: Drive the tests.
59829         * tests/test-xstrtoimax.sh: Likewise.
59830         * tests/test-xstrtoumax.sh: Likewise.
59831         * modules/xstrtol-tests: New module.
59832         * modules/xstrtoimax-tests: Likewise.
59833         * modules/xstrtoumax-tests: Likewise.
59834
59835 2007-08-08  Jim Meyering  <jim@meyering.net>
59836
59837         New function: mfile_name_concat.
59838         * lib/filenamecat.c (mfile_name_concat): New function, just like
59839         file_name_concat, but return NULL upon failure rather than exiting
59840         with a diagnostic.
59841         * lib/filenamecat.h: Declare it.
59842
59843 2007-08-07  Bruno Haible  <bruno@clisp.org>
59844
59845         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
59846         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
59847         warning from gcc.
59848         Reported by Eric Blake.
59849
59850 2007-08-07  Simon Josefsson  <simon@josefsson.org>
59851
59852         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
59853         * modules/crypto/arcfour (License): Likewise.
59854         * modules/crypto/des-tests (License): Likewise.
59855         * modules/crypto/gc-arctwo-tests (License): Likewise.
59856         * modules/crypto/gc-des-tests (License): Likewise.
59857         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
59858         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
59859         * modules/crypto/gc-md2-tests (License): Likewise.
59860         * modules/crypto/gc-md4-tests (License): Likewise.
59861         * modules/crypto/gc-md5-tests (License): Likewise.
59862         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
59863         * modules/crypto/gc-rijndael-tests (License): Likewise.
59864         * modules/crypto/gc-sha1-tests (License): Likewise.
59865         * modules/crypto/gc-tests (License): Likewise.
59866         * modules/crypto/hmac-md5 (License): Likewise.
59867         * modules/crypto/hmac-sha1 (License): Likewise.
59868         * modules/crypto/md2-tests (License): Likewise.
59869         * modules/crypto/md4-tests (License): Likewise.
59870         * modules/crypto/md5 (License): Likewise.
59871         * modules/crypto/rijndael (License): Likewise.
59872         * modules/crypto/sha1 (License): Likewise.
59873         * modules/memxor (License): Likewise.
59874
59875 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59876         and Bruno Haible  <bruno@clisp.org>
59877
59878         * NEWS: Describe interface changes to human, xstrtol.
59879         * lib/human.h: Include <xstrtol.h>.
59880         (human_options): Return enum strtol_error, not int.  Remove
59881         bool arg; take int * instead.
59882         * lib/human.c: Don't include "gettext.h".
59883         (_): Remove; no longer used.
59884         Don't include <xstrtol.h>, since human.h does it.
59885         (human_options): Adjust to abovementioned interface changes.
59886         Do not report error to stderr; that's now the caller's
59887         responsibility.
59888         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
59889         interface change.
59890         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
59891         Str, Argument_type_string.  All uses changed.  Put " argument"
59892         in diagnostics to make them clearer.  Change wording of suffix
59893         message for clarity.
59894         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
59895         Argument_type_string.
59896         (STRTOL_FATAL_WARN): Remove; no longer used.
59897         * modules/human (Depends-on): Remove gettext-h.
59898
59899 2007-08-06  Simon Josefsson  <simon@josefsson.org>
59900
59901         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
59902
59903 2007-07-31  Bruno Haible  <bruno@clisp.org>
59904
59905         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
59906         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
59907         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
59908
59909 2007-07-31  Bruno Haible  <bruno@clisp.org>
59910
59911         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
59912         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
59913
59914 2007-07-30  Bruno Haible  <bruno@clisp.org>
59915
59916         * modules/base64 (License): Use the synonymous term "LGPLv2+".
59917         * modules/c-ctype (License): Likewise.
59918         * modules/c-strcase (License): Likewise.
59919         * modules/check-version (License): Likewise.
59920         * modules/iconv (License): Likewise.
59921         * modules/iconv_open (License): Likewise.
59922         * modules/read-file (License): Likewise.
59923         * modules/striconv (License): Likewise.
59924         * modules/strverscmp (License): Likewise.
59925         * modules/vasprintf (License): Likewise.
59926         * modules/crypto/des (License): Likewise.
59927         * modules/crypto/gc (License): Likewise.
59928         * modules/crypto/gc-arcfour (License): Likewise.
59929         * modules/crypto/gc-arctwo (License): Likewise.
59930         * modules/crypto/gc-des (License): Likewise.
59931         * modules/crypto/gc-hmac-md5 (License): Likewise.
59932         * modules/crypto/gc-hmac-sha1 (License): Likewise.
59933         * modules/crypto/gc-md2 (License): Likewise.
59934         * modules/crypto/gc-md4 (License): Likewise.
59935         * modules/crypto/gc-md5 (License): Likewise.
59936         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
59937         * modules/crypto/gc-random (License): Likewise.
59938         * modules/crypto/gc-rijndael (License): Likewise.
59939         * modules/crypto/gc-sha1 (License): Likewise.
59940         * modules/crypto/md2 (License): Likewise.
59941         * modules/crypto/md4 (License): Likewise.
59942
59943 2007-07-30  Jim Meyering  <jim@meyering.net>
59944
59945         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
59946         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
59947         it has valid stat data.  This bug would cause du not to count the
59948         sizes of inaccessible directories.
59949         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
59950         in <http://bugzilla.redhat.com/250077>.
59951
59952 2007-07-25  Peter O'Gorman  <peter@pogma.com>
59953             Bruno Haible  <bruno@clisp.org>
59954
59955         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
59956         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
59957         #include_next, gives a diagnostic about it, but reports no error in
59958         the exit code.
59959         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
59960
59961 2007-07-24  Ben Pfaff  <blp@gnu.org>
59962
59963         Improve name: "count-one-bits" is better than "popcount".
59964         * MODULES.html.sh: Update name.
59965         * lib/popcount.h: Renamed lib/count-one-bits.h.
59966         (popcount): Renamed count_one_bits.
59967         (popcountl): Renamed count_one_bits_l.
59968         (popcountll): Renamed count_one_bits_ll.
59969         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
59970         * modules/popcount: Renamed module/count-one-bits.
59971         * modules/popcount-tests: Renamed module/count-one-bits-tests.
59972         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
59973
59974 2007-07-23  Ben Pfaff  <blp@gnu.org>
59975
59976         * lib/popcount.h (popcount32): Reduce size of constants, to allow
59977         better code generation, and add U to large constants to avoid
59978         warnings, in non-GCC case.
59979         Suggested by Bruno Haible.
59980
59981 2007-07-23  Ben Pfaff  <blp@gnu.org>
59982
59983         * lib/popcount.h: Use verify_true instead of if...abort.
59984         * modules/popcount: Depend on verify module.
59985         Suggested by Jim Meyering.
59986
59987 2007-07-23  Bruno Haible  <bruno@clisp.org>
59988
59989         * gnulib-tool (func_import): Create a .cvsignore file also when the
59990         directory is not yet in CVS but the toplevel directory is. When
59991         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
59992         Reported by Karl Berry.
59993
59994 2007-07-22  Ben Pfaff  <blp@gnu.org>
59995
59996         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
59997         case.
59998         Suggested by Eric Blake.
59999
60000 2007-07-22  Ben Pfaff  <blp@gnu.org>
60001
60002         New module: popcount.
60003         * MODULES.html.sh: Add popcount.
60004         * modules/popcount: New file.
60005         * modules/popcount-tests: New file.
60006         * tests/test-popcount.c: New file.
60007         * lib/popcount.h: New file.
60008         * m4/popcount.m4: New file.
60009
60010 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60011
60012         * build-aux/announce-gen: Update to GPLv3.
60013
60014         * build-aux/config.guess: Update from config.
60015
60016 2007-07-21  Bruno Haible  <bruno@clisp.org>
60017
60018         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
60019         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
60020
60021 2007-07-20  Jim Meyering  <jim@meyering.net>
60022
60023         * check-module: Diagnose a self-dependency.
60024
60025 2007-07-19  Bruno Haible  <bruno@clisp.org>
60026
60027         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
60028         empty.
60029         Reported by Eric Blake.
60030
60031 2007-07-18  Bruno Haible  <bruno@clisp.org>
60032
60033         * gnulib-tool: New options --po-base, --po-domain.
60034         (func_usage): Document them.
60035         (pobase, po_domain): New variables.
60036         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
60037         DEFAULT_TEXT_DOMAIN.
60038         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
60039         (func_import): Consider pobase and po_domain. Create a po/ directory.
60040         (func_create_testdir): Set pobase and po_domain to empty.
60041         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
60042         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
60043
60044 2007-07-18  Bruno Haible  <bruno@clisp.org>
60045
60046         * gnulib-tool (func_get_automake_snippet): Synthesize also an
60047         EXTRA_DIST augmentation for files in build-aux/.
60048
60049 2007-07-16  Bruno Haible  <bruno@clisp.org>
60050
60051         * modules/lseek (License): Use the synonymous term "LGPLv2+".
60052         * modules/getdelim (License): Likewise.
60053
60054 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60055
60056         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
60057         * modules/d-type (License): Likewise.
60058         * modules/extensions (License): Likewise.
60059         * modules/fnmatch (License): Likewise.
60060         * modules/fseeko (License): Likewise.
60061         * modules/getaddrinfo (License): Likewise.
60062         * modules/getline (License): Likewise.
60063         * modules/getlogin_r (License): Likewise.
60064         * modules/getpass (License): Likewise.
60065         * modules/gettimeofday (License): Likewise.
60066         * modules/glob (License): Likewise.
60067         * modules/inet_ntop (License): Likewise.
60068         * modules/malloc (License): Likewise.
60069         * modules/malloca (License): Likewise.
60070         * modules/memmem (License): Likewise.
60071         * modules/mempcpy (License): Likewise.
60072         * modules/memset (License): Likewise.
60073         * modules/minmax (License): Likewise.
60074         * modules/mktime (License): Likewise.
60075         * modules/netinet_in (License): Likewise.
60076         * modules/pathmax (License): Likewise.
60077         * modules/poll (License): Likewise.
60078         * modules/regex (License): Likewise.
60079         * modules/snprintf (License): Likewise.
60080         * modules/stdbool (License): Likewise.
60081         * modules/stdint (License): Likewise.
60082         * modules/stdio (License): Likewise.
60083         * modules/strcase (License): Likewise.
60084         * modules/strcasestr (License): Likewise.
60085         * modules/strdup (License): Likewise.
60086         * modules/string (License): Likewise.
60087         * modules/strndup (License): Likewise.
60088         * modules/strnlen (License): Likewise.
60089         * modules/strpbrk (License): Likewise.
60090         * modules/strptime (License): Likewise.
60091         * modules/strsep (License): Likewise.
60092         * modules/sys_select (License): Likewise.
60093         * modules/sys_socket (License): Likewise.
60094         * modules/sys_stat (License): Likewise.
60095         * modules/sys_time (License): Likewise.
60096         * modules/time (License): Likewise.
60097         * modules/time_r (License): Likewise.
60098         * modules/timegm (License): Likewise.
60099         * modules/unistd (License): Likewise.
60100         * modules/vsnprintf (License): Likewise.
60101         * modules/wctype (License): Likewise.
60102
60103 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60104
60105         * modules/argz (License): LGPLv2+.
60106
60107 2007-07-15  Karl Berry  <karl@gnu.org>
60108
60109         * doc/gnulib.texi: revise node structure per new fdl.texi.
60110
60111 2007-07-14  Bruno Haible  <bruno@clisp.org>
60112
60113         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
60114         the output file.
60115         * lib/uniname/uninames.h: Regenerated.
60116
60117 2007-07-14  Karl Berry  <karl@gnu.org>
60118
60119         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
60120         omitting sectioning and index commands.
60121
60122 2007-07-13  Bruno Haible  <bruno@clisp.org>
60123
60124         New gnulib-tool option --more-symlinks.
60125         * gnulib-tool (func_usage): Document --more-symlinks.
60126         (do_copyrights): New variable.
60127         Recognize option --more-symlinks.
60128         (func_import): Don't add a copyright notice transform to
60129         sed_transform_lib_file if do_copyrights is empty.
60130
60131 2007-07-13  Bruno Haible  <bruno@clisp.org>
60132
60133         * lib/vasnprintf.c (decimal_point_char): Define also if
60134         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
60135         && !NEED_PRINTF_DIRECTIVE_A.
60136         Reported by Clemens Koller <clemens.koller@anagramm.de> via
60137         Gary V. Vaughan <gary@gnu.org>.
60138
60139 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
60140
60141         * lib/inttypes_.h: Undo previous change, since it was fixed
60142         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
60143
60144 2007-07-13  Bruno Haible  <bruno@clisp.org>
60145
60146         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
60147         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
60148
60149 2007-07-13  Jim Meyering  <jim@meyering.net>
60150
60151         df: Don't fail for Tru64's "file-on-file mount".
60152         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
60153         so we fall through and use statfs instead.  Details here:
60154         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
60155         Reported by Albert Chin.
60156
60157 2007-07-13  Bruno Haible  <bruno@clisp.org>
60158
60159         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
60160         * modules/configmake (License): Likewise.
60161         * modules/gettext (License): Likewise.
60162         * modules/gettext-h (License): Likewise.
60163         * modules/include_next (License): Likewise.
60164         * modules/link-warning (License): Likewise.
60165         * modules/localcharset (License): Likewise.
60166         * modules/localename (License): Likewise.
60167         * modules/lock (License): Likewise.
60168         * modules/relocatable-lib-lgpl (License): Likewise.
60169         * modules/size_max (License): Likewise.
60170         * modules/vasnprintf (License): Likewise.
60171         * modules/wchar (License): Likewise.
60172         * modules/xsize (License): Likewise.
60173
60174 2007-07-13  Bruno Haible  <bruno@clisp.org>
60175
60176         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
60177         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
60178
60179 2007-07-12  Bruno Haible  <bruno@clisp.org>
60180
60181         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
60182         in the modules files.
60183
60184 2007-07-11  Karl Berry  <karl@gnu.org>
60185
60186         * MODULES.html.sh (func_module): use
60187          sed -e '\|^'"${includefile}"'$|d'
60188          instead of /.../d, to avoid errors on $includefile's containing /.
60189
60190 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
60191
60192         * gnulib-tool (func_import): Avoid duplication of --avoid
60193         statements
60194         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
60195         names to `_' in variable names.
60196
60197 2007-07-10  Eric Blake  <ebb9@byu.net>
60198
60199         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
60200         * NEWS: Document this change.
60201
60202 2007-07-08  Bruno Haible  <bruno@clisp.org>
60203
60204         Update to Unicode 5.0.
60205         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
60206         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
60207         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
60208         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
60209         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
60210         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
60211         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
60212         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
60213         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
60214         U+10A3F, U+1D242..U+1D244.
60215         (nonspacing_table_ind): Update.
60216         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
60217         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
60218
60219 2007-07-08  Bruno Haible  <bruno@clisp.org>
60220
60221         Update to Unicode 5.0.
60222         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
60223         code transform. Extend the name index field of unicode_name_to_code and
60224         unicode_code_to_name from 16 to 24 bits.
60225         * lib/uniname/uniname.c (unicode_character_name,
60226         unicode_name_character): Add the range 0x12xxx to the code transform.
60227         * lib/uniname/uninames.h: Regenerated.
60228         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
60229
60230 2007-07-07  Bruno Haible  <bruno@clisp.org>
60231
60232         * modules/wcwidth-tests: New file.
60233         * tests/test-wcwidth.c: New file.
60234
60235         Work around MacOS X wcwidth() bug.
60236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
60237         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
60238         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
60239         original wcwidth in non-UTF-8 locales.
60240         * modules/wcwidth (Depends-on): Add localcharset, streq,
60241         uniwidth/width.
60242         * doc/functions/wcwidth.texi: Update.
60243
60244 2007-07-07  Bruno Haible  <bruno@clisp.org>
60245
60246         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
60247         (wcwidth): New declaration.
60248         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
60249         macros.
60250         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
60251         here. Prepare for creating <wchar.h> unconditionally.
60252         * modules/wchar (Depends-on): Add link-warning.
60253         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
60254         REPLACE_WCWIDTH, and GL_LINK_WARNING.
60255         * lib/wcwidth.h: Remove file.
60256         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
60257         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
60258         * modules/wcwidth (Files): Remove lib/wcwidth.h.
60259         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
60260         (Include): Replace wcwidth.h with <wchar.h>.
60261         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
60262         * lib/mbchar.h: Don't include wcwidth.h.
60263         * lib/mbswidth.c: Likewise.
60264         * NEWS: Mention the change.
60265
60266 2007-07-07  Bruno Haible  <bruno@clisp.org>
60267
60268         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
60269         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
60270         definition with an external declaration.
60271         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
60272         defined as a function. Remove AC_C_INLINE requirement.
60273         * modules/wcwidth (Files): Add lib/wcwidth.c.
60274         (Makefile.am): Remove redundant statement.
60275
60276 2007-07-07  Bruno Haible  <bruno@clisp.org>
60277
60278         * MODULES.html.sh (Unicode string functions): Add the new modules.
60279
60280         * tests/uniwidth/test-u32-strwidth.c: New file.
60281         * modules/uniwidth/u32-strwidth-tests: New file.
60282
60283         * lib/uniwidth/u32-strwidth.c: New file.
60284         * modules/uniwidth/u32-strwidth: New file.
60285
60286         * tests/uniwidth/test-u16-strwidth.c: New file.
60287         * modules/uniwidth/u16-strwidth-tests: New file.
60288
60289         * lib/uniwidth/u16-strwidth.c: New file.
60290         * modules/uniwidth/u16-strwidth: New file.
60291
60292         * tests/uniwidth/test-u8-strwidth.c: New file.
60293         * modules/uniwidth/u8-strwidth-tests: New file.
60294
60295         * lib/uniwidth/u8-strwidth.c: New file.
60296         * modules/uniwidth/u8-strwidth: New file.
60297
60298         * tests/uniwidth/test-u32-width.c: New file.
60299         * modules/uniwidth/u32-width-tests: New file.
60300
60301         * lib/uniwidth/u32-width.c: New file.
60302         * modules/uniwidth/u32-width: New file.
60303
60304         * tests/uniwidth/test-u16-width.c: New file.
60305         * modules/uniwidth/u16-width-tests: New file.
60306
60307         * lib/uniwidth/u16-width.c: New file.
60308         * modules/uniwidth/u16-width: New file.
60309
60310         * tests/uniwidth/test-u8-width.c: New file.
60311         * modules/uniwidth/u8-width-tests: New file.
60312
60313         * lib/uniwidth/u8-width.c: New file.
60314         * modules/uniwidth/u8-width: New file.
60315
60316         * tests/uniwidth/test-uc_width.c: New file.
60317         * modules/uniwidth/width-tests: New file.
60318
60319         * lib/uniwidth/width.c: New file, from GNU libiconv.
60320         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
60321         * modules/uniwidth/width: New file.
60322
60323         * lib/uniwidth.h: New file, from GNU libiconv.
60324         * modules/uniwidth/base: New file.
60325
60326 2007-07-07  Bruno Haible  <bruno@clisp.org>
60327
60328         * lib/uniname.h: New file, from GNU gettext.
60329         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
60330         * lib/uniname/uninames.h: New file, from GNU gettext.
60331         * lib/uniname/uniname.c: New file, from GNU gettext.
60332         * tests/uniname/test-uninames.sh: New file.
60333         * tests/uniname/test-uninames.c: New file, from GNU gettext.
60334         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
60335         * modules/uniname/base: New file.
60336         * modules/uniname/uniname: New file.
60337         * modules/uniname/uniname-tests: New file.
60338         * MODULES.html.sh (Unicode string functions): Add the new modules.
60339
60340 2007-07-06  Bruno Haible  <bruno@clisp.org>
60341
60342         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
60343
60344 2007-07-06  Bruno Haible  <bruno@clisp.org>
60345
60346         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
60347         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
60348         includes <cygwin/sys_time.h> which includes <sys/select.h> which
60349         include <sys/time.h>.
60350         Reported by Eric Blake.
60351
60352 2007-07-06  Eric Blake  <ebb9@byu.net>
60353
60354         Fix testing canonicalize on cygwin.
60355         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60356         Revert patch from 2007-06-19.
60357         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
60358         canonicalize module is also in use.
60359         * tests/test-canonicalize.c: New file.
60360         * tests/test-canonicalize.sh: Likewise.
60361         * modules/canonicalize-tests: Likewise.
60362
60363 2007-07-06  Jim Meyering  <jim@meyering.net>
60364
60365         * lib/getugroups.c (getugroups): Detect getgrent failure.
60366         Adjust comment to reflect reality: this function may return -1.
60367
60368 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
60369
60370         * build-aux/bootstrap (TP_URL,get_translations): Update to use
60371         the new TP address.
60372         (usage): Fix typo
60373         (gnulib_mk): New variable.
60374
60375 2007-07-05  Jim Meyering  <jim@meyering.net>
60376
60377         Don't let endgrent clobber errno, no matter how improbable.
60378         * lib/getugroups.c (getugroups): Save and restore errno around
60379         endgrent call.
60380
60381         Close the group DB even when failing with 2^31 or more members.
60382         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
60383
60384 2007-07-04  Jim Meyering  <jim@meyering.net>
60385
60386         * lib/getugroups.h: New file.
60387         * lib/getugroups.c: Include "getugroups.h".
60388         Remove uses of "register" keyword.
60389         Move local variable, "cp", down into scope where used.
60390         Give "username" parameter the "const" attribute.
60391         * modules/getugroups (Files): Add lib/getugroups.h
60392
60393 2007-07-04  Karl Berry  <karl@gnu.org>
60394
60395         * MODULES.html.sh (func_all_modules): Complete rename of
60396         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
60397
60398 2007-07-02  Bruno Haible  <bruno@clisp.org>
60399
60400         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
60401         mode, when inttypes.h comes from gnulib.
60402         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
60403
60404 2007-07-02  Simon Josefsson  <simon@josefsson.org>
60405
60406         * NEWS: Mention lgpl module name change.
60407
60408         * modules/lgpl-2.1: Renamed from lgpl.
60409
60410         * NEWS: Mention gpl module name change.
60411
60412         * modules/gpl-3.0: New file, based on gpl-2.0.
60413
60414         * modules/gpl-2.0: Renamed from gpl.
60415
60416         * modules/gpl: Fix filename, doc/gpl.texi is now found at
60417         doc/gpl-2.0.texi.
60418
60419 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60420
60421         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
60422         #define __STDC_LIMIT_MACROS temporarily while including
60423         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
60424         Problem reported by Joel E. Denny in
60425         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
60426
60427 2007-07-01  Bruno Haible  <bruno@clisp.org>
60428
60429         * lib/unistdio.h: New file.
60430         * lib/unistdio/u-asnprintf.h: New file.
60431         * lib/unistdio/u-asprintf.h: New file.
60432         * lib/unistdio/u-printf-args.c: New file.
60433         * lib/unistdio/u-printf-args.h: New file.
60434         * lib/unistdio/u-printf-parse.h: New file.
60435         * lib/unistdio/u-snprintf.h: New file.
60436         * lib/unistdio/u-sprintf.h: New file.
60437         * lib/unistdio/u-vasprintf.h: New file.
60438         * lib/unistdio/u-vsnprintf.h: New file.
60439         * lib/unistdio/u-vsprintf.h: New file.
60440         * lib/unistdio/ulc-asnprintf.c: New file.
60441         * lib/unistdio/ulc-asprintf.c: New file.
60442         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
60443         * lib/unistdio/ulc-printf-parse.c: New file.
60444         * lib/unistdio/ulc-snprintf.c: New file.
60445         * lib/unistdio/ulc-sprintf.c: New file.
60446         * lib/unistdio/ulc-vasnprintf.c: New file.
60447         * lib/unistdio/ulc-vasprintf.c: New file.
60448         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
60449         * lib/unistdio/ulc-vsnprintf.c: New file.
60450         * lib/unistdio/ulc-vsprintf.c: New file.
60451         * lib/unistdio/u8-asnprintf.c: New file.
60452         * lib/unistdio/u8-asprintf.c: New file.
60453         * lib/unistdio/u8-printf-parse.c: New file.
60454         * lib/unistdio/u8-snprintf.c: New file.
60455         * lib/unistdio/u8-sprintf.c: New file.
60456         * lib/unistdio/u8-vasnprintf.c: New file.
60457         * lib/unistdio/u8-vasprintf.c: New file.
60458         * lib/unistdio/u8-vsnprintf.c: New file.
60459         * lib/unistdio/u8-vsprintf.c: New file.
60460         * lib/unistdio/u8-u8-asnprintf.c: New file.
60461         * lib/unistdio/u8-u8-asprintf.c: New file.
60462         * lib/unistdio/u8-u8-snprintf.c: New file.
60463         * lib/unistdio/u8-u8-sprintf.c: New file.
60464         * lib/unistdio/u8-u8-vasnprintf.c: New file.
60465         * lib/unistdio/u8-u8-vasprintf.c: New file.
60466         * lib/unistdio/u8-u8-vsnprintf.c: New file.
60467         * lib/unistdio/u8-u8-vsprintf.c: New file.
60468         * lib/unistdio/u16-asnprintf.c: New file.
60469         * lib/unistdio/u16-asprintf.c: New file.
60470         * lib/unistdio/u16-printf-parse.c: New file.
60471         * lib/unistdio/u16-snprintf.c: New file.
60472         * lib/unistdio/u16-sprintf.c: New file.
60473         * lib/unistdio/u16-vasnprintf.c: New file.
60474         * lib/unistdio/u16-vasprintf.c: New file.
60475         * lib/unistdio/u16-vsnprintf.c: New file.
60476         * lib/unistdio/u16-vsprintf.c: New file.
60477         * lib/unistdio/u16-u16-asnprintf.c: New file.
60478         * lib/unistdio/u16-u16-asprintf.c: New file.
60479         * lib/unistdio/u16-u16-snprintf.c: New file.
60480         * lib/unistdio/u16-u16-sprintf.c: New file.
60481         * lib/unistdio/u16-u16-vasnprintf.c: New file.
60482         * lib/unistdio/u16-u16-vasprintf.c: New file.
60483         * lib/unistdio/u16-u16-vsnprintf.c: New file.
60484         * lib/unistdio/u16-u16-vsprintf.c: New file.
60485         * lib/unistdio/u32-asnprintf.c: New file.
60486         * lib/unistdio/u32-asprintf.c: New file.
60487         * lib/unistdio/u32-printf-parse.c: New file.
60488         * lib/unistdio/u32-snprintf.c: New file.
60489         * lib/unistdio/u32-sprintf.c: New file.
60490         * lib/unistdio/u32-vasnprintf.c: New file.
60491         * lib/unistdio/u32-vasprintf.c: New file.
60492         * lib/unistdio/u32-vsnprintf.c: New file.
60493         * lib/unistdio/u32-vsprintf.c: New file.
60494         * lib/unistdio/u32-u32-asnprintf.c: New file.
60495         * lib/unistdio/u32-u32-asprintf.c: New file.
60496         * lib/unistdio/u32-u32-snprintf.c: New file.
60497         * lib/unistdio/u32-u32-sprintf.c: New file.
60498         * lib/unistdio/u32-u32-vasnprintf.c: New file.
60499         * lib/unistdio/u32-u32-vasprintf.c: New file.
60500         * lib/unistdio/u32-u32-vsnprintf.c: New file.
60501         * lib/unistdio/u32-u32-vsprintf.c: New file.
60502         * tests/unistdio/test-ulc-asnprintf1.c: New file.
60503         * tests/unistdio/test-ulc-asnprintf1.h: New file.
60504         * tests/unistdio/test-ulc-printf1.h: New file.
60505         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
60506         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
60507         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
60508         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
60509         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
60510         * tests/unistdio/test-ulc-vasprintf1.c: New file.
60511         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
60512         * tests/unistdio/test-ulc-vsprintf1.c: New file.
60513         * tests/unistdio/test-u8-asnprintf1.c: New file.
60514         * tests/unistdio/test-u8-asnprintf1.h: New file.
60515         * tests/unistdio/test-u8-printf1.h: New file.
60516         * tests/unistdio/test-u8-vasnprintf1.c: New file.
60517         * tests/unistdio/test-u8-vasnprintf2.c: New file.
60518         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
60519         * tests/unistdio/test-u8-vasnprintf3.c: New file.
60520         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
60521         * tests/unistdio/test-u8-vasprintf1.c: New file.
60522         * tests/unistdio/test-u8-vsnprintf1.c: New file.
60523         * tests/unistdio/test-u8-vsprintf1.c: New file.
60524         * tests/unistdio/test-u16-asnprintf1.c: New file.
60525         * tests/unistdio/test-u16-asnprintf1.h: New file.
60526         * tests/unistdio/test-u16-printf1.h: New file.
60527         * tests/unistdio/test-u16-vasnprintf1.c: New file.
60528         * tests/unistdio/test-u16-vasnprintf2.c: New file.
60529         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
60530         * tests/unistdio/test-u16-vasnprintf3.c: New file.
60531         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
60532         * tests/unistdio/test-u16-vasprintf1.c: New file.
60533         * tests/unistdio/test-u16-vsnprintf1.c: New file.
60534         * tests/unistdio/test-u16-vsprintf1.c: New file.
60535         * tests/unistdio/test-u32-asnprintf1.c: New file.
60536         * tests/unistdio/test-u32-asnprintf1.h: New file.
60537         * tests/unistdio/test-u32-printf1.h: New file.
60538         * tests/unistdio/test-u32-vasnprintf1.c: New file.
60539         * tests/unistdio/test-u32-vasnprintf2.c: New file.
60540         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
60541         * tests/unistdio/test-u32-vasnprintf3.c: New file.
60542         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
60543         * tests/unistdio/test-u32-vasprintf1.c: New file.
60544         * tests/unistdio/test-u32-vsnprintf1.c: New file.
60545         * tests/unistdio/test-u32-vsprintf1.c: New file.
60546         * modules/unistdio/base: New file.
60547         * modules/unistdio/u-printf-args: New file.
60548         * modules/unistdio/ulc-asnprintf: New file.
60549         * modules/unistdio/ulc-asprintf: New file.
60550         * modules/unistdio/ulc-fprintf: New file.
60551         * modules/unistdio/ulc-printf-parse: New file.
60552         * modules/unistdio/ulc-snprintf: New file.
60553         * modules/unistdio/ulc-sprintf: New file.
60554         * modules/unistdio/ulc-vasnprintf: New file.
60555         * modules/unistdio/ulc-vasprintf: New file.
60556         * modules/unistdio/ulc-vfprintf: New file.
60557         * modules/unistdio/ulc-vsnprintf: New file.
60558         * modules/unistdio/ulc-vsprintf: New file.
60559         * modules/unistdio/u8-asnprintf: New file.
60560         * modules/unistdio/u8-asprintf: New file.
60561         * modules/unistdio/u8-printf-parse: New file.
60562         * modules/unistdio/u8-snprintf: New file.
60563         * modules/unistdio/u8-sprintf: New file.
60564         * modules/unistdio/u8-vasnprintf: New file.
60565         * modules/unistdio/u8-vasprintf: New file.
60566         * modules/unistdio/u8-vsnprintf: New file.
60567         * modules/unistdio/u8-vsprintf: New file.
60568         * modules/unistdio/u8-u8-asnprintf: New file.
60569         * modules/unistdio/u8-u8-asprintf: New file.
60570         * modules/unistdio/u8-u8-snprintf: New file.
60571         * modules/unistdio/u8-u8-sprintf: New file.
60572         * modules/unistdio/u8-u8-vasnprintf: New file.
60573         * modules/unistdio/u8-u8-vasprintf: New file.
60574         * modules/unistdio/u8-u8-vsnprintf: New file.
60575         * modules/unistdio/u8-u8-vsprintf: New file.
60576         * modules/unistdio/u16-asnprintf: New file.
60577         * modules/unistdio/u16-asprintf: New file.
60578         * modules/unistdio/u16-printf-parse: New file.
60579         * modules/unistdio/u16-snprintf: New file.
60580         * modules/unistdio/u16-sprintf: New file.
60581         * modules/unistdio/u16-vasnprintf: New file.
60582         * modules/unistdio/u16-vasprintf: New file.
60583         * modules/unistdio/u16-vsnprintf: New file.
60584         * modules/unistdio/u16-vsprintf: New file.
60585         * modules/unistdio/u16-u16-asnprintf: New file.
60586         * modules/unistdio/u16-u16-asprintf: New file.
60587         * modules/unistdio/u16-u16-snprintf: New file.
60588         * modules/unistdio/u16-u16-sprintf: New file.
60589         * modules/unistdio/u16-u16-vasnprintf: New file.
60590         * modules/unistdio/u16-u16-vasprintf: New file.
60591         * modules/unistdio/u16-u16-vsnprintf: New file.
60592         * modules/unistdio/u16-u16-vsprintf: New file.
60593         * modules/unistdio/u32-asnprintf: New file.
60594         * modules/unistdio/u32-asprintf: New file.
60595         * modules/unistdio/u32-printf-parse: New file.
60596         * modules/unistdio/u32-snprintf: New file.
60597         * modules/unistdio/u32-sprintf: New file.
60598         * modules/unistdio/u32-vasnprintf: New file.
60599         * modules/unistdio/u32-vasprintf: New file.
60600         * modules/unistdio/u32-vsnprintf: New file.
60601         * modules/unistdio/u32-vsprintf: New file.
60602         * modules/unistdio/u32-u32-asnprintf: New file.
60603         * modules/unistdio/u32-u32-asprintf: New file.
60604         * modules/unistdio/u32-u32-snprintf: New file.
60605         * modules/unistdio/u32-u32-sprintf: New file.
60606         * modules/unistdio/u32-u32-vasnprintf: New file.
60607         * modules/unistdio/u32-u32-vasprintf: New file.
60608         * modules/unistdio/u32-u32-vsnprintf: New file.
60609         * modules/unistdio/u32-u32-vsprintf: New file.
60610         * modules/unistdio/ulc-asnprintf-tests: New file.
60611         * modules/unistdio/ulc-vasnprintf-tests: New file.
60612         * modules/unistdio/ulc-vasprintf-tests: New file.
60613         * modules/unistdio/ulc-vsnprintf-tests: New file.
60614         * modules/unistdio/ulc-vsprintf-tests: New file.
60615         * modules/unistdio/u8-asnprintf-tests: New file.
60616         * modules/unistdio/u8-vasnprintf-tests: New file.
60617         * modules/unistdio/u8-vasprintf-tests: New file.
60618         * modules/unistdio/u8-vsnprintf-tests: New file.
60619         * modules/unistdio/u8-vsprintf-tests: New file.
60620         * modules/unistdio/u16-asnprintf-tests: New file.
60621         * modules/unistdio/u16-vasnprintf-tests: New file.
60622         * modules/unistdio/u16-vasprintf-tests: New file.
60623         * modules/unistdio/u16-vsnprintf-tests: New file.
60624         * modules/unistdio/u16-vsprintf-tests: New file.
60625         * modules/unistdio/u32-asnprintf-tests: New file.
60626         * modules/unistdio/u32-vasnprintf-tests: New file.
60627         * modules/unistdio/u32-vasprintf-tests: New file.
60628         * modules/unistdio/u32-vsnprintf-tests: New file.
60629         * modules/unistdio/u32-vsprintf-tests: New file.
60630         * MODULES.html.sh (Unicode string functions): Add the new modules.
60631
60632 2007-07-01  Bruno Haible  <bruno@clisp.org>
60633
60634         * lib/sprintf.c (sprintf): Limit the available length estimation,
60635         to avoid address wraparound.
60636         * lib/vsprintf.c (vsprintf): Likewise.
60637         * modules/sprintf-posix (Dependencies): Add stdint.
60638         * modules/vsprintf-posix (Dependencies): Likewise.
60639
60640 2007-07-01  Bruno Haible  <bruno@clisp.org>
60641
60642         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
60643         Windows PATH as well. Conservative double-quoting. Comments.
60644
60645 2007-07-01  Bruno Haible  <bruno@clisp.org>
60646             Eric Blake  <ebb9@byu.net>
60647             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60648
60649         * gnulib-tool (self_abspathname): Fix algorithm to cope with
60650         empty components in $PATH, denoting '.'.
60651
60652 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60653
60654         * gnulib-tool: Fix indentation.
60655         (func_create_megatestdir): Likewise.
60656         Report by Bruno Haible.
60657
60658 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60659
60660         Sync from Automake.
60661         * build-aux/gnupload: Fix shell portability issues with for loops.
60662         Report by Karl Berry.
60663
60664 2007-06-29  Simon Josefsson  <simon@josefsson.org>
60665
60666         * build-aux/maint.mk (POURL): Use translationproject.org.
60667
60668 2007-06-27  Simon Josefsson  <simon@josefsson.org>
60669             Bruno Haible  <bruno@clisp.org>
60670
60671         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
60672         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
60673         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
60674         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
60675         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
60676
60677 2007-06-27  Bruno Haible  <bruno@clisp.org>
60678
60679         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
60680         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
60681
60682 2007-06-26  Karl Berry  <karl@gnu.org>
60683
60684         * MODULES.html.sh: remove xreadlink-with-size.
60685
60686 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60687
60688         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
60689         method that I hope also handles the double-include problem noted
60690         by Bruno Haible in
60691         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
60692
60693 2007-06-23  Bruno Haible  <bruno@clisp.org>
60694
60695         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60696         Don't let the 'mostlyclean' target fail if the last subdirectory could
60697         not be removed.
60698         Reported by Karl Berry.
60699
60700 2007-06-23  Bruno Haible  <bruno@clisp.org>
60701
60702         * gnulib-tool (echo): Add a speedier workaround for ksh.
60703         * tests/test-echo.sh: Likewise.
60704
60705 2007-06-23  Bruno Haible  <bruno@clisp.org>
60706
60707         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
60708         * tests/test-echo.sh: Likewise.
60709
60710 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60711
60712         * gnulib-tool (IFS): Initialize early, so we don't set it to
60713         empty later.
60714         (self_abspathname): Rewrite algorithm to set it, reindent.
60715         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
60716         (func_create_megatestdir): Merge some sed scripts.
60717
60718 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60719
60720         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
60721         exposed by Sun Studio 11 cc on Solaris 8.
60722
60723 2007-06-22  Bruno Haible  <bruno@clisp.org>
60724
60725         * gnulib-tool (echo): Ensure the echo primitive does not interpret
60726         backslashes.
60727         * tests/test-echo.sh: New file.
60728
60729 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60730
60731         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
60732         simplify `sed_replace_build_aux' scripts, they are portable but
60733         echoing them with `echo' is not.
60734         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
60735
60736 2007-06-21  Karl Berry  <karl@gnu.org>
60737
60738         * config/srclist.txt: guess we can't handle the licenses via
60739         srclist at the moment.
60740
60741 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60742
60743         * MODULES.html.sh: Add include_next.
60744         * modules/include_next: New file.
60745
60746 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60747
60748         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
60749         INCLUDE_NEXT.
60750         (gl_CHECK_NEXT_HEADERS): New macro.
60751         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
60752         the obsolescent gl_ABSOLUTE_HEADER.
60753         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
60754         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
60755         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60756         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60757         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
60758         * m4/math_h.m4 (gl_MATH_H): Likewise.
60759         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60760         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
60761         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
60762         * m4/stdint.m4 (gl_STDINT_H): Likewise.
60763         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
60764         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
60765         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
60766         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60767         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60768         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
60769         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
60770         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
60771         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
60772         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
60773         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60774         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
60775         * m4/inttypes.m4 (gl_INTTYPES_H): Define
60776         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
60777         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
60778         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
60779         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
60780         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
60781         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
60782         * lib/float_.h: Likewise.
60783         * lib/inttypes_.h: Likewise.
60784         * lib/math_.h: Likewise.
60785         * lib/search_.h: Likewise.
60786         * lib/signal_.h: Likewise.
60787         * lib/stdint_.h: Likewise.
60788         * lib/stdio_.h: Likewise.
60789         * lib/stdlib_.h: Likewise.
60790         * lib/string_.h: Likewise.
60791         * lib/sys_stat_.h: Likewise.
60792         * lib/sys_time_.h: Likewise.
60793         * lib/time_.h: Likewise.
60794         * lib/unistd_.h: Likewise.
60795         * lib/wchar_.h: Likewise.
60796         * lib/wctype_.h: Likewise.
60797         * lib/dirent_.h: Likewise.
60798         * lib/iconv_.h: Likewise.
60799         * lib/locale_.h: Likewise.
60800         * lib/netinet_in_.h: Likewise.
60801         * lib/sys_select_.h: Likewise.
60802         * lib/sys_socket_.h: Likewise.
60803         * lib/sysexits_.h: Likewise.
60804         * modules/fcntl (Depends-on): Depend on include_next, not
60805         absolute_header.
60806         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
60807         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
60808         * modules/fchdir: Likewise.
60809         * modules/float: Likewise.
60810         * modules/iconv_open: Likewise.
60811         * modules/inttypes: Likewise.
60812         * modules/locale: Likewise.
60813         * modules/math: Likewise.
60814         * modules/netinet_in: Likewise.
60815         * modules/search: Likewise.
60816         * modules/signal: Likewise.
60817         * modules/stdint: Likewise.
60818         * modules/stdio: Likewise.
60819         * modules/stdlib: Likewise.
60820         * modules/string: Likewise.
60821         * modules/sys_select: Likewise.
60822         * modules/sys_socket: Likewise.
60823         * modules/sys_stat: Likewise.
60824         * modules/sys_time: Likewise.
60825         * modules/sysexits: Likewise.
60826         * modules/time: Likewise.
60827         * modules/unistd: Likewise.
60828         * modules/wchar: Likewise.
60829         * modules/wctype: Likewise.
60830         * modules/sys_stat: Change maintainer to "all".
60831         * modules/unistd: Likewise.
60832
60833 2007-06-20  Karl Berry  <karl@gnu.org>
60834
60835         * config/srclist.txt: track www changes in license files.
60836
60837 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
60838
60839         * build-aux/bootstrap: Remove stray dot.
60840         Make sure build_aux settings are honored when linking
60841         gnulib_extra_files.
60842
60843 2007-06-19  Eric Blake  <ebb9@byu.net>
60844
60845         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
60846         Allow compilation on cygwin.
60847
60848 2007-06-19  Jim Meyering  <jim@meyering.net>
60849
60850         xreadlink-with-size: Remove module.  No longer used.
60851         Ex-callers now use xreadlink or mreadlink-with-size.
60852         * modules/xreadlink-with-size: Remove module.
60853         * lib/xreadlink-with-size.c: Remove file.
60854         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
60855         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
60856         just before the function definition *is* accurate.
60857
60858         Eliminate one way canonicalize_filename_mode could exit.
60859         * lib/canonicalize.c (canonicalize_filename_mode):
60860         Use mreadlink_with_size, not xreadlink_with_size.
60861
60862 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
60863
60864         Detect porting problems to FreeBSD/arm, which has time_t wider than
60865         long int.  Original problem reported for GNU diff by Xin Li in
60866         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
60867         * modules/getdate (Depends-on): Add intprops, verify.
60868         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
60869         is an integer type no wider than long int.
60870
60871 2007-06-18  Jim Meyering  <jim@meyering.net>
60872
60873         New module: mreadlink-with-size.
60874         * MODULES.html.sh: Add mreadlink-with-size.
60875         * modules/mreadlink-with-size: New module
60876         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
60877         not xreadlink-with-size.
60878         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
60879
60880 2007-06-16  Bruno Haible  <bruno@clisp.org>
60881
60882         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
60883         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
60884         Reported by Gary V. Vaughan <gary@gnu.org>.
60885
60886 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
60887
60888         Revamp lchown so that it lives in unistd.h where it belongs.
60889         * lib/lchown.h: Remove.
60890         * lib/dirchownmod.c: Don't include lib/lchown.h.
60891         * lib/fchownat.c: Likewise.
60892         * lib/openat.c: Likewise.
60893         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
60894         does not follow symlinks.
60895         (EOPNOTSUPP): Define if not defined.
60896         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
60897         is defined to 0.
60898         (lchown): New decl.
60899         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
60900         Do not check for lchown decl.
60901         Set REPLACE_LCHOWN.
60902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
60903         REPLACE_LCHOWN.
60904         * modules/chown: Make it clear it follows symlinks.
60905         * modules/lchown: Make it clear it doesn't follow symlinks.
60906         (Files): Remove lib/lchown.h
60907         (Depends-on): Add unistd.
60908         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
60909         (Include): Include <unistd.h>, not "lchown.h".
60910         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
60911         REPLACE_LCHOWN.
60912
60913 2007-06-15  Jim Meyering  <jim@meyering.net>
60914
60915         Change license (GPL to LGPL) of fsusage and dependents.
60916         * modules/fsusage (License): Change to LGPL.
60917         * modules/full-read (License): Likewise.
60918         * modules/full-write (License): Likewise.
60919         * modules/safe-read (License): Likewise.
60920         * modules/safe-write (License): Likewise.
60921
60922 2007-06-14  Ben Pfaff  <blp@gnu.org>
60923
60924         Missing part of allocsa -> malloca transition.
60925         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
60926         gl_MALLOCA.
60927
60928 2007-06-12  Bruno Haible  <bruno@clisp.org>
60929
60930         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
60931         to ia64, x86_64, i386.
60932         Reported by Eric Blake.
60933
60934 2007-06-12  Bruno Haible  <bruno@clisp.org>
60935
60936         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
60937         cross-compiling to x86_64.
60938
60939 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
60940
60941         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
60942         glitch reported by Ralf Wildenhues in
60943         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
60944
60945         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
60946         Vin Shelton.
60947
60948 2007-06-11  Bruno Haible  <bruno@clisp.org>
60949
60950         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
60951         replacement string.
60952         Reported by Eric Blake.
60953
60954 2007-06-10  Bruno Haible  <bruno@clisp.org>
60955
60956         Prepare vasnprintf code for use with Unicode strings.
60957         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
60958         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
60959         TYPE_U32_STRING.
60960         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
60961         a_u32_string variants.
60962         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
60963         * lib/printf-args.c: Don't include config.h and the specification
60964         header if PRINTF_FETCHARGS is already defined.
60965         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
60966         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
60967         TYPE_U16_STRING, TYPE_U32_STRING.
60968         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
60969         u16_directive, u16_directives, u32_directive, u32_directives): New
60970         types.
60971         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
60972         New declarations.
60973         * lib/printf-parse.c: Don't include config.h and the specification
60974         header if PRINTF_PARSE is already defined. Eliminate the set of
60975         parameters for WIDE_CHAR_VERSION; the user of this file must provide
60976         them now. Include c-ctype.h.
60977         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
60978         directive and CHAR_T_ONLY_ASCII.
60979         * lib/vasnprintf.c: Don't include config.h and the specification header
60980         if VASNPRINTF is already defined.
60981         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
60982         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
60983         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
60984         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
60985         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
60986         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
60987         code accordingly.
60988         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
60989         pad_ourselves also in this case, with the 'c' and 's' directives, and
60990         with a different notion of "width".
60991         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
60992
60993 2007-06-10  Bruno Haible  <bruno@clisp.org>
60994
60995         * modules/unistr/u32-mbsnlen: New file.
60996         * lib/unistr/u32-mbsnlen.c: New file.
60997
60998         * modules/unistr/u16-mbsnlen: New file.
60999         * lib/unistr/u16-mbsnlen.c: New file.
61000
61001         * modules/unistr/u8-mbsnlen: New file.
61002         * lib/unistr/u8-mbsnlen.c: New file.
61003
61004         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
61005         declarations.
61006
61007 2007-06-10  Bruno Haible  <bruno@clisp.org>
61008
61009         * lib/string_.h (mbsnlen): New declaration.
61010         * lib/mbsnlen.c: New file.
61011         * m4/mbsnlen.m4: New file.
61012         * modules/mbsnlen: New file.
61013         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
61014         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
61015         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
61016
61017 2007-06-10  Bruno Haible  <bruno@clisp.org>
61018
61019         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
61020
61021 2007-06-10  Bruno Haible  <bruno@clisp.org>
61022
61023         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
61024         * lib/mbuiter.h: Likewise.
61025
61026 2007-06-10  Bruno Haible  <bruno@clisp.org>
61027
61028         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
61029         declaration.
61030
61031 2007-06-10  Karl Berry  <karl@gnu.org>
61032
61033         * config/srclist.txt: remove gettext entries, Bruno prefers
61034         to update individually.
61035
61036 2007-06-10  Bruno Haible  <bruno@clisp.org>
61037
61038         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
61039         'maxlen'. Ensure only length + width bytes are allocated, not
61040         length + 1 + width.
61041
61042 2007-06-09  Bruno Haible  <bruno@clisp.org>
61043
61044         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
61045         (CHAR_T): Remove macro.
61046         (VASNPRINTF): Update.
61047
61048 2007-06-09  Bruno Haible  <bruno@clisp.org>
61049
61050         * MODULES.html.sh (Unicode string functions): Add the new modules.
61051
61052         * modules/uniconv/u32-conv-to-enc: New file.
61053         * lib/uniconv/u32-conv-to-enc.c: New file.
61054         * modules/uniconv/u32-conv-to-enc-tests: New file.
61055         * tests/uniconv/test-u32-conv-to-enc.c: New file.
61056
61057         * modules/uniconv/u16-conv-to-enc: New file.
61058         * lib/uniconv/u16-conv-to-enc.c: New file.
61059         * lib/uniconv/u-conv-to-enc.h: New file.
61060         * modules/uniconv/u16-conv-to-enc-tests: New file.
61061         * tests/uniconv/test-u16-conv-to-enc.c: New file.
61062
61063         * modules/uniconv/u8-conv-to-enc: New file.
61064         * lib/uniconv/u8-conv-to-enc.c: New file.
61065         * modules/uniconv/u8-conv-to-enc-tests: New file.
61066         * tests/uniconv/test-u8-conv-to-enc.c: New file.
61067
61068         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
61069         u32_conv_to_encoding): New declarations.
61070
61071 2007-06-09  Bruno Haible  <bruno@clisp.org>
61072
61073         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
61074
61075 2007-06-09  Bruno Haible  <bruno@clisp.org>
61076
61077         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
61078         * modules/malloca: Renamed from modules/allocsa, updated.
61079         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
61080         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
61081         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
61082         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
61083         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
61084         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
61085         * modules/xmalloca: Renamed from modules/xallocsa, updated.
61086         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
61087         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
61088         * modules/c-strcasestr (Depends-on): Update.
61089         * lib/c-strcasestr.c: Update.
61090         * modules/c-strstr (Depends-on): Update.
61091         * lib/c-strstr.c: Update.
61092         * modules/canonicalize-lgpl (Depends-on): Update.
61093         * lib/canonicalize-lgpl.c: Update.
61094         * modules/clean-temp (Depends-on): Update.
61095         * lib/clean-temp.c: Update.
61096         * modules/csharpcomp (Depends-on): Update.
61097         * lib/csharpcomp.c: Update.
61098         * modules/csharpexec (Depends-on): Update.
61099         * lib/csharpexec.c: Update.
61100         * modules/javacomp (Depends-on): Update.
61101         * lib/javacomp.c: Update.
61102         * modules/javaexec (Depends-on): Update.
61103         * lib/javaexec.c: Update.
61104         * modules/mbscasestr (Depends-on): Update.
61105         * lib/mbscasestr.c: Update.
61106         * modules/mbsstr (Depends-on): Update.
61107         * lib/mbsstr.c: Update.
61108         * modules/setenv (Depends-on): Update.
61109         * lib/setenv.c: Update.
61110         * modules/strcasestr (Depends-on): Update.
61111         * lib/strcasestr.c: Update.
61112         * modules/striconveha (Depends-on): Update.
61113         * lib/striconveha.c: Update.
61114         * modules/relocatable-prog-wrapper (Files): Update.
61115         * lib/relocwrapper.c: Update.
61116         * build-aux/install-reloc: Update.
61117         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
61118
61119 2007-06-08  Bruno Haible  <bruno@clisp.org>
61120
61121         Port to uClibc.
61122         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
61123         * lib/fpurge.c (fpurge): Likewise.
61124         * lib/freading.c (freading): Likewise.
61125         * lib/fseeko.c (rpl_fseeko): Likewise.
61126         * lib/fseterr.c (fseterr): Likewise.
61127         * lib/fwriting.c (fwriting): Likewise.
61128         * tests/test-fflush.c (main): Avoid a failure on uClibc.
61129
61130 2007-06-08  Bruno Haible  <bruno@clisp.org>
61131
61132         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
61133         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
61134         * modules/gettext (Files): Add m4/intlmacosx.m4.
61135
61136 2007-06-07  Bruno Haible  <bruno@clisp.org>
61137
61138         * modules/localename-tests: New file.
61139         * tests/test-localename.c: New file.
61140
61141         New module 'localename'.
61142         * lib/localename.h: New file.
61143         * lib/localename.c: New file, from GNU gettext.
61144         * m4/localename.m4: New file.
61145         * modules/localename: New file.
61146
61147 2007-06-07  Bruno Haible  <bruno@clisp.org>
61148
61149         Work around the lack of <wchar.h> on some builds of uClibc.
61150         * doc/headers/wchar.texi: Update.
61151         * lib/wchar_.h: Include <wchar.h> only if it exists.
61152         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
61153         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
61154         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
61155         doesn't exist.
61156         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
61157         * modules/mbfile (Depends-on): Add wchar.
61158         * modules/mbiter (Depends-on): Likewise.
61159         * modules/mbuiter (Depends-on): Likewise.
61160         Reported by Simon Josefsson.
61161
61162 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61163
61164         Work around problem reported by Steven M. Schweda in
61165         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
61166         Tru64 5.1B with the Compaq compiler environment installed declares
61167         an 'isblank' function but does not define it in the C library.
61168         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
61169         * lib/regex_internal.h (isblank): Likewise.
61170         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
61171         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61172
61173 2007-06-05  Bruno Haible  <bruno@clisp.org>
61174
61175         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
61176         ia64.
61177         * modules/printf-safe: New file.
61178         * modules/fprintf-posix (Depends-on): Add printf-safe.
61179         * modules/printf-posix (Depends-on): Likewise.
61180         * modules/snprintf-posix (Depends-on): Likewise.
61181         * modules/sprintf-posix (Depends-on): Likewise.
61182         * modules/vasnprintf-posix (Depends-on): Likewise.
61183         * modules/vasprintf-posix (Depends-on): Likewise.
61184         * modules/vfprintf-posix (Depends-on): Likewise.
61185         * modules/vprintf-posix (Depends-on): Likewise.
61186         * modules/vsnprintf-posix (Depends-on): Likewise.
61187         * modules/vsprintf-posix (Depends-on): Likewise.
61188         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
61189         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
61190         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
61191         "no" on i386, x86_64, ia64.
61192         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
61193         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61194         on i386, x86_64, ia64.
61195         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
61196         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61197         on i386, x86_64, ia64.
61198         * tests/test-vasnprintf-posix.c: Include float.h.
61199         (LDBL80_WORDS): New macro.
61200         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61201         on i386, x86_64, ia64.
61202         * tests/test-vasprintf-posix.c: Include float.h.
61203         (LDBL80_WORDS): New macro.
61204         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
61205         on i386, x86_64, ia64.
61206         * tests/test-snprintf-posix.c: Include float.h.
61207         * tests/test-sprintf-posix.c: Likewise.
61208         * tests/test-vsnprintf-posix.c: Likewise.
61209         * tests/test-vsprintf-posix.c: Likewise.
61210
61211 2007-06-05  Bruno Haible  <bruno@clisp.org>
61212
61213         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
61214         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
61215         non-IEEE numbers on i386, x86_64, ia64.
61216         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
61217         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
61218         * tests/test-isnanl.h: Include float.h.
61219         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
61220
61221 2007-06-05  Bruno Haible  <bruno@clisp.org>
61222
61223         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
61224         also the %a / %A. Handle the %a / %A code before this extra handling.
61225
61226 2007-06-05  Bruno Haible  <bruno@clisp.org>
61227
61228         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
61229         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
61230
61231 2007-06-05  Bruno Haible  <bruno@clisp.org>
61232
61233         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
61234         typo in variable name.
61235
61236 2007-06-05  Eric Blake  <ebb9@byu.net>
61237
61238         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
61239         Reported by Simon Josefsson.
61240
61241 2007-06-04  Bruno Haible  <bruno@clisp.org>
61242
61243         Avoid test failures on some PowerPC platforms.
61244         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
61245         Define differently for PowerPC.
61246         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
61247         Reported by Gary V. Vaughan <gary@gnu.org>.
61248
61249 2007-06-02  Bruno Haible  <bruno@clisp.org>
61250
61251         Fix test-stdint failure on FreeBSD/ia64.
61252         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
61253         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
61254         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
61255         * doc/headers/stdint.texi: Update.
61256
61257 2007-06-01  Bruno Haible  <bruno@clisp.org>
61258
61259         * tests/test-binary-io.c (main): Pass a third argument to open().
61260         Reported by Gary V. Vaughan <gary@gnu.org>.
61261
61262 2007-06-01  Bruno Haible  <bruno@clisp.org>
61263
61264         * doc/functions/frexpl.texi: Update for mingw.
61265
61266 2007-06-01  Bruno Haible  <bruno@clisp.org>
61267
61268         * tests/test-lseek.c (main): Disable test of errno for invalid third
61269         argument.
61270         * doc/functions/lseek.texi: Update.
61271         Reported by Gary V. Vaughan <gary@gnu.org>.
61272
61273 2007-05-28  Bruno Haible  <bruno@clisp.org>
61274
61275         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
61276
61277 2007-05-31  Eric Blake  <ebb9@byu.net>
61278
61279         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
61280         cross compiling.
61281
61282 2007-05-30  Eric Blake  <ebb9@byu.net>
61283         and Bruno Haible  <bruno@clisp.org>
61284
61285         Work around mingw test failures exposed by m4-1.4.9b.
61286         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
61287         * tests/test-unistd.c: Disable uid_t and git_t tests for the
61288         moment.
61289
61290 2007-05-30  Bruno Haible  <bruno@clisp.org>
61291
61292         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
61293         assuming that they are closed. Needed on HP-UX 11.
61294
61295 2007-05-29  Bruno Haible  <bruno@clisp.org>
61296
61297         Fix a problem with #include_next.
61298         * lib/dirent_.h: Split the double-inclusion guard.
61299         * lib/fcntl_.h: Likewise.
61300         * lib/float_.h: Likewise.
61301         * lib/iconv_.h: Likewise.
61302         * lib/inttypes_.h: Likewise.
61303         * lib/locale_.h: Likewise.
61304         * lib/math_.h: Likewise.
61305         * lib/netinet_in_.h: Likewise.
61306         * lib/search_.h: Likewise.
61307         * lib/signal_.h: Likewise.
61308         * lib/stdint_.h: Likewise.
61309         * lib/stdio_.h: Likewise.
61310         * lib/stdlib_.h: Likewise.
61311         * lib/string_.h: Likewise.
61312         * lib/sys_select_.h: Likewise.
61313         * lib/sys_socket_.h: Likewise.
61314         * lib/sys_stat_.h: Likewise.
61315         * lib/sys_time_.h: Likewise.
61316         * lib/sysexits_.h: Likewise.
61317         * lib/time_.h: Likewise.
61318         * lib/unistd_.h: Likewise.
61319         * lib/wchar_.h: Likewise.
61320         * lib/wctype_.h: Likewise.
61321
61322 2007-05-29  Bruno Haible  <bruno@clisp.org>
61323
61324         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
61325         for the moment.
61326
61327 2007-05-29  Bruno Haible  <bruno@clisp.org>
61328
61329         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
61330         invocation.
61331         Reported by Eric Blake.
61332
61333 2007-05-29  Bruno Haible  <bruno@clisp.org>
61334
61335         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
61336         compiling case.
61337
61338 2007-05-29  Eric Blake  <ebb9@byu.net>
61339             Bruno Haible  <bruno@clisp.org>
61340
61341         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
61342         cross compiles.
61343
61344 2007-05-28  Eric Blake  <ebb9@byu.net>
61345
61346         * modules/closein-tests (test_closein_LDADD): Support test on
61347         cygwin with libtool.
61348
61349 2007-05-28  Bruno Haible  <bruno@clisp.org>
61350
61351         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
61352         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61353         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61354         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61355         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61356         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61357         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61358         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61359         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61360
61361 2007-05-28  Eric Blake  <ebb9@byu.net>
61362
61363         Unconditionally include <config.h> in unit tests.
61364         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
61365         * tests/test-allocsa.c, tests/test-arcfour.c,
61366         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
61367         tests/test-array_list.c, tests/test-array_oset.c,
61368         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
61369         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
61370         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
61371         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
61372         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
61373         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
61374         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
61375         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
61376         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
61377         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
61378         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
61379         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
61380         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
61381         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
61382         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
61383         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
61384         test-md5.c, test-memmem.c, test-printf-posix.c,
61385         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
61386         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
61387         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
61388         test-strcasestr.c, test-striconv.c, test-striconveh.c,
61389         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
61390         test-vasnprintf-posix2.c, test-vasnprintf.c,
61391         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
61392         test-vfprintf-posix.c, test-vprintf-posix.c,
61393         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
61394         test-xvasprintf.c: Likewise.
61395
61396 2007-05-28  Bruno Haible  <bruno@clisp.org>
61397
61398         * gnulib-tool (func_import): Remember the --with-tests command-line
61399         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
61400         Reported by Eric Blake.
61401
61402 2007-05-28  Bruno Haible  <bruno@clisp.org>
61403
61404         * modules/ftell-tests: New file.
61405         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
61406         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
61407
61408         * lib/ftell.c: New file.
61409         * modules/ftell: New file.
61410         * m4/ftell.m4: New file.
61411         * doc/functions/ftell.texi: Update.
61412         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
61413         REPLACE_FTELL.
61414         * lib/stdio_.h (rpl_ftell): New declaration.
61415         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
61416         REPLACE_FTELL.
61417
61418 2007-05-28  Eric Blake  <ebb9@byu.net>
61419
61420         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
61421
61422 2007-05-28  Bruno Haible  <bruno@clisp.org>
61423
61424         * modules/fseek-tests: New file.
61425         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
61426         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
61427
61428         * lib/fseek.c: New file.
61429         * modules/fseek: New file.
61430         * m4/fseek.m4: New file.
61431         * doc/functions/fseek.texi: Update.
61432         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
61433         REPLACE_FSEEK.
61434         * lib/stdio_.h (rpl_fseek): New declaration.
61435         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
61436         REPLACE_FSEEK.
61437
61438 2007-05-28  Bruno Haible  <bruno@clisp.org>
61439
61440         * lib/stdio_.h (fflush): More comments.
61441
61442 2007-05-28  Bruno Haible  <bruno@clisp.org>
61443
61444         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
61445         runtime test.
61446
61447 2007-05-28  Eric Blake  <ebb9@byu.net>
61448
61449         Improve lseek module.
61450         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
61451         * lib/unistd_.h (lseek): Scale back link warning message.
61452         * tests/test-lseek.c: Beef up test.
61453         * tests/test-lseek.sh: Exercise more facets of lseek.
61454         Reported by Bruno Haible.
61455
61456 2007-05-28  Bruno Haible  <bruno@clisp.org>
61457
61458         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
61459         to define.
61460
61461 2007-05-27  Bruno Haible  <bruno@clisp.org>
61462
61463         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
61464
61465 2007-05-27  Bruno Haible  <bruno@clisp.org>
61466
61467         * modules/openmp: New file.
61468         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
61469         Noah Misch.
61470
61471 2007-05-26  Bruno Haible  <bruno@clisp.org>
61472
61473         * modules/chdir-long (Depends-on): Add fchdir.
61474         * modules/chdir-safer (Depends-on): Likewise.
61475         * modules/fts (Depends-on): Likewise.
61476         * modules/fts-lgpl (Depends-on): Likewise.
61477         * modules/openat (Depends-on): Likewise.
61478         * modules/savewd (Depends-on): Likewise.
61479
61480 2007-05-24  Eric Blake  <ebb9@byu.net>
61481
61482         Fix lseek on mingw.
61483         * modules/lseek: New module.
61484         * m4/lseek.m4: New file.
61485         * lib/lseek.c: New file.
61486         * modules/lseek-tests: New file.
61487         * tests/test-lseek.c: New file.
61488         * tests/test-lseek.sh: New file.
61489         * MODULES.html.sh: Document lseek module.
61490         * modules/fflush (Depends-on): Add lseek, fseeko.
61491         * modules/fseeko (Depends-on): Likewise.
61492         * modules/ftello (Depends-on): Likewise.
61493         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
61494         broken.
61495         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
61496         broken.
61497         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
61498         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
61499         * lib/ftello.c (rpl_ftello): Likewise.
61500         * tests/test-fseeko.c (main): Test this.
61501         * tests/test-fseeko.sh: Likewise.
61502         * tests/test-ftello.c (main): Likewise.
61503         * tests/test-ftello.sh: Likewise.
61504         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
61505         implies replacing fseek.
61506         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
61507         HAVE_FTELLO.
61508         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
61509         * modules/unistd (Makefile.am): Likewise.
61510         * lib/unistd_.h (lseek): Declare a replacement.
61511         * doc/functions/lseek.texi (lseek): Document this fix.
61512         * doc/functions/fseek.texi (fseek): Likewise.
61513         * doc/functions/ftell.texi (ftell): Likewise.
61514
61515 2007-05-24  Bruno Haible  <bruno@clisp.org>
61516
61517         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
61518         in the printed representation of a NaN.
61519         * tests/test-vasprintf-posix.c (test_function): Likewise.
61520         * tests/test-snprintf-posix.h (test_function): Likewise.
61521         * tests/test-sprintf-posix.h (test_function): Likewise.
61522         Reported by Eric Blake.
61523
61524 2007-05-23  Eric Blake  <ebb9@byu.net>
61525
61526         Fix fseeko/ftello on cygwin 1.5.24.
61527         * doc/functions/fseeko.texi (fseeko): Document the fix.
61528         * doc/functions/ftello.texi (ftello): Document the fix.
61529         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
61530         * doc/functions/stdout.text (stdout): New file.
61531         * doc/functions/stderr.text (stderr): New file.
61532         * doc/gnulib.texi (Function Substitutes): Use new files.
61533         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
61534         prior to 1.7.0.
61535         * tests/test-ftello.c (main): Likewise for ftello.
61536         * tests/test-fseeko.sh: New file.
61537         * tests/test-ftello.sh: New file.
61538         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
61539         with seekable stdin.
61540         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
61541         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
61542         (gl_REPLACE_FSEEKO): New macro.
61543         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
61544         * modules/fseeko (Files): Distribute fseeko.c.
61545         * modules/ftello (Files): Distribute ftello.c.
61546         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
61547         mode.
61548         * lib/ftello.c (rpl_ftello): New file.
61549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
61550         fseeko, ftello.
61551         (gl_STDIN_LARGE_OFFSET): New macro.
61552         * modules/stdio (Makefile.am): Perform the replacement.
61553         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
61554
61555 2007-05-23  Bruno Haible  <bruno@clisp.org>
61556
61557         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
61558         GNULIB_POSIXCHECK is defined.
61559
61560 2007-05-21  Bruno Haible  <bruno@clisp.org>
61561
61562         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
61563         Check also the output for NaN arguments. When cross-compiling, guess
61564         no on IRIX.
61565         * lib/vasnprintf.c: Update comments.
61566         * tests/test-vasnprintf-posix.c (strisnan): New function.
61567         (test_function): Use it.
61568         * tests/test-vasprintf-posix.c (strisnan): New function.
61569         (test_function): Use it.
61570         * tests/test-snprintf-posix.h (strisnan): New function.
61571         (test_function): Use it.
61572         * tests/test-sprintf-posix.h (strisnan): New function.
61573         (test_function): Use it.
61574         Reported by Eric Blake.
61575
61576 2007-05-20  Bruno Haible  <bruno@clisp.org>
61577
61578         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
61579         numbers that fails on BeOS.
61580         * doc/functions/frexpl.texi: Update.
61581
61582 2007-05-20  Jim Meyering  <jim@meyering.net>
61583
61584         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
61585         forced upon us by glibc-2.6.
61586
61587 2007-05-20  Bruno Haible  <bruno@clisp.org>
61588
61589         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
61590         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
61591         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
61592         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
61593         NEED_PRINTF_INFINITE.
61594         (is_infinitel): New function.
61595         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
61596         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
61597         gl_PREREQ_VASNPRINTF_INFINITE.
61598         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
61599         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61600         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
61601         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
61602         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
61603         gl_PREREQ_VASNPRINTF_INFINITE.
61604         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61605         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61606         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61607         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61608         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61609         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61610         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61611         * doc/functions/fprintf.texi: Update.
61612         * doc/functions/printf.texi: Update.
61613         * doc/functions/snprintf.texi: Update.
61614         * doc/functions/sprintf.texi: Update.
61615         * doc/functions/vfprintf.texi: Update.
61616         * doc/functions/vprintf.texi: Update.
61617         * doc/functions/vsnprintf.texi: Update.
61618         * doc/functions/vsprintf.texi: Update.
61619
61620 2007-05-20  Bruno Haible  <bruno@clisp.org>
61621
61622         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
61623         was not found in libc.
61624         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
61625
61626 2007-05-20  Bruno Haible  <bruno@clisp.org>
61627
61628         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61629         printed as "-nan" instead of "nan".
61630         * tests/test-vasprintf-posix.c (test_function): Likewise.
61631         * tests/test-snprintf-posix.h (test_function): Likewise.
61632         * tests/test-sprintf-posix.h (test_function): Likewise.
61633         Needed for HP-UX 11.
61634
61635 2007-05-20  Jim Meyering  <jim@meyering.net>
61636
61637         Fix buggy test for the fchownat-deref bug.
61638         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
61639         symlink required for the run-test.  Without it, this test would
61640         always declare that fchownat doesn't work, and client code would
61641         unnecessarily use the replacement function with fixed libc.
61642         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
61643         Reported by Greg Schafer.
61644
61645 2007-05-19  Bruno Haible  <bruno@clisp.org>
61646
61647         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
61648         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
61649         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
61650         Needed for IRIX 6.5 and Solaris 2.5.1.
61651
61652 2007-05-19  Bruno Haible  <bruno@clisp.org>
61653
61654         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
61655         (test_function): Skip tests involving -0.0 on platforms where
61656         -0.0 = 0.0.
61657         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
61658         (test_function): Skip tests involving -0.0 on platforms where
61659         -0.0 = 0.0.
61660         * tests/test-snprintf-posix.h (have_minus_zero): New function.
61661         (test_function): Skip tests involving -0.0 on platforms where
61662         -0.0 = 0.0.
61663         * tests/test-sprintf-posix.h (have_minus_zero): New function.
61664         (test_function): Skip tests involving -0.0 on platforms where
61665         -0.0 = 0.0.
61666         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
61667         tests.
61668         * tests/test-printf-posix.h (test_function): Likewise.
61669         * tests/test-printf-posix.output: Remove all -0.0 related results.
61670         Needed for IRIX 6.5.
61671
61672 2007-05-19  Bruno Haible  <bruno@clisp.org>
61673
61674         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
61675         printed as "nan0x7fffffff" instead of "nan".
61676         * tests/test-vasprintf-posix.c (test_function): Likewise.
61677         * tests/test-snprintf-posix.h (test_function): Likewise.
61678         * tests/test-sprintf-posix.h (test_function): Likewise.
61679         * tests/test-fprintf-posix.h (NaN): Remove macro.
61680         (test_function): Remove all NaN related tests.
61681         * tests/test-printf-posix.h (NaN): Remove macro.
61682         (test_function): Remove all NaN related tests.
61683         * tests/test-printf-posix.output: Remove all NaN related results.
61684         Needed for IRIX 6.5.
61685
61686 2007-05-19  Bruno Haible  <bruno@clisp.org>
61687
61688         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
61689         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
61690
61691 2007-05-19  Bruno Haible  <bruno@clisp.org>
61692
61693         * lib/float_.h: New file.
61694         * m4/float_h.m4: New file.
61695         * modules/float: New file.
61696         * modules/isnanl (Dependencies): Add float.
61697         * modules/isnanl-nolibm (Dependencies): Likewise.
61698         * modules/mathl (Dependencies): Likewise.
61699         * modules/printf-frexpl (Dependencies): Likewise.
61700         * modules/signbit (Dependencies): Likewise.
61701         * modules/vasnprintf (Dependencies): Likewise.
61702         * doc/headers/float.texi: Update.
61703
61704 2007-05-19  Jim Meyering  <jim@meyering.net>
61705
61706         * lib/utimens.c (gl_futimens): Rename from futimens,
61707         now that glibc-2.6 declares futimens.
61708         * lib/utimens.h: Likewise.
61709
61710 2007-05-19  Bruno Haible  <bruno@clisp.org>
61711
61712         Avoid test failures on mingw.
61713         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
61714         * tests/test-printf-posix.sh: Likewise.
61715         * tests/test-vfprintf-posix.sh: Likewise.
61716         * tests/test-vprintf-posix.sh: Likewise.
61717
61718 2007-05-19  Bruno Haible  <bruno@clisp.org>
61719
61720         Fix *printf result for NaN, Inf, -0.0 on mingw.
61721         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
61722         * lib/vasnprintf.c: Include math.h and isnan.h.
61723         (is_infinite_or_zero): New function.
61724         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
61725         values in the %f, %F, %e, %E, %g, %G directives.
61726         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
61727         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61728         gl_PRINTF_INFINITE and test its result. Invoke
61729         gl_PREREQ_VASNPRINTF_INFINITE.
61730         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61731         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61732         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61733         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61734         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61735         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61736         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61737         * doc/functions/fprintf.texi: Update.
61738         * doc/functions/printf.texi: Update.
61739         * doc/functions/snprintf.texi: Update.
61740         * doc/functions/sprintf.texi: Update.
61741         * doc/functions/vfprintf.texi: Update.
61742         * doc/functions/vprintf.texi: Update.
61743         * doc/functions/vsnprintf.texi: Update.
61744         * doc/functions/vsprintf.texi: Update.
61745
61746 2007-05-19  Bruno Haible  <bruno@clisp.org>
61747
61748         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
61749         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
61750         Instead of multiplying with 10^k, set extra_zeroes to k.
61751         (scale10_round_long_double): Remove function.
61752
61753 2007-05-18  Bruno Haible  <bruno@clisp.org>
61754
61755         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
61756         introduced on 2007-05-06.
61757
61758 2007-05-18  Bruno Haible  <bruno@clisp.org>
61759
61760         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
61761         %g directives.
61762         * tests/test-vasprintf-posix.c (test_function): Likewise.
61763         * tests/test-snprintf-posix.h (test_function): Likewise.
61764         * tests/test-sprintf-posix.h (test_function): Likewise.
61765
61766 2007-05-18  Bruno Haible  <bruno@clisp.org>
61767
61768         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
61769         (strmatch): New function.
61770         (test_function): Test the %f directive on numbers of various exponents.
61771         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
61772         (strmatch): New function.
61773         (test_function): Test the %f directive on numbers of various exponents.
61774         * tests/test-snprintf-posix.h (strmatch): New function.
61775         (test_function): Test the %f directive on numbers of various exponents.
61776         * tests/test-sprintf-posix.h (strmatch): New function.
61777         (test_function): Test the %f directive on numbers of various exponents.
61778         * tests/test-snprintf-posix.c (SIZEOF): New macro.
61779         * tests/test-sprintf-posix.c (SIZEOF): New macro.
61780         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
61781         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
61782
61783 2007-05-18  Bruno Haible  <bruno@clisp.org>
61784
61785         Add support for 'long double' number output.
61786         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
61787         * lib/vasnprintf.c: Include math.h and float+.h.
61788         (mp_limb_t): New type.
61789         (GMP_LIMB_BITS): New macro.
61790         (mp_twolimb_t): New type.
61791         (GMP_TWOLIMB_BITS): New macro.
61792         (mpn_t): New type.
61793         (multiply, divide, convert_to_decimal, decode_long_double,
61794         scale10_round_long_double, scale10_round_decimal_long_double,
61795         floorlog10l): New functions.
61796         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
61797         for the %f, %F, %e, %E, %g, %G directives.
61798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
61799         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61800         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
61801         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
61802         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61803         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61804         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61805         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61806         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61807         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61808         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61809         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
61810         * modules/snprintf-posix (Depends-on): Likewise.
61811         * modules/sprintf-posix (Depends-on): Likewise.
61812         * modules/vasnprintf-posix (Depends-on): Likewise.
61813         * modules/vasprintf-posix (Depends-on): Likewise.
61814         * modules/vfprintf-posix (Depends-on): Likewise.
61815         * modules/vsnprintf-posix (Depends-on): Likewise.
61816         * modules/vsprintf-posix (Depends-on): Likewise.
61817         * modules/vasnprintf (Files): Add lib/float+.h.
61818         * doc/functions/fprintf.texi: Update.
61819         * doc/functions/printf.texi: Update.
61820         * doc/functions/snprintf.texi: Update.
61821         * doc/functions/sprintf.texi: Update.
61822         * doc/functions/vfprintf.texi: Update.
61823         * doc/functions/vprintf.texi: Update.
61824         * doc/functions/vsnprintf.texi: Update.
61825         * doc/functions/vsprintf.texi: Update.
61826
61827 2007-05-18  Bruno Haible  <bruno@clisp.org>
61828
61829         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
61830
61831 2007-05-18  Bruno Haible  <bruno@clisp.org>
61832
61833         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
61834         for printing 64-bit integers. Needed for mingw.
61835
61836 2007-05-18  Bruno Haible  <bruno@clisp.org>
61837
61838         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
61839         gl_FUNC_FREXPL_WORKS.
61840         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
61841
61842 2007-05-18  Bruno Haible  <bruno@clisp.org>
61843
61844         * modules/frexpl-nolibm-tests: New file.
61845
61846         * modules/frexpl-nolibm: New file.
61847         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
61848
61849 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61850
61851         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
61852         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61853         GCC 4.2, which otherwise issues a lot of warnings.
61854         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
61855         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
61856         Likewise.
61857         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
61858         * modules/iconv_open (iconv.h): Likewise.
61859         * modules/locale (locale.h): Likewise.
61860         * modules/netinet_in (netinet/in.h): Likewise.
61861         * modules/sys_select (sys_select.h): Likewise.
61862         * modules/sys_socket (sys/socket.h): Likewise.
61863         * modules/sys_stat (sys/stat.h): Likewise.
61864         * modules/sysexits (sysexits.h): Likewise.
61865         * modules/unistd (unistd.h): Likewise.
61866
61867 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61868
61869         * modules/closein-tests (Makefile.am): Distribute
61870         `test-closein.sh'.
61871
61872 2007-05-17  Bruno Haible  <bruno@clisp.org>
61873
61874         * tests/test-printf-posix.output: Renamed from
61875         tests/test-fprintf-posix.out.
61876         * modules/fprintf-posix-tests: Update.
61877         * modules/printf-posix-tests: Update.
61878         * modules/vfprintf-posix-tests: Update.
61879         * modules/vprintf-posix-tests: Update.
61880         * tests/test-fprintf-posix.sh: Update.
61881         * tests/test-printf-posix.sh: Update.
61882         * tests/test-vfprintf-posix.sh: Update.
61883         * tests/test-vprintf-posix.sh: Update.
61884         Reported by Ralf Wildenhues.
61885
61886 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61887
61888         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
61889         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
61890         GCC 4.2, which otherwise issues a lot of warnings.
61891         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
61892         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
61893         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
61894         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
61895         it should no longer be needed.
61896         * lib/string_.h: Likewise.
61897         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
61898         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
61899         * modules/inttypes (inttypes.h): Likewise.
61900         * modules/math (math.h): Likewise.
61901         * modules/search (search.h): Likewise.
61902         * modules/signal (signal.h): Likewise.
61903         * modules/stdint (stdint.h): Likewise.
61904         * modules/stdio (stdio.h): Likewise.
61905         * modules/stdlib (stdlib.h): Likewise.
61906         * modules/string (string.h): Likewise.
61907         * modules/sys_time (sys/time.h): Likewise.
61908         * modules/time (time.h): Likewise.
61909         * modules/wchar (wchar.h): Likewise.
61910         * modules/wctype (wtype.h): Likewise.
61911
61912 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61913
61914         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
61915
61916 2007-05-13  Bruno Haible  <bruno@clisp.org>
61917
61918         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
61919         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61920         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
61921         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
61922         (gl_PREREQ_STRTOK_R): Don't require it here.
61923
61924 2007-05-13  Bruno Haible  <bruno@clisp.org>
61925
61926         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
61927         when used in C++ mode.
61928
61929 2007-05-12  Bruno Haible  <bruno@clisp.org>
61930
61931         * lib/linebuffer.h: Tweak doc.
61932         * lib/linebuffer.c: Likewise.
61933
61934 2007-05-12  James Youngman  <jay@gnu.org>
61935
61936         * lib/linebuffer.c (readlinebuffer_delim): New function,
61937         like readlinebuffer, but use a caller-specified delimiter.
61938         (readlinebuffer): Just call readlinebuffer_delim with '\n'
61939         as the delimiter.
61940         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
61941
61942 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61943
61944         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
61945         * modules/openat (Files): Remove openat-die.c.
61946         (Depends-on): Add openat-die.
61947         * modules/openat-die: New module.
61948
61949 2007-05-06  Bruno Haible  <bruno@clisp.org>
61950
61951         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
61952         Update with info about Cygwin.
61953         * doc/functions/fprintf.texi: Update.
61954         * doc/functions/printf.texi: Update.
61955         * doc/functions/snprintf.texi: Update.
61956         * doc/functions/sprintf.texi: Update.
61957         * doc/functions/vfprintf.texi: Update.
61958         * doc/functions/vprintf.texi: Update.
61959         * doc/functions/vsnprintf.texi: Update.
61960         * doc/functions/vsprintf.texi: Update.
61961         Reported by Eric Blake.
61962
61963 2007-05-06  Bruno Haible  <bruno@clisp.org>
61964
61965         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
61966         padding ourselves for the floating-point directives.
61967         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
61968         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
61969         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61970         gl_PRINTF_FLAG_ZERO and test its result. Invoke
61971         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
61972         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61973         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
61974         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61975         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61976         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61977         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61978         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61979         * tests/test-snprintf-posix.h (test_function): Also check the width
61980         and some flags in the %f directive.
61981         * tests/test-sprintf-posix.h (test_function): Likewise.
61982         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61983         * tests/test-vasprintf-posix.c (test_function): Likewise.
61984         * doc/functions/fprintf.texi: Update.
61985         * doc/functions/printf.texi: Update.
61986         * doc/functions/snprintf.texi: Update.
61987         * doc/functions/sprintf.texi: Update.
61988         * doc/functions/vfprintf.texi: Update.
61989         * doc/functions/vprintf.texi: Update.
61990         * doc/functions/vsnprintf.texi: Update.
61991         * doc/functions/vsprintf.texi: Update.
61992
61993 2007-05-06  Bruno Haible  <bruno@clisp.org>
61994
61995         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
61996         pass the ' flag character to sprintf or snprintf.
61997         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
61998         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
61999         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62000         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
62001         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
62002         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62003         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
62004         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62005         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62006         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62007         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62008         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62009         * tests/test-snprintf-posix.h (test_function): Also check the grouping
62010         flag.
62011         * tests/test-sprintf-posix.h (test_function): Likewise.
62012         * tests/test-vasnprintf-posix.c (test_function): Likewise.
62013         * tests/test-vasprintf-posix.c (test_function): Likewise.
62014         * doc/functions/fprintf.texi: Update.
62015         * doc/functions/printf.texi: Update.
62016         * doc/functions/snprintf.texi: Update.
62017         * doc/functions/sprintf.texi: Update.
62018         * doc/functions/vfprintf.texi: Update.
62019         * doc/functions/vprintf.texi: Update.
62020         * doc/functions/vsnprintf.texi: Update.
62021         * doc/functions/vsprintf.texi: Update.
62022
62023 2007-05-01  Bruno Haible  <bruno@clisp.org>
62024
62025         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
62026
62027 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
62028
62029         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
62030         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
62031
62032 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62033
62034         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
62035         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
62036         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
62037
62038 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
62039
62040         * lib/argp-help.c (struct hol_entry): New member `ord'.
62041         (HOL_ENTRY_PTRCMP): Use ord for comparison
62042         (hol_sort): Initialize ord.
62043
62044 2007-05-01  Bruno Haible  <bruno@clisp.org>
62045
62046         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
62047         Reported by Eric Blake.
62048         * doc/gnulib.texi (Function Substitutes): Update.
62049
62050 2007-05-01  Bruno Haible  <bruno@clisp.org>
62051
62052         * doc/functions.texi: Remove file, now redundant through
62053         doc/functions/*.texi.
62054
62055 2007-05-01  Bruno Haible  <bruno@clisp.org>
62056
62057         * modules/argp (Depends-on): Add sleep.
62058
62059 2007-05-01  Bruno Haible  <bruno@clisp.org>
62060
62061         * modules/sleep-tests: New file.
62062         * tests/test-sleep.c: New file.
62063
62064         * modules/sleep: New file.
62065         * lib/sleep.c: New file.
62066         * m4/sleep.m4: New file.
62067         * lib/unistd_.h (sleep): New declaration.
62068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
62069         HAVE_SLEEP.
62070         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
62071         * doc/functions/sleep.texi: Document the sleep module.
62072
62073 2007-05-01  Bruno Haible  <bruno@clisp.org>
62074
62075         * lib/sigprocmask.h: Remove file.
62076         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
62077         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
62078         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
62079         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
62080         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
62081         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
62082         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
62083         HAVE_SIGSET_T as a shell variable.
62084         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
62085         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
62086         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
62087         (Depends-on): Add signal. Remove verify.
62088         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
62089         (Include): Mention <signal.h> instead of sigprocmask.h.
62090         * NEWS: Mention the change.
62091         * lib/fatal-signal.c: Don't include sigprocmask.h.
62092
62093 2007-05-01  Bruno Haible  <bruno@clisp.org>
62094
62095         * modules/signal: New file.
62096         * lib/signal_.h: New file.
62097         * m4/signal_h.m4: New file.
62098
62099 2007-05-01  Bruno Haible  <bruno@clisp.org>
62100
62101         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
62102         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
62103         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
62104         HAVE_WCTYPE_CTMP_BUG into wctype.h.
62105
62106 2007-05-01  Bruno Haible  <bruno@clisp.org>
62107
62108         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
62109         configure time.
62110         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
62111         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
62112         * modules/sys_stat (Makefile.am): Substitute their values into
62113         sys/stat.h.
62114
62115 2007-05-01  Bruno Haible  <bruno@clisp.org>
62116
62117         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
62118         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
62119         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
62120
62121 2007-05-01  Bruno Haible  <bruno@clisp.org>
62122
62123         * doc/header/assert.texi: Undo last change: don't mention the gnulib
62124         'assert' module here.
62125
62126 2007-05-01  Bruno Haible  <bruno@clisp.org>
62127
62128         * doc/functions/*.texi: New files.
62129         * doc/functions/google-ranking.txt: New file.
62130         * doc/gnulib.texi (Function Substitutes): New chapter.
62131         (ctime, inet_ntoa): Remove sections.
62132         * doc/ctime.texi: Remove file.
62133         * doc/inet_ntoa.texi: Remove file.
62134         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
62135         dependencies.
62136         (%.info): New rule, specifying a --reference-limit.
62137
62138 2007-05-01  Bruno Haible  <bruno@clisp.org>
62139
62140         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
62141
62142 2007-05-01  Bruno Haible  <bruno@clisp.org>
62143
62144         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
62145         the portability of 'mkdir' to mingw systems.
62146
62147 2007-05-01  Bruno Haible  <bruno@clisp.org>
62148
62149         * doc/headers/google-ranking.txt: New file.
62150
62151 2007-04-30  Eric Blake  <ebb9@byu.net>
62152
62153         Prefer fseeko to fseek.
62154         * modules/getpass (Depends-on): Add fseeko.
62155         * lib/getpass.c (getpass): Use fseeko, not fseek.
62156
62157 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
62158
62159         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
62160         assumes the sorting is stable, while most qsort implementations
62161         are not.  Use argument addresses to ensure they never compare as
62162         equal.
62163
62164         * tests/test-argp-2.sh (usage-indent test): Fix output
62165         (func_compare): Restore diff options
62166         * tests/test-argp.c: Restore #include "progname.h"
62167
62168 2007-04-29  Bruno Haible  <bruno@clisp.org>
62169
62170         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
62171         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62172         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
62173         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62174         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
62175         (configure.ac): Define CHECK_SNPRINTF_POSIX.
62176         (TESTS, check_PROGRAMS): Add test-snprintf.
62177         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
62178         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
62179         (TESTS, check_PROGRAMS): Add test-vsnprintf.
62180         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
62181         assertions that fail on HP-UX, OSF/1, or IRIX.
62182         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
62183
62184 2007-04-29  Bruno Haible  <bruno@clisp.org>
62185
62186         * MODULES.html.sh (posix_functions): Remove 'contents'.
62187
62188 2007-04-29  Karl Berry  <karl@gnu.org>
62189
62190         * config/srclist.txt (gendocs_template_min): new entry.
62191
62192 2007-04-29  Bruno Haible  <bruno@clisp.org>
62193
62194         Work around fpurge bug on BSD systems.
62195         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
62196         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
62197         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
62198         fpurge to rpl_fpurge if the system already has this function.
62199         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
62200         the case where the system already has this function. Correct invariants
62201         on BSD systems.
62202         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
62203         BSD systems.
62204
62205 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62206
62207         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
62208         proposed by Sven Verdoolaege.
62209
62210         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
62211         options.
62212         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
62213         (usage and help tests): Update
62214
62215 2007-04-29  Bruno Haible  <bruno@clisp.org>
62216
62217         * tests/test-fflush.c (main): Use a file of size 17, not 10.
62218         Print more information in case of failure. Disable a test on BeOS.
62219
62220 2007-04-29  Bruno Haible  <bruno@clisp.org>
62221
62222         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
62223         This helps debugging on systems on which no gdb is available.
62224
62225 2007-04-29  Bruno Haible  <bruno@clisp.org>
62226
62227         * lib/freading.h: Improve comments.
62228         * lib/fwriting.h: Likewise.
62229         * tests/test-freading.c (main): Don't check freading immediately after
62230         repositioning. Needed for glibc.
62231
62232 2007-04-29  Bruno Haible  <bruno@clisp.org>
62233
62234         * lib/freading.c (freading): Trivial simplification.
62235
62236 2007-04-28  Bruno Haible  <bruno@clisp.org>
62237
62238         * tests/test-fwriting.c (main): Also test the interaction between
62239         fflush and fwriting.
62240         * modules/fwriting-tests (Depends-on): Add fflush.
62241
62242         * tests/test-freading.c (main): Also test the interaction between
62243         fflush and freading.
62244         * modules/freading-tests (Depends-on): Add fflush.
62245
62246 2007-04-28  Bruno Haible  <bruno@clisp.org>
62247
62248         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
62249         fseeko and ftello.
62250         Suggested by Eric Blake.
62251
62252 2007-04-28  Jim Meyering  <jim@meyering.net>
62253
62254         Avoid false-negative in gl_STDINT_H's C99 conformance test.
62255         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
62256         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
62257
62258 2007-04-27  Eric Blake  <ebb9@byu.net>
62259
62260         * doc/headers/assert.texi (assert.h): Document assert module use.
62261
62262 2007-04-27  Bruno Haible  <bruno@clisp.org>
62263
62264         * doc/headers/*.texi: New files.
62265         * doc/gnulib.texi (Header File Substitutes): New chapter.
62266         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
62267         dependencies.
62268         (standards.info ,standards.html, standards.dvi): Update dependencies.
62269         (mostlyclean, clean): New targets.
62270
62271 2007-04-27  Bruno Haible  <bruno@clisp.org>
62272
62273         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
62274         * modules/sysexits (Files, Makefile.am): Update.
62275
62276         * lib/sys_socket_.h: Renamed from lib/socket_.h.
62277         * modules/sys_socket (Files, Makefile.am): Update.
62278
62279         * lib/sys_stat_.h: Renamed from lib/stat_.h.
62280         * modules/sys_stat (Files, Makefile.am): Update.
62281
62282 2007-04-27  Eric Blake  <ebb9@byu.net>
62283
62284         * lib/freading.h: Improve comments.
62285         * lib/fwriting.h: Likewise.
62286         * lib/fflush.c: Likewise.
62287
62288         Fix closein for mingw.
62289         * modules/closein-tests: Add tests for closein.
62290         * tests/test-closein.c: New file.
62291         * tests/test-closein.sh: Likewise.
62292         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
62293         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
62294
62295 2007-04-27  Bruno Haible  <bruno@clisp.org>
62296
62297         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
62298         version is < 6.
62299         * lib/math_.h [__DECC]: Likewise.
62300         * lib/stdio_.h [__DECC]: Likewise.
62301         * lib/stdlib_.h [__DECC]: Likewise.
62302         * lib/string_.h [__DECC]: Likewise.
62303         * lib/time_.h [__DECC]: Likewise.
62304         * lib/wchar_.h [__DECC]: Likewise.
62305         * lib/wctype_.h [__DECC]: Likewise.
62306
62307 2007-04-27  Bruno Haible  <bruno@clisp.org>
62308
62309         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
62310
62311 2007-04-27  Bruno Haible  <bruno@clisp.org>
62312
62313         * lib/fflush.c: Add comments.
62314         * modules/fpurge-tests (Depends-on): Add fflush.
62315         * modules/freadable-tests (Depends-on): Likewise.
62316         * modules/fwritable-tests (Depends-on): Likewise.
62317
62318 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
62319
62320         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
62321         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
62322         Report by Bruno Haible <bruno@clisp.org>.
62323
62324 2007-04-26  Eric Blake  <ebb9@byu.net>
62325
62326         Fix fflush on mingw.
62327         * modules/fflush (Depends-on): Add freading.
62328         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
62329         but unread data.
62330
62331 2007-04-26  Eric Blake  <ebb9@byu.net>
62332         and Bruno Haible  <bruno@clisp.org>
62333
62334         Implement freading and fwriting.
62335         * lib/freading.c: New file.
62336         * lib/freading.h: Likewise.
62337         * m4/freading.m4: Likewise.
62338         * modules/freading: Likewise.
62339         * modules/freading-tests: Likewise.
62340         * tests/test-freading.c: Likewise.
62341         * lib/fwriting.c: New file.
62342         * lib/fwriting.h: Likewise.
62343         * m4/fwriting.m4: Likewise.
62344         * modules/fwriting: Likewise.
62345         * modules/fwriting-tests: Likewise.
62346         * tests/test-fwriting.c: Likewise.
62347         * MODULES.html.sh (File stream based Input/Output): Mention them.
62348
62349 2007-04-26  Bruno Haible  <bruno@clisp.org>
62350
62351         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
62352         'long' when we assume it.
62353         Suggested by Eric Blake.
62354
62355 2007-04-26  Bruno Haible  <bruno@clisp.org>
62356
62357         Ensure fseeko, ftello are declared on glibc systems.
62358         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
62359         * modules/fseeko (configure.ac-early): Likewise.
62360         * modules/ftello (configure.ac-early): Likewise.
62361         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
62362         AC_FUNC_FSEEKO for this.
62363         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
62364         (gl_CHECK_FSEEKO): Remove macro.
62365
62366 2007-04-26  Bruno Haible  <bruno@clisp.org>
62367
62368         * tests/test-fflush.c (main): Also check the ftell result after
62369         fflush and fseek/fseeko.
62370         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
62371         file descriptor position cache in the stream.
62372         * lib/fseeko.c (rpl_fseeko): Likewise.
62373
62374 2007-04-26  Bruno Haible  <bruno@clisp.org>
62375
62376         * modules/fflush-tests (Depends-on): Add fseeko.
62377
62378 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
62379             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62380
62381         * lib/argz_.h: ensure error_t definition is obtained in same
62382         mechanism system argz.h would have.
62383         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
62384         argz facilities are known bad.  Err on the side of caution if
62385         cross-compiling.
62386
62387 2007-04-25  Eric Blake  <ebb9@byu.net>
62388
62389         * lib/fpurge.c (includes): Use stdlib.h for free.
62390         * tests/test-fflush.c (main): Also test fflush-fseeko.
62391
62392 2007-04-25  Bruno Haible  <bruno@clisp.org>
62393
62394         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
62395         * lib/fseeko.c: New file.
62396         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
62397         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
62398         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
62399         gl_FUNC_FSEEKO.
62400         (gl_FUNC_FSEEKO): Invoke it.
62401         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
62402         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
62403         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
62404
62405 2007-04-25  Bruno Haible  <bruno@clisp.org>
62406
62407         * modules/fflush (Depends-on): Add ftello.
62408
62409 2007-04-25  Bruno Haible  <bruno@clisp.org>
62410
62411         * modules/ftello-tests: New file.
62412         * tests/test-ftello.c: New file.
62413
62414         * modules/ftello: New file.
62415         * m4/ftello.m4: New file.
62416         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
62417         HAVE_FTELLO.
62418         * lib/stdio_.h (ftello): New declaration.
62419         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
62420         HAVE_FTELLO.
62421
62422 2007-04-25  Bruno Haible  <bruno@clisp.org>
62423
62424         * modules/fseeko-tests: New file.
62425         * tests/test-fseeko.c: New file.
62426
62427         * modules/fseeko: New file.
62428         * m4/fseeko.m4: New file.
62429         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
62430         HAVE_FSEEKO.
62431         * lib/stdio_.h (fseeko): New declaration.
62432         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
62433         HAVE_FSEEKO.
62434
62435 2007-04-25  Bruno Haible  <bruno@clisp.org>
62436
62437         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
62438
62439 2007-04-25  Bruno Haible  <bruno@clisp.org>
62440
62441         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
62442         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
62443         * tests/test-unistd.c: Likewise.
62444         * tests/test-fcntl.c: Likewise.
62445
62446 2007-04-23  Eric Blake  <ebb9@byu.net>
62447
62448         * lib/fflush.c: Fix missing include.
62449         Reported by Bruno Haible.
62450
62451 2007-04-23  Bruno Haible  <bruno@clisp.org>
62452
62453         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
62454         Reported by Eric Blake.
62455
62456 2007-04-23  Bruno Haible  <bruno@clisp.org>
62457
62458         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
62459
62460 2007-04-23  Bruno Haible  <bruno@clisp.org>
62461
62462         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
62463
62464 2007-04-23  Bruno Haible  <bruno@clisp.org>
62465
62466         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
62467         Needed on HP-UX 11.
62468
62469 2007-04-16  Eric Blake  <ebb9@byu.net>
62470
62471         Make fflush rely on fpurge.
62472         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
62473         open coding all variants.
62474         * modules/fflush (Depends-on): Add fpurge and unistd.
62475         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
62476         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
62477
62478         Fix --with-tests compilation on cygwin.
62479         * modules/argmatch-tests (Makefile.am): List gnulib library first
62480         in LDADD.
62481         * modules/argp-tests (Makefile.am): Likewise.
62482         * modules/array-list-tests (Makefile.am): Likewise.
62483         * modules/array-oset-tests (Makefile.am): Likewise.
62484         * modules/avltree-list-tests (Makefile.am): Likewise.
62485         * modules/avltree-oset-tests (Makefile.am): Likewise.
62486         * modules/avltreehash-list-tests (Makefile.am): Likewise.
62487         * modules/carray-list-tests (Makefile.am): Likewise.
62488         * modules/dirname-tests (Makefile.am): Likewise.
62489         * modules/frexp-tests (Makefile.am): Likewise.
62490         * modules/isnanl-tests (Makefile.am): Likewise.
62491         * modules/linked-list-tests (Makefile.am): Likewise.
62492         * modules/linkedhash-list-tests (Makefile.am): Likewise.
62493         * modules/lock-tests (Makefile.am): Likewise.
62494         * modules/rbtree-list-tests (Makefile.am): Likewise.
62495         * modules/rbtree-oset-tests (Makefile.am): Likewise.
62496         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
62497         * modules/tls-tests (Makefile.am): Likewise.
62498         * modules/tsearch-tests (Makefile.am): Likewise.
62499         * modules/xvasprintf-tests (Makefile.am): Likewise.
62500
62501         Fix fpurge for cygwin.
62502         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
62503         value.
62504         * modules/fpurge-tests (Depends-on): Clean up trash.
62505
62506 2007-04-16  Simon Josefsson  <simon@josefsson.org>
62507
62508         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
62509
62510         * m4/autobuild.m4: Re-indent.
62511
62512 2007-04-13  Bruno Haible  <bruno@clisp.org>
62513
62514         * modules/fpurge-tests: New file.
62515         * tests/test-fpurge.c: New file.
62516
62517         * modules/fpurge: New file.
62518         * lib/fpurge.h: New file.
62519         * lib/fpurge.c: New file.
62520         * m4/fpurge.m4: New file.
62521
62522 2007-04-13  Bruno Haible  <bruno@clisp.org>
62523
62524         * modules/fbufmode-tests: New file.
62525         * tests/test-fbufmode.c: New file.
62526
62527         * modules/fbufmode: New file.
62528         * lib/fbufmode.h: New file.
62529         * lib/fbufmode.c: New file.
62530         * m4/fbufmode.m4: New file.
62531
62532 2007-04-13  Bruno Haible  <bruno@clisp.org>
62533
62534         * modules/fwritable-tests: New file.
62535         * tests/test-fwritable.c: New file.
62536
62537         * modules/fwritable: New file.
62538         * lib/fwritable.h: New file.
62539         * lib/fwritable.c: New file.
62540         * m4/fwritable.m4: New file.
62541
62542 2007-04-13  Bruno Haible  <bruno@clisp.org>
62543
62544         * modules/freadable-tests: New file.
62545         * tests/test-freadable.c: New file.
62546
62547         * modules/freadable: New file.
62548         * lib/freadable.h: New file.
62549         * lib/freadable.c: New file.
62550         * m4/freadable.m4: New file.
62551
62552 2007-04-13  Bruno Haible  <bruno@clisp.org>
62553
62554         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
62555         MOSTLYCLEANFILES.
62556
62557 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62558
62559         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
62560         gzip bootstrap.conf to avoid dragging in i18n machinery.
62561         (gnulib_tool_option): Use it.
62562
62563 2007-04-13  Bruno Haible  <bruno@clisp.org>
62564
62565         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
62566         %F directives.
62567         * tests/test-vasprintf-posix.c (test_function): Likewise.
62568         * tests/test-snprintf-posix.h (test_function): Likewise.
62569         * tests/test-sprintf-posix.h (test_function): Likewise.
62570         * tests/test-fprintf-posix.h (test_function): Likewise.
62571         * tests/test-printf-posix.h (test_function): Likewise.
62572         * tests/test-fprintf-posix.out: Likewise.
62573
62574 2007-04-13  Bruno Haible  <bruno@clisp.org>
62575
62576         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
62577         * modules/tls-tests (configure.ac): Likewise.
62578         Reported by Arto C. Nirkko <anirkko@insel.ch>.
62579
62580 2007-04-13  Bruno Haible  <bruno@clisp.org>
62581
62582         * lib/tls.c (glthread_tls_get): Fix return type.
62583         Patch by Arto C. Nirkko <anirkko@insel.ch>.
62584
62585 2007-04-12  Eric Blake  <ebb9@byu.net>
62586
62587         * modules/gettime (Depends-on): Remove gettime.
62588         Reported by Dmitry V. Levin.
62589
62590 2007-04-12  Bruno Haible  <bruno@clisp.org>
62591
62592         * modules/fflush (Include): Mention <stdio.h>.
62593         * modules/strtoimax (Include): Mention <inttypes.h>.
62594         * modules/strtoumax (Include): Likewise.
62595
62596 2007-04-12  Eric Blake  <ebb9@byu.net>
62597
62598         * .cvsignore: New file.
62599         * .gitignore: Likewise.
62600
62601 2007-04-12  Bruno Haible  <bruno@clisp.org>
62602
62603         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
62604         not before, since $(LDADD) often contains libgnu.a.
62605         * modules/striconv-tests (test_striconv_LDADD): Likewise.
62606         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
62607         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
62608         Needed on Cygwin.
62609
62610 2007-04-12  Eric Blake  <ebb9@byu.net>
62611
62612         Work around glibc's failure to flush stdin on fclose.
62613         * lib/closein.c (close_stdin): Flush stdin before closing.
62614
62615         Work around glibc's failure to reset seekable stdin on exit.
62616         * modules/closein: New module.
62617         * lib/closein.c: New file.
62618         * lib/closein.h: Likewise.
62619         * m4/closein.m4: Likewise.
62620         * MODULES.html.sh (File stream based Input/Output): Document it.
62621
62622 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62623
62624         * gnulib-tool: Rename generated 'autobuild' script to
62625         'do-autobuild' in --create-megatestdir output.
62626
62627         * doc/gnulib.texi (Build robot for gnulib): Fix.
62628
62629 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62630
62631         * modules/sysexits (Depends-on): Add absolute-header.
62632
62633 2007-04-12  Eric Blake  <ebb9@byu.net>
62634
62635         No need to preserve errno on success.
62636         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
62637         Reported by Bruno Haible.
62638
62639 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62640
62641         * MODULES.html.sh (Support for maintaining and releasing
62642         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
62643
62644 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62645
62646         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
62647
62648 2007-04-12  Simon Josefsson  <simon@josefsson.org>
62649
62650         * modules/autobuild: New module.
62651
62652         * m4/autobuild.m4: New file.
62653
62654 2007-04-11  Bruno Haible  <bruno@clisp.org>
62655
62656         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
62657         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
62658         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
62659         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
62660         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62661         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62662         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62663         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
62664         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62665         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62666         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
62667         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62668         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62669         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
62670         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62671         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62672         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
62673         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62674         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62675         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
62676         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62677         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62678         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
62679         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62680         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62681         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
62682         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
62683         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
62684         Reported by Eric Blake.
62685
62686 2007-04-11  Bruno Haible  <bruno@clisp.org>
62687
62688         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
62689
62690 2007-04-10  Bruno Haible  <bruno@clisp.org>
62691
62692         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
62693         for NaN and Infinity. Needed on FreeBSD 6.1.
62694         * tests/test-vasnprintf-posix.c (test_function): Undo last change
62695         regarding results for "%010a" of Infinity and NaN.
62696         * tests/test-vasprintf-posix.c (test_function): Likewise.
62697         * tests/test-snprintf-posix.h (test_function): Likewise.
62698         * tests/test-sprintf-posix.h (test_function): Likewise.
62699         * tests/test-fprintf-posix.h (test_function): Likewise.
62700         * tests/test-printf-posix.h (test_function): Likewise.
62701         * tests/test-fprintf-posix.out: Likewise.
62702
62703 2007-04-10  Bruno Haible  <bruno@clisp.org>
62704
62705         * modules/locale-tests: New file.
62706         * tests/test-locale.c: New file.
62707
62708         * modules/locale: New file.
62709         * lib/locale_.h: New file.
62710         * m4/locale_h.m4: New file.
62711
62712 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
62713             Bruno Haible  <bruno@clisp.org>
62714
62715         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
62716         be determined, test for availability of the copysignf, copysign,
62717         copysignl functions.
62718         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
62719         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
62720         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
62721
62722 2007-04-09  Eric Blake  <ebb9@byu.net>
62723
62724         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
62725         * modules/stdio (Makefile.am): Support fflush.
62726         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
62727         * modules/fflush: New file.
62728         * lib/fflush.c: Likewise.
62729         * m4/fflush.m4: Likewise.
62730         * modules/fflush-tests: New test.
62731         * tests/test-fflush.c: Likewise.
62732         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
62733
62734 2007-04-06  Bruno Haible  <bruno@clisp.org>
62735
62736         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
62737         (VASNPRINTF): Use signbit for faster determination whether to print a
62738         minus sign.
62739         * modules/vasnprintf (Files): Remove lib/float+.h.
62740         * modules/fprintf-posix (Depends-on): Add signbit.
62741         * modules/snprintf-posix (Depends-on): Likewise.
62742         * modules/sprintf-posix (Depends-on): Likewise.
62743         * modules/vasnprintf-posix (Depends-on): Likewise.
62744         * modules/vasprintf-posix (Depends-on): Likewise.
62745         * modules/vfprintf-posix (Depends-on): Likewise.
62746         * modules/vsnprintf-posix (Depends-on): Likewise.
62747         * modules/vsprintf-posix (Depends-on): Likewise.
62748
62749 2007-04-06  Bruno Haible  <bruno@clisp.org>
62750
62751         * tests/test-frexp.c (main): Test also the sign bit of zero results.
62752         * tests/test-frexpl.c (main): Likewise.
62753         * tests/test-ldexpl.c (main): Likewise.
62754         * modules/frexp-tests (Depends-on): Add signbit.
62755         * modules/frexpl-tests (Depdends-on): Likewise.
62756         * modules/ldexpl-tests (Depdends-on): Likewise.
62757
62758 2007-04-06  Bruno Haible  <bruno@clisp.org>
62759
62760         * modules/signbit-tests: New file.
62761         * tests/test-signbit.c: New file.
62762
62763         * modules/signbit: New file.
62764         * lib/signbitf.c: New file.
62765         * lib/signbitd.c: New file.
62766         * lib/signbitl.c: New file.
62767         * m4/signbit.m4: New file.
62768         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
62769         (signbit): New macro.
62770         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
62771         REPLACE_SIGNBIT.
62772         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
62773         REPLACE_FREXPL into math.h.
62774
62775 2007-04-06  Bruno Haible  <bruno@clisp.org>
62776
62777         * modules/isnanf-nolibm-tests: New file.
62778         * tests/test-isnanf.c: New file.
62779
62780         * modules/isnanf-nolibm: New file.
62781         * lib/isnanf.h: New file.
62782         * lib/isnanf.c: New file.
62783         * lib/isnan.c: Consider the USE_FLOAT macro.
62784         * m4/isnanf.m4: New file.
62785
62786 2007-04-06  Bruno Haible  <bruno@clisp.org>
62787
62788         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
62789         (Link): New section.
62790
62791         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
62792
62793 2007-04-06  Bruno Haible  <bruno@clisp.org>
62794
62795         Assume the 'long double' type.
62796         * m4/longdouble.m4: Remove file.
62797         * config/srclist.txt: Don't mention longdouble.m4.
62798         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
62799         * lib/float+.h: Likewise.
62800         * lib/frexp.c: Likewise.
62801         * lib/printf-args.h: Likewise.
62802         * lib/printf-args.c: Likewise.
62803         * lib/printf-frexp.c: Likewise.
62804         * lib/printf-parse.c: Likewise.
62805         * lib/vasnprintf.c: Likewise.
62806         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
62807         * m4/intl.m4: Likewise.
62808         * m4/isnanl.m4: Likewise.
62809         * m4/printf.m4: Likewise.
62810         * m4/printf-frexpl.m4: Likewise.
62811         * m4/vasnprintf.m4: Likewise.
62812         * modules/allocsa (Files): Remove m4/longdouble.m4.
62813         * modules/gettext (Files): Likewise.
62814         * modules/relocatable-prog-wrapper (Files): Likewise.
62815         * modules/vasnprintf (Files): Likewise.
62816         * modules/isnanl (Files): Likewise.
62817         (Include): Simplify.
62818         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
62819         (Include): Simplify.
62820         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
62821         (Include): Simplify.
62822         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
62823         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62824         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
62825         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62826         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62827         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62828         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
62829         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62830         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
62831         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62832         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
62833         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
62834         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
62835         * tests/test-isnanl.c: Likewise.
62836         * tests/test-snprintf-posix.h: Likewise.
62837         * tests/test-sprintf-posix.h: Likewise.
62838         * tests/test-vasnprintf-posix.c: Likewise.
62839         * tests/test-vasnprintf-posix2.c: Likewise.
62840         * tests/test-vasprintf-posix.c: Likewise.
62841
62842 2007-04-06  Bruno Haible  <bruno@clisp.org>
62843
62844         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
62845         * lib/math_.h [__DECC]: Include the overridden include file through
62846         #include_next, outside the double-inclusion guard.
62847         * lib/stdio_.h [__DECC]: Likewise.
62848         * lib/stdlib_.h [__DECC]: Likewise.
62849         * lib/string_.h [__DECC]: Likewise.
62850         * lib/time_.h [__DECC]: Likewise.
62851         * lib/wchar_.h [__DECC]: Likewise.
62852         * lib/wctype_.h [__DECC]: Likewise.
62853         * lib/inttypes_.h [__DECC]: Likewise.
62854         Reported by Albert Chin <china@thewrittenword.com> in
62855         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
62856
62857 2007-04-04  Eric Blake  <ebb9@byu.net>
62858
62859         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
62860         1.5.x.
62861
62862 2007-04-04  Bruno Haible  <bruno@clisp.org>
62863
62864         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
62865         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
62866
62867 2007-04-04  Bruno Haible  <bruno@clisp.org>
62868
62869         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
62870         results for "%010a" of Infinity and NaN.
62871         * tests/test-vasprintf-posix.c (test_function): Likewise.
62872         * tests/test-snprintf-posix.h (test_function): Likewise.
62873         * tests/test-sprintf-posix.h (test_function): Likewise.
62874         * tests/test-fprintf-posix.h (test_function): Remove these tests.
62875         * tests/test-printf-posix.h (test_function): Likewise.
62876         * tests/test-fprintf-posix.out: Update.
62877         Needed for FreeBSD 6.1.
62878
62879 2007-04-04  Bruno Haible  <bruno@clisp.org>
62880
62881         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
62882         directly used by the gnulib modules nor by gnulib-tool.
62883
62884 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
62885
62886         * DEPENDENCIES: Give overall description of version dependency
62887         desirability.  Use more-typical names for apps.
62888         Add shell, coreutils, diffutils, grep, tar, gzip.
62889
62890 2007-04-04  Simon Josefsson  <simon@josefsson.org>
62891
62892         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
62893
62894 2007-04-04  Karl Berry  <karl@gnu.org>
62895
62896         * MODULES.html.sh (func_module): missing '.
62897
62898 2007-04-03  Bruno Haible  <bruno@clisp.org>
62899
62900         * modules/argmatch-tests (Makefile.am): New variable
62901         test_argmatch_LDADD.
62902         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
62903         * modules/array-list-tests (Makefile.am): New variable
62904         test_array_list_LDADD.
62905         * modules/array-oset-tests (Makefile.am): New variable
62906         test_array_oset_LDADD.
62907         * modules/avltree-list-tests (Makefile.am): New variable
62908         test_avltree_list_LDADD.
62909         * modules/avltree-oset-tests (Makefile.am): New variable
62910         test_avltree_oset_LDADD.
62911         * modules/avltreehash-list-tests (Makefile.am): New variable
62912         test_avltreehash_list_LDADD.
62913         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
62914         test_canonicalize_lgpl_LDADD.
62915         * modules/carray-list-tests (Makefile.am): New variable
62916         test_carray_list_LDADD.
62917         * modules/dirname-tests (Makefile.am): New variable
62918         test_dirname_LDADD.
62919         * modules/linked-list-tests (Makefile.am): New variable
62920         test_linked_list_LDADD.
62921         * modules/linkedhash-list-tests (Makefile.am): New variable
62922         test_linkedhash_list_LDADD.
62923         * modules/rbtree-list-tests (Makefile.am): New variable
62924         test_rbtree_list_LDADD.
62925         * modules/rbtree-oset-tests (Makefile.am): New variable
62926         test_rbtree_oset_LDADD.
62927         * modules/rbtreehash-list-tests (Makefile.am): New variable
62928         test_rbtreehash_list_LDADD.
62929         * modules/xvasprintf-tests (Makefile.am): New variable
62930         test_xvasprintf_LDADD.
62931         Reported by Eric Blake.
62932
62933 2007-04-03  Eric Blake  <ebb9@byu.net>
62934
62935         * DEPENDENCIES: Weaken m4 requirements.
62936
62937 2007-04-03  Bruno Haible  <bruno@clisp.org>
62938
62939         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
62940         * modules/isnanl-tests (configure.ac): Likewise.
62941
62942 2007-04-03  Ben Pfaff  <blp@gnu.org>
62943
62944         * modules/iconv_open: Add $(srcdir)/ to source directory
62945         references in Makefile fragments that call gperf, to fix VPATH
62946         builds.
62947
62948 2007-04-03  Bruno Haible  <bruno@clisp.org>
62949
62950         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
62951         * lib/ldexpl.c: Undo last change.
62952
62953 2007-04-03  Bruno Haible  <bruno@clisp.org>
62954
62955         * modules/printf-frexpl (Depends-on): Undo last change.
62956         (Files): Add m4/ldexpl.m4.
62957
62958 2007-04-03  Bruno Haible  <bruno@clisp.org>
62959
62960         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
62961         * modules/isnanl (Link): New section.
62962
62963         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
62964         * modules/frexp (Link): New section.
62965
62966         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
62967         * modules/frexpl (Link): New section.
62968
62969         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
62970         * modules/ldexpl (Link): New section.
62971
62972 2007-04-03  Bruno Haible  <bruno@clisp.org>
62973
62974         * modules/TEMPLATE-EXTENDED: New file.
62975         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
62976
62977 2007-04-03  Bruno Haible  <bruno@clisp.org>
62978
62979         * DEPENDENCIES: New file.
62980         Suggested by Simon Josefsson.
62981
62982 2007-04-03  Bruno Haible  <bruno@clisp.org>
62983
62984         * doc/gnulib.texi: Escape @.
62985
62986 2007-04-03  James Youngman  <jay@gnu.org>
62987         and Paul Eggert  <eggert@cs.ucla.edu>
62988
62989         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
62990         birthtime on all systems that have birthtime, not just those which
62991         use st_birthtimensec rather than st_birthtim.  Putting zero in
62992         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
62993         that the birth time is not available for files on an NFS mount.
62994
62995 2007-04-03  Simon Josefsson  <simon@josefsson.org>
62996
62997         * modules/memxor: Move back from crypto/, suggested by Bruno.
62998         * modules/crypto/hmac-sha1: Fix memxor dependency.
62999
63000         * modules/crypto/gc: Moved from ../.
63001
63002 2007-04-02  Eric Blake  <ebb9@byu.net>
63003
63004         * lib/ldexpl.c (includes): Avoid libm.
63005
63006         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
63007
63008 2007-04-02  Bruno Haible  <bruno@clisp.org>
63009
63010         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
63011         on IRIX.
63012
63013 2007-04-02  Bruno Haible  <bruno@clisp.org>
63014
63015         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
63016         x86 or x86_64 platforms running MacOS X.
63017         Reported by Ryan Schmidt <@ryandesign.com>.
63018
63019 2007-04-02  Bruno Haible  <bruno@clisp.org>
63020
63021         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
63022         i386.
63023
63024 2007-04-01  Simon Josefsson  <simon@josefsson.org>
63025
63026         * modules/crypto/arcfour: Moved from ../.
63027         * modules/crypto/arcfour-tests: Moved from ../.
63028         * modules/crypto/arctwo: Moved from ../.
63029         * modules/crypto/arctwo-tests: Moved from ../.
63030         * modules/crypto/des: Moved from ../.
63031         * modules/crypto/des-tests: Moved from ../.
63032         * modules/crypto/gc-arcfour: Moved from ../.
63033         * modules/crypto/gc-arcfour-tests: Moved from ../.
63034         * modules/crypto/gc-arctwo: Moved from ../.
63035         * modules/crypto/gc-arctwo-tests: Moved from ../.
63036         * modules/crypto/gc-des: Moved from ../.
63037         * modules/crypto/gc-des-tests: Moved from ../.
63038         * modules/crypto/gc-hmac-md5: Moved from ../.
63039         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
63040         * modules/crypto/gc-hmac-sha1: Moved from ../.
63041         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
63042         * modules/crypto/gc-md2: Moved from ../.
63043         * modules/crypto/gc-md2-tests: Moved from ../.
63044         * modules/crypto/gc-md4: Moved from ../.
63045         * modules/crypto/gc-md4-tests: Moved from ../.
63046         * modules/crypto/gc-md5: Moved from ../.
63047         * modules/crypto/gc-md5-tests: Moved from ../.
63048         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
63049         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
63050         * modules/crypto/gc-random: Moved from ../.
63051         * modules/crypto/gc-rijndael: Moved from ../.
63052         * modules/crypto/gc-rijndael-tests: Moved from ../.
63053         * modules/crypto/gc-sha1: Moved from ../.
63054         * modules/crypto/gc-sha1-tests: Moved from ../.
63055         * modules/crypto/gc-tests: Moved from ../.
63056         * modules/crypto/hmac-md5: Moved from ../.
63057         * modules/crypto/hmac-md5-tests: Moved from ../.
63058         * modules/crypto/hmac-sha1: Moved from ../.
63059         * modules/crypto/hmac-sha1-tests: Moved from ../.
63060         * modules/crypto/md2: Moved from ../.
63061         * modules/crypto/md2-tests: Moved from ../.
63062         * modules/crypto/md4: Moved from ../.
63063         * modules/crypto/md4-tests: Moved from ../.
63064         * modules/crypto/md5: Moved from ../.
63065         * modules/crypto/md5-tests: Moved from ../.
63066         * modules/crypto/memxor: Moved from ../.
63067         * modules/crypto/rijndael: Moved from ../.
63068         * modules/crypto/rijndael-tests: Moved from ../.
63069         * modules/crypto/sha1: Moved from ../.
63070
63071 2007-03-30  James Youngman  <jay@gnu.org>
63072
63073         * tests/test-stat-time.c (prepare_test): use chmod() rather than
63074         rename() to change the ctime of a file (because ctime is unaffected
63075         by rename on jfs2 on AIX 5.1).
63076         (main): Start by doing cleanup, in case a previous run failed leaving
63077         test files behind.
63078
63079 2007-03-31  Bruno Haible  <bruno@clisp.org>
63080
63081         Support old proprietary implementations of iconv.
63082         * modules/iconv_open: New file.
63083         * lib/iconv_.h: New file.
63084         * m4/iconv_h.m4: New file.
63085         * lib/iconv_open.c: New file.
63086         * lib/iconv_open-aix.gperf: New file.
63087         * lib/iconv_open-hpux.gperf: New file.
63088         * lib/iconv_open-irix.gperf: New file.
63089         * lib/iconv_open-osf.gperf: New file.
63090         * m4/iconv_open.m4: New file.
63091         * modules/linebreak (Depends-on): Add iconv_open.
63092         * modules/striconv (Depends-on): Likewise.
63093         * modules/striconveh (Depends-on): Likewise.
63094         * modules/unicodeio (Depends-on): Likewise.
63095         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
63096         (iconv_t)(-1).
63097         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
63098         conversion if cd is (iconv_t)(-1).
63099         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
63100         is not possible.
63101
63102 2007-03-31  Bruno Haible  <bruno@clisp.org>
63103
63104         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63105         work on Solaris either. Protect also second use of "autodetect_jp".
63106
63107 2007-03-31  Bruno Haible  <bruno@clisp.org>
63108
63109         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
63110         the function is not present.
63111
63112 2007-03-31  Bruno Haible  <bruno@clisp.org>
63113
63114         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
63115         the function is not present.
63116
63117 2007-03-31  Bruno Haible  <bruno@clisp.org>
63118
63119         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
63120         a bug in HP-UX iconv_open().
63121
63122 2007-03-31  Bruno Haible  <bruno@clisp.org>
63123
63124         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
63125         (Mathematics <math.h>): New section, add fpieee.
63126         (Input/output <stdio.h>): Add fseterr.
63127         (Mathematics <math.h>): New section, add printf-frexp.
63128         (Container data structures): Add sublist.
63129         (Core language properties): Add fpucw, inline.
63130         (Functions for greatest-width integer types <inttypes.h>): Add
63131         imaxabs, imaxdiv, inttypes.
63132         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
63133         isnanl-nolibm, ldexp.
63134         (Mathematics <math.h>): New section, add printf-frexpl.
63135         (Support for systems lacking POSIX:2001): Add fprintf-posix,
63136         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
63137         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
63138         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
63139         (Unicode string functions): Add unistr/u*-mbtoucr.
63140         (Java): Add javacomp-script, javaexec-script.
63141         (C#): Add csharpcomp-script, csharpexec-script.
63142         (Support for building libraries and executables): Add havelib,
63143         relocatable-*.
63144         (Support for maintaining and releasing projects): Renamed from
63145         'Support for maintaining and release projects'. Add announce-gen.
63146
63147 2007-03-31  Bruno Haible  <bruno@clisp.org>
63148
63149         * README: Talk primarily about git.
63150         (git and CVS): Renamed from CVS.
63151         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
63152         gnulib is available through git.
63153         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
63154
63155 2007-03-30  Bruno Haible  <bruno@clisp.org>
63156
63157         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
63158         * lib/poll_.h: Likewise.
63159         * lib/stat_.h: Likewise.
63160         * lib/sys_time_.h: Likewise.
63161         * lib/sysexit_.h: Likewise.
63162         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
63163         * lib/stdbool_.h: Likewise.
63164         * lib/byteswap_.h: Add double-inclusion guard.
63165
63166 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
63167
63168         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
63169
63170 2007-03-30  Karl Berry  <karl@gnu.org>
63171
63172         * config/srclist-update: double space after USA in the license
63173         substitution, since that's how it's usually (?) written.
63174
63175 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
63176
63177         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
63178         reported by Bruno Haible.
63179
63180 2007-03-29  Bruno Haible  <bruno@clisp.org>
63181
63182         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
63183         a bug in AIX iconv().
63184
63185 2007-03-29  Bruno Haible  <bruno@clisp.org>
63186
63187         * modules/ldexpl-tests: New file.
63188         * tests/test-ldexpl.c: New file.
63189
63190 2007-03-29  Bruno Haible  <bruno@clisp.org>
63191
63192         * lib/ldexpl.c: Include fpucw.h.
63193         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
63194         multiplication.
63195         * modules/ldexpl (Depends-on): Add fpucw.
63196
63197 2007-03-29  Bruno Haible  <bruno@clisp.org>
63198
63199         * modules/ldexpl: New file.
63200         * m4/ldexpl.m4: New file.
63201         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
63202         set.
63203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
63204         REPLACE_LDEXPL.
63205         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
63206         REPLACE_LDEXPL.
63207         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63208         gl_FUNC_LDEXPL_WORKS.
63209         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
63210         * modules/mathl (Files): Remove lib/ldexpl.c.
63211         (Depends-on): Add ldexpl.
63212
63213 2007-03-29  Bruno Haible  <bruno@clisp.org>
63214
63215         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
63216
63217 2007-03-29  Bruno Haible  <bruno@clisp.org>
63218
63219         * tests/test-striconveh.c (main): Don't assume that a direct conversion
63220         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
63221         and possibly also HP-UX.
63222         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
63223         work on AIX, IRIX, HP-UX, OSF/1.
63224         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
63225         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
63226         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
63227         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
63228         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
63229         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
63230
63231 2007-03-29  Bruno Haible  <bruno@clisp.org>
63232
63233         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
63234
63235 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63236
63237         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
63238         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
63239
63240 2007-03-29  Eric Blake  <ebb9@byu.net>
63241
63242         * lib/acl-internal.h: Remove redundant include.
63243         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
63244         Cygwin when a file is locked.
63245
63246 2007-03-29  Bruno Haible  <bruno@clisp.org>
63247
63248         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
63249         file.
63250         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
63251
63252 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
63253
63254         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
63255         try to remove a parent directory if the child couldn't be removed
63256         (except for the first rmdir, which could fail because the child
63257         doesn't exist).  Problem reported by Jeff Blaine in
63258         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
63259
63260 2007-03-28  Bruno Haible  <bruno@clisp.org>
63261
63262         * lib/striconveh.c (utf8conv_carefully): New function.
63263         (mem_cd_iconveh_internal): Invoke it.
63264
63265 2007-03-28  Bruno Haible  <bruno@clisp.org>
63266
63267         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
63268         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
63269         input.
63270         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
63271         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
63272         unistr/u8-uctomb.
63273
63274 2007-03-28  Bruno Haible  <bruno@clisp.org>
63275
63276         * modules/unistr/u8-mbtoucr: New file.
63277         * lib/unistr/u8-mbtoucr.c: New file.
63278         * modules/unistr/u16-mbtoucr: New file.
63279         * lib/unistr/u16-mbtoucr.c: New file.
63280         * modules/unistr/u16-mbtoucr: New file.
63281         * lib/unistr/u16-mbtoucr.c: New file.
63282         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
63283
63284 2007-03-27  Simon Josefsson  <simon@josefsson.org>
63285             Bruno Haible  <bruno@clisp.org>
63286
63287         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
63288         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
63289         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
63290
63291         * m4/stdio_h.m4: Add stubs for vasprintf too.
63292
63293         * modules/stdio: Support vasprintf in sed command.
63294
63295         * modules/vasprintf: Depend on stdio for prototypes.  Remove
63296         vasprintf.h.  Add stdio module indicator.
63297
63298         * lib/stdio_.h: Declare asprintf and vasprintf, based on
63299         vasprintf.h.
63300
63301         * lib/vasprintf.h: File removed.
63302
63303         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
63304         * lib/vasprintf.c: Ditto.
63305         * lib/xvasprintf.c: Ditto.
63306         * tests/test-vasprintf-posix.c: Ditto.
63307         * tests/test-vasprintf.c: Ditto.
63308
63309 2007-03-27  Bruno Haible  <bruno@clisp.org>
63310
63311         Make vasnprintf multithread-safe.
63312         * lib/vasnprintf.c (decimal_point_char): New function.
63313         (VASNPRINTF): Use it.
63314         Suggested by Simon Josefsson.
63315
63316 2007-03-27  Eric Blake  <ebb9@byu.net>
63317
63318         Support sub-second birthtime on cygwin.
63319         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
63320         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
63321         (get_stat_birthtime): Also work with st_birthtim.
63322
63323 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
63324
63325         * lib/stat-time.h (USE_BIRTHTIME): Remove.
63326         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
63327         (get_stat_birthtime_ns): Do not try to use "spare" fields.
63328         (get_stat_birthtime_ns): Simplify compile-time tests.
63329         (get_stat_birthtime): Change the API to look like
63330         get_stat_mtime etc., except return a negative tv_nsec on error.
63331         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
63332         Don't check for "spare" fields.
63333         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
63334         or for struct stat.st_birthtime, as these tests aren't used.
63335         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
63336
63337 2007-03-27  Bruno Haible  <bruno@clisp.org>
63338
63339         * lib/stat-time.h: Include <sys/stat.h>.
63340
63341 2007-03-27  James Youngman  <jay@gnu.org>
63342
63343         * lib/stat-time.h (get_stat_birthtime): New function for
63344           retrieving st_birthtime as provided by UFS2 (hence *BSD).
63345         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
63346           and its variants.
63347         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
63348         * modules/stat-time-test: New file.
63349         * tests/test-stat-time.c: New test, devised by Bruno Haible.
63350
63351 2007-03-26  Bruno Haible  <bruno@clisp.org>
63352
63353         Better support of signalling NaNs.
63354         * lib/atanl.c: Include isnanl.h.
63355         (atanl): Perform test for NaN at the beginning of the function and
63356         through a call to isnanl.
63357         * lib/cosl.c: Include isnanl.h.
63358         (cosl): Perform test for NaN at the beginning of the function and
63359         through a call to isnanl.
63360         * lib/ldexpl.c: Include isnanl.h.
63361         (ldexpl): Perform test for NaN through a call to isnanl.
63362         * lib/logl.c: Include isnanl.h.
63363         (logl): Perform test for NaN at the beginning of the function and
63364         through a call to isnanl.
63365         * lib/sinl.c: Include isnanl.h.
63366         (sinl): Perform test for NaN at the beginning of the function and
63367         through a call to isnanl.
63368         * lib/sqrtl.c: Include isnanl.h.
63369         (sqrtl): Perform test for NaN at the beginning of the function and
63370         through a call to isnanl.
63371         * lib/tanl.c: Include isnanl.h.
63372         (tanl): Perform test for NaN at the beginning of the function and
63373         through a call to isnanl.
63374         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
63375         * modules/mathl (Depends-on): Add isnanl.
63376
63377 2007-03-26  Eric Blake  <ebb9@byu.net>
63378
63379         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
63380         regression in logic sense of previous patch.
63381
63382 2007-03-26  Bruno Haible  <bruno@clisp.org>
63383
63384         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
63385         unportable shell command "if ! ...".
63386         Reported by Ralf Wildenhues.
63387
63388 2007-03-25  Bruno Haible  <bruno@clisp.org>
63389
63390         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
63391         <sysexits.h> file, and only add EX_CONFIG.
63392         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
63393         absolute file name and whether it is sufficient. Substitute also
63394         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
63395         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
63396         ABSOLUTE_SYSEXITS_H into sysexits.h.
63397
63398 2007-03-25  Bruno Haible  <bruno@clisp.org>
63399
63400         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
63401         hints is NULL.
63402
63403 2007-03-25  Bruno Haible  <bruno@clisp.org>
63404
63405         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
63406         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
63407
63408 2007-03-25  Bruno Haible  <bruno@clisp.org>
63409
63410         * lib/vasnprintf.c: Include langinfo.h.
63411         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
63412         multithread-safe.
63413         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
63414         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
63415         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63416         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63417         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63418         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63419         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63420         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
63421         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63422         Reported by Simon Josefsson.
63423
63424 2007-03-25  Bruno Haible  <bruno@clisp.org>
63425
63426         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
63427         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
63428         * modules/vasnprintf (Depends-on): Add stdint.
63429
63430 2007-03-25  Bruno Haible  <bruno@clisp.org>
63431
63432         * modules/fpieee: New file.
63433         * m4/fpieee.m4: New file.
63434         * modules/isnan-nolibm (Depends-on): Add fpieee.
63435         * modules/isnanl-nolibm (Depends-on): Add fpieee.
63436         * modules/isnanl (Depends-on): Add fpieee.
63437
63438 2007-03-25  Bruno Haible  <bruno@clisp.org>
63439
63440         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
63441
63442 2007-03-25  Bruno Haible  <bruno@clisp.org>
63443
63444         Avoid test failures on IRIX 6.5.
63445         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
63446         (main): Use it.
63447         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
63448         macros.
63449         (main): Use them.
63450
63451 2007-03-25  Bruno Haible  <bruno@clisp.org>
63452
63453         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
63454         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
63455         exists but doesn't work.
63456         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
63457         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
63458         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
63459         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
63460         math.h.
63461
63462 2007-03-25  Bruno Haible  <bruno@clisp.org>
63463
63464         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
63465         returns inf. Needed on IRIX 6.5.
63466
63467 2007-03-25  Bruno Haible  <bruno@clisp.org>
63468
63469         * tests/test-frexpl.c: Include isnanl-nolibm.h.
63470         (main): Use isnanl instead of x != x idiom.
63471         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
63472
63473         * tests/test-frexp.c: Include isnan.h.
63474         (main): Use isnan instead of x != x idiom.
63475         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
63476
63477 2007-03-25  Bruno Haible  <bruno@clisp.org>
63478
63479         * tests/test-frexp.c (NaN): New function/macro.
63480         (main): Use it instead of 0.0 / 0.0.
63481         * tests/test-isnan.c (NaN): New function/macro.
63482         (main): Use it instead of 0.0 / 0.0.
63483         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
63484         (test_function): Use it instead of 0.0 / 0.0.
63485         * tests/test-vasprintf-posix.c (NaN): New function/macro.
63486         (test_function): Use it instead of 0.0 / 0.0.
63487         * tests/test-snprintf-posix.h (NaN): New function/macro.
63488         (test_function): Use it instead of 0.0 / 0.0.
63489         * tests/test-sprintf-posix.h (NaN): New function/macro.
63490         (test_function): Use it instead of 0.0 / 0.0.
63491         * tests/test-fprintf-posix.h (NaN): New function/macro.
63492         (test_function): Use it instead of 0.0 / 0.0.
63493         * tests/test-printf-posix.h (NaN): New function/macro.
63494         (test_function): Use it instead of 0.0 / 0.0.
63495
63496         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
63497
63498 2007-03-25  Bruno Haible  <bruno@clisp.org>
63499
63500         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
63501
63502 2007-03-25  Bruno Haible  <bruno@clisp.org>
63503
63504         * lib/regexec.c (merge_state_with_log): Make static.
63505
63506 2007-03-25  Bruno Haible  <bruno@clisp.org>
63507
63508         * lib/trigl.c (kernel_rem_pio2): Make static.
63509
63510 2007-03-25  Bruno Haible  <bruno@clisp.org>
63511
63512         * lib/sincosl.c (sincosl_table): Make static.
63513
63514 2007-03-25  Bruno Haible  <bruno@clisp.org>
63515
63516         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
63517         if the compiler does not support C99.
63518
63519 2007-03-25  Bruno Haible  <bruno@clisp.org>
63520
63521         * modules/time (Makefile.am): Ensure all rule action lines start with a
63522         tab.
63523
63524 2007-03-24  Bruno Haible  <bruno@clisp.org>
63525
63526         * modules/tsearch-tests: New file.
63527         * tests/test-tsearch.sh: New file.
63528         * tests/test-tsearch.c: New file, mostly copied from glibc.
63529
63530         * modules/search-tests: New file.
63531         * tests/test-search.c: New file.
63532
63533         * modules/search: New file.
63534         * lib/search_.h: New file, incorporating lib/tsearch.h.
63535         * m4/search_h.m4: New file.
63536         * lib/tsearch.h: Remove file.
63537         * lib/tsearch.c: Include search.h instead of tsearch.h.
63538         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
63539         HAVE_TSEARCH.
63540         * modules/tsearch (Files): Remove lib/tsearch.h.
63541         (Depends-on): Add search.
63542         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
63543         (Include): Change tsearch.h into search.h.
63544
63545 2007-03-24  Bruno Haible  <bruno@clisp.org>
63546
63547         * modules/fpucw: New file.
63548         * lib/fpucw.h: New file.
63549         * lib/frexp.c: Include fpucw.h.
63550         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63551         (FUNC): Use them.
63552         * lib/printf-frexp.c: Include fpucw.h.
63553         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
63554         (FUNC): Use them.
63555         * lib/vasnprintf.c: Include fpucw.h.
63556         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
63557         'long double' calculations.
63558         * tests/test-frexpl.c: Include fpucw.h.
63559         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63560         * tests/test-printf-frexpl.c: Include fpucw.h.
63561         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
63562         * modules/frexpl (Depends-on): Add fpucw.
63563         * modules/printf-frexpl (Depends-on): Likewise.
63564         * modules/fprintf-posix (Depends-on): Likewise.
63565         * modules/snprintf-posix (Depends-on): Likewise.
63566         * modules/sprintf-posix (Depends-on): Likewise.
63567         * modules/vasnprintf-posix (Depends-on): Likewise.
63568         * modules/vasprintf-posix (Depends-on): Likewise.
63569         * modules/vfprintf-posix (Depends-on): Likewise.
63570         * modules/vsnprintf-posix (Depends-on): Likewise.
63571         * modules/vsprintf-posix (Depends-on): Likewise.
63572         * modules/frexpl-tests (Depends-on): Likewise.
63573         * modules/printf-frexpl-tests (Depends-on): Likewise.
63574
63575 2007-03-24  Bruno Haible  <bruno@clisp.org>
63576
63577         * lib/float+.h: New file.
63578         * lib/isnan.c: Include float+.h.
63579         (SIZE): New macro.
63580         (FUNC): Compare only SIZE bytes of the value.
63581         * lib/vasnprintf.c: Include float+.h.
63582         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
63583         SIZEOF_LDBL or SIZEOF_DBL bytes.
63584         * modules/isnan-nolibm (Files): Add lib/float+.h.
63585         * modules/isnanl-nolibm (Files): Add lib/float+.h.
63586         * modules/isnanl (Files): Add lib/float+.h.
63587         * modules/vasnprintf (Files): Add lib/float+.h.
63588
63589 2007-03-24  Bruno Haible  <bruno@clisp.org>
63590
63591         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
63592         include isnanl-nolibm.h.
63593
63594 2007-03-24  Bruno Haible  <bruno@clisp.org>
63595
63596         * tests/test-read-file.c (main): Don't produce spurious output for
63597         expected situations. Make the test fail if it encountered unexpected
63598         results.
63599
63600 2007-03-24  Bruno Haible  <bruno@clisp.org>
63601
63602         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
63603         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
63604
63605 2007-03-24  Bruno Haible  <bruno@clisp.org>
63606
63607         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
63608
63609 2007-03-24  Bruno Haible  <bruno@clisp.org>
63610
63611         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
63612         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
63613
63614         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
63615         * modules/utf8-ucs4: Turn into a symbolic link to module
63616         unistr/u8-mbtouc.
63617
63618         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
63619         utf8-ucs4-unsafe.
63620         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
63621         unistr/u8-mbtouc-unsafe.
63622
63623         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
63624         * modules/utf16-ucs4: Turn into a symbolic link to module
63625         unistr/u16-mbtouc.
63626
63627         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
63628         utf16-ucs4-unsafe.
63629         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
63630         unistr/u16-mbtouc-unsafe.
63631
63632         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
63633         * modules/ucs4-utf8: Turn into a symbolic link to module
63634         unistr/u8-ubtomb.
63635
63636         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
63637         * modules/ucs4-utf16: Turn into a symbolic link to module
63638         unistr/u16-ubtomb.
63639
63640 2007-03-24  Bruno Haible  <bruno@clisp.org>
63641
63642         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
63643         Enable the function only if HAVE_INLINE.
63644         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
63645         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63646         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
63647         Enable the function only if HAVE_INLINE.
63648         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
63649         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
63650         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
63651         Enable the function only if HAVE_INLINE.
63652         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
63653         Enable the function only if HAVE_INLINE.
63654         * modules/utf8-ucs4: Update.
63655         * modules/utf8-ucs4-unsafe: Update.
63656         * modules/utf16-ucs4: Update.
63657         * modules/utf16-ucs4-unsafe: Update.
63658         * modules/ucs4-utf8: Update.
63659         * modules/ucs4-utf16: Update.
63660
63661 2007-03-24  Bruno Haible  <bruno@clisp.org>
63662
63663         * lib/utf8-ucs4.h: Remove file.
63664         * lib/utf8-ucs4-unsafe.h: Remove file.
63665         * lib/utf16-ucs4.h: Remove file.
63666         * lib/utf16-ucs4-unsafe.h: Remove file.
63667         * lib/ucs4-utf8.h: Remove file.
63668         * lib/ucs4-utf16.h: Remove file.
63669         * lib/unistr.h: Include their previous contents.
63670         * m4/utf-ucs4.m4: Remove file.
63671         * m4/ucs4-utf.m4: Remove file.
63672         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
63673         (Depends-on): Add unistr/base.
63674         (configure.ac): Remove gl_UTF_UCS4.
63675         (Makefile.am): Update.
63676         (Include): Change to unistr.h.
63677         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
63678         (Depends-on): Add unistr/base.
63679         (configure.ac): Remove gl_UTF_UCS4.
63680         (Makefile.am): Update.
63681         (Include): Change to unistr.h.
63682         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
63683         (Depends-on): Add unistr/base.
63684         (configure.ac): Remove gl_UTF_UCS4.
63685         (Makefile.am): Update.
63686         (Include): Change to unistr.h.
63687         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
63688         (Depends-on): Add unistr/base.
63689         (configure.ac): Remove gl_UTF_UCS4.
63690         (Makefile.am): Update.
63691         (Include): Change to unistr.h.
63692         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
63693         (Depends-on): Add unistr/base.
63694         (configure.ac): Remove gl_UCS4_UTF.
63695         (Makefile.am): Update.
63696         (Include): Change to unistr.h.
63697         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
63698         (Depends-on): Add unistr/base.
63699         (configure.ac): Remove gl_UCS4_UTF.
63700         (Makefile.am): Update.
63701         (Include): Change to unistr.h.
63702         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
63703         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
63704         utf8-ucs4-unsafe.h.
63705         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
63706         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
63707         utf16-ucs4-unsafe.h.
63708         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
63709         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
63710         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
63711         * lib/unistr/u8-strchr.c: Likewise.
63712         * lib/unistr/u8-strrchr.c: Likewise.
63713         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
63714         * lib/unistr/u16-strchr.c: Likewise.
63715         * lib/unistr/u16-strrchr.c: Likewise.
63716         * lib/striconveh.c: Update.
63717         * lib/linebreak.c: Update.
63718
63719 2007-03-24  Bruno Haible  <bruno@clisp.org>
63720
63721         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
63722         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
63723
63724 2007-03-22  Bruno Haible  <bruno@clisp.org>
63725
63726         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
63727
63728 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
63729
63730         * MODULES.html.sh (File system functions): New module write-any-file.
63731         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
63732         * m4/write-any-file.m4: New files.
63733
63734 2007-03-23  Eric Blake  <ebb9@byu.net>
63735
63736         * gnulib-tool: Rearrange space-tab sequences, since some editors
63737         like to eat them.
63738
63739 2007-03-23  Eric Blake  <ebb9@byu.net>
63740
63741         * lib/version-etc.c (version_etc_va): Update license wording to
63742         be more concise.  Recommended by Richard Stallman.
63743
63744 2007-03-22  Bruno Haible  <bruno@clisp.org>
63745
63746         * lib/poll.c (MSG_PEEK): New fallback definition.
63747
63748 2007-03-22  Bruno Haible  <bruno@clisp.org>
63749
63750         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
63751         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
63752         (main): Update.
63753         Fixes a compilation error on BeOS.
63754
63755 2007-03-22  Bruno Haible  <bruno@clisp.org>
63756
63757         * modules/frexpl-tests: New file.
63758         * tests/test-frexpl.c: New file.
63759
63760         * modules/frexpl: New file.
63761         * m4/frexpl.m4: New file.
63762         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
63763         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
63764         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
63765         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
63766         (Depends-on): Add frexpl. Remove isnanl-nolibm.
63767         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
63768
63769 2007-03-22  Bruno Haible  <bruno@clisp.org>
63770
63771         * lib/frexpl.c: Share code with lib/frexp.c.
63772         * modules/mathl (Files): Add lib/frexp.c.
63773         (Depends-on): Add isnanl-nolibm.
63774
63775 2007-03-22  Bruno Haible  <bruno@clisp.org>
63776
63777         * modules/printf-frexp (Files): Add m4/frexp.m4.
63778         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
63779         only if the found frexp function actually works.
63780
63781 2007-03-22  Bruno Haible  <bruno@clisp.org>
63782
63783         * lib/frexp.c: Remove older implementation that uses divisions.
63784
63785 2007-03-21  Bruno Haible  <bruno@clisp.org>
63786
63787         * modules/frexp-tests: New file.
63788         * tests/test-frexp.c: New file.
63789
63790         * modules/frexp: New file.
63791         * lib/frexp.c: New file.
63792         * m4/frexp.m4: New file.
63793         * lib/math_.h (frexp): New declaration.
63794         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
63795         REPLACE_FREXP.
63796         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
63797
63798 2007-03-21  Bruno Haible  <bruno@clisp.org>
63799
63800         * modules/isnanl-tests: New file.
63801         * tests/test-isnanl.c: New file.
63802
63803         * modules/isnanl: New file.
63804         * lib/isnanl.h: New file.
63805         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
63806         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
63807         gl_FUNC_ISNANL_WORKS.
63808         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
63809         New macros.
63810
63811 2007-03-21  Bruno Haible  <bruno@clisp.org>
63812
63813         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
63814         lib/isnanl.h.
63815         (Include): Update.
63816         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
63817         * lib/vasnprintf.c: Update.
63818         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
63819         tests/test-isnanl.h, remove tests/test-isnanl.c.
63820         (Makefile.am): Update.
63821         * tests/test-isnanl-nolibm.c: New file.
63822         * tests/test-isnanl.h: New file.
63823         * tests/test-isnanl.c: Remove file.
63824
63825 2007-03-21  Jim Meyering  <jim@meyering.net>
63826
63827         When trying to open ".", treat ESTALE like EACCES.
63828         * lib/savewd.c (savewd_save): Resort to forking not just upon
63829         failure with EACCES, but also when errno is ESTALE.
63830
63831 2007-03-20  Bruno Haible  <bruno@clisp.org>
63832
63833         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
63834         Needed on AIX 5.1. Reported by Matthew Woehlke.
63835
63836 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63837
63838         Suggestions by Bruno Haible:
63839         * lib/acl-internal.h: Include "gettext.h" rather than rolling
63840         our own.
63841         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
63842         * modules/acl (Depends-on): Add gettext.
63843
63844 2007-03-19  Bruno Haible  <bruno@clisp.org>
63845
63846         * modules/iconvme: Remove file.
63847         * lib/iconvme.h: Remove file.
63848         * lib/iconvme.c: Remove file.
63849         * m4/iconvme.m4: Remove file.
63850
63851 2007-03-19  Bruno Haible  <bruno@clisp.org>
63852
63853         * doc/relocatable-maint.texi: Break long shell script line.
63854         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63855
63856 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63857
63858         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
63859         handle file_has_acl.
63860         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
63861         * lib/acl.c: Move header inclusions and related macro defns into
63862         lib/acl-internal.h.
63863         (S_ISLNK): Remove defn, since that's now done for us.
63864         (file_has_acl): Move to lib/file-has-acl.c.
63865         Call acl_trivial if available.  This is the crucial part of the fix.
63866         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
63867         shared within the library.  Rewrite a bit, partly to make it compatible
63868         with the GNU coding style.
63869         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
63870         Remove unnecessary double-quotes.
63871         Don't test for acl_to_text; the build will catch that.
63872         Replace acl_entries if it doesn't exist and it is needed.
63873         Check for -lsec and acl_trivial (as used on Solaris 10).
63874         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
63875         lib/file-has-acl.c.
63876         (Depends-on): Add sys_stat, for S_ISLNK.
63877
63878 2007-03-19  Ben Pfaff  <blp@gnu.org>
63879
63880         * doc/gnulib.texi: Fix typos.
63881         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
63882
63883 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
63884
63885         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
63886         If size is zero here, buf must be zero.
63887
63888 2007-03-19  Simon Josefsson  <simon@josefsson.org>
63889
63890         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
63891         <bruno@clisp.org>.
63892
63893 2007-03-18  Bruno Haible  <bruno@clisp.org>
63894
63895         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
63896         Suggested by Eric Blake.
63897
63898 2007-03-18  Ben Pfaff  <blp@gnu.org>
63899
63900         * doc/relocatable.texi: Recommend using as prefix a directory
63901         that does not exist and will never be created.  Based on
63902         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
63903         and others.
63904
63905 2007-03-17  Bruno Haible  <bruno@clisp.org>
63906
63907         * lib/fchownat.c: Include lchown.h.
63908
63909 2007-03-17  Bruno Haible  <bruno@clisp.org>
63910
63911         Fix endless loop when the given allocated size was > INT_MAX.
63912         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
63913         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
63914         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
63915         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
63916         * lib/sprintf.c (sprintf): Likewise.
63917
63918 2007-03-17  Bruno Haible  <bruno@clisp.org>
63919
63920         * tests/test-argp-2.sh (func_compare): Output a context diff.
63921
63922 2007-03-17  Bruno Haible  <bruno@clisp.org>
63923
63924         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
63925         locale's decimal-point character.
63926
63927 2007-03-17  Bruno Haible  <bruno@clisp.org>
63928
63929         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
63930         before comparing it. Needed because on some platforms (e.g. x86) a
63931         'long double' occupies less bytes than sizeof (long double).
63932
63933 2007-03-17  Bruno Haible  <bruno@clisp.org>
63934
63935         * tests/test-crc.c (main): Make printf statements 64-bit clean.
63936         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
63937         * tests/test-getaddrinfo.c (simple): Likewise.
63938         * tests/test-read-file.c (main): Likewise.
63939
63940 2007-03-17  Bruno Haible  <bruno@clisp.org>
63941
63942         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
63943
63944 2007-03-17  Bruno Haible  <bruno@clisp.org>
63945
63946         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
63947         unused variable.
63948
63949 2007-03-17  Bruno Haible  <bruno@clisp.org>
63950
63951         * tests/test-c-strcasecmp.c: Include c-strcase.h.
63952         * tests/test-c-strncasecmp.c: Likewise.
63953
63954 2007-03-17  Bruno Haible  <bruno@clisp.org>
63955
63956         * modules/stdlib (Depends-on): Add unistd.
63957         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
63958         Needed for MacOS X 10.3.
63959
63960 2007-03-17  Bruno Haible  <bruno@clisp.org>
63961
63962         * lib/unistr/u-strdup.h: Include <stdlib.h>.
63963
63964 2007-03-17  Bruno Haible  <bruno@clisp.org>
63965
63966         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
63967
63968 2007-03-17  Bruno Haible  <bruno@clisp.org>
63969
63970         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
63971         to reflect files copied from gnulib (with or without modifications).
63972         Suggested by Jim Meyering.
63973
63974 2007-03-17  Eric Blake  <ebb9@byu.net>
63975
63976         * NEWS: Document stdlib change from 2007-02-18.
63977
63978 2007-03-17  Jim Meyering  <jim@meyering.net>
63979
63980         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
63981         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
63982         someone uses a name containing shell meta-characters.
63983         Reported by Alfred M. Szmidt.
63984
63985         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
63986
63987 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
63988
63989         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
63990         and copy gettext configuration files only if configure.ac contains
63991         a use of AM_GNU_GETTEXT_VERSION.
63992
63993 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
63994
63995         * build-aux/bootstrap (gnulib_name): New variable.
63996         (gnulib_tool_options): Use it.
63997
63998 2007-03-13  Simon Josefsson  <simon@josefsson.org>
63999
64000         * tests/test-des.c: Use new namespace.
64001
64002 2007-03-15  Bruno Haible  <bruno@clisp.org>
64003
64004         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
64005         Reported by James Youngman <jay@gnu.org>.
64006
64007 2007-03-15  Bruno Haible  <bruno@clisp.org>
64008
64009         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
64010         declared prototype. Needed with cc on OSF/1 5.1.
64011
64012 2007-03-15  Bruno Haible  <bruno@clisp.org>
64013
64014         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
64015         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
64016         (struct gl_list_implementation): Add dispose_fn argument to the
64017         'create_empty', 'create' methods.
64018         (struct gl_list_impl_base): Add field 'dispose_fn'.
64019         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
64020         argument.
64021         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
64022         dispose_fn argument.
64023         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
64024         dispose_fn on the dropped values.
64025         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
64026         dispose_fn argument.
64027         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
64028         dropped values.
64029         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
64030         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64031         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
64032         (gl_tree_remove_node): Call dispose_fn on the dropped value.
64033         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
64034         argument.
64035         (gl_tree_list_free): Call dispose_fn on the dropped values.
64036         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
64037         the dropped values.
64038         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
64039         Add dispose_fn argument.
64040         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
64041         Call dispose_fn on the dropped values.
64042         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
64043         Add dispose_fn argument.
64044         (gl_sublist_create): Initialize the 'dispose_fn' field.
64045         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
64046         * tests/test-array_list.c (main): Update.
64047         * tests/test-carray_list.c (main): Update.
64048         * tests/test-avltree_list.c (main): Update.
64049         * tests/test-rbtree_list.c (main): Update.
64050         * tests/test-avltreehash_list.c (main): Update.
64051         * tests/test-rbtreehash_list.c (main): Update.
64052         * tests/test-linked_list.c (main): Update.
64053         * tests/test-linkedhash_list.c (main): Update.
64054         * tests/test-array_oset.c (main): Update.
64055
64056 2007-03-15  Bruno Haible  <bruno@clisp.org>
64057
64058         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
64059         (gl_oset_create_empty): Add dispose_fn argument.
64060         (struct gl_oset_implementation): Add dispose_fn argument to
64061         'create_empty' method.
64062         (struct gl_oset_impl_base): Add dispose_fn field.
64063         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
64064         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
64065         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
64066         values.
64067         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
64068         (gl_tree_oset_free): Call dispose_fn on the dropped values.
64069         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64070         dropped value.
64071         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
64072         dropped value.
64073         * tests/test-array_oset.c (main): Update.
64074         * tests/test-avltree_oset.c (main): Update.
64075         * tests/test-rbtree_oset.c (main): Update.
64076         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
64077
64078 2007-03-13  Bruno Haible  <bruno@clisp.org>
64079
64080         * tests/test-stdbool.c (i): Update after last patch.
64081
64082 2007-03-12  Bruno Haible  <bruno@clisp.org>
64083
64084         * lib/quotearg.c: Include <wctype.h> early, before the definition of
64085         the iswprint macro. Needed on Solaris 2.5.1.
64086
64087 2007-03-12  Bruno Haible  <bruno@clisp.org>
64088
64089         * tests/test-printf-frexp.c (main): Declare x as volatile.
64090
64091 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64092
64093         * doc/gnulib.texi (Build robot for gnulib): New section.
64094
64095 2007-03-12  Jim Meyering  <jim@meyering.net>
64096
64097         * build-aux/bootstrap: New file.
64098         * build-aux/bootstrap.conf: New file, from coreutils.
64099
64100 2007-03-11  Bruno Haible  <bruno@clisp.org>
64101
64102         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
64103
64104 2007-03-12  Simon Josefsson  <simon@josefsson.org>
64105
64106         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
64107         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
64108         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
64109
64110 2007-03-11  Bruno Haible  <bruno@clisp.org>
64111
64112         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
64113         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
64114
64115 2007-03-11  Bruno Haible  <bruno@clisp.org>
64116
64117         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
64118         formula. Needed for SunPRO C 5.0.
64119
64120 2007-03-11  Bruno Haible  <bruno@clisp.org>
64121
64122         * modules/long-options (Depends-on): Add getopt.
64123
64124 2007-03-11  Bruno Haible  <bruno@clisp.org>
64125
64126         * modules/modechange (Depends-on): Add stdbool.
64127
64128 2007-03-11  Bruno Haible  <bruno@clisp.org>
64129
64130         * modules/i-ring (Depends-on): Add stdbool.
64131
64132 2007-03-11  Bruno Haible  <bruno@clisp.org>
64133
64134         * modules/gc-des (Depends-on): Add stdbool.
64135
64136 2007-03-11  Bruno Haible  <bruno@clisp.org>
64137
64138         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
64139
64140 2007-03-11  Bruno Haible  <bruno@clisp.org>
64141
64142         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
64143
64144 2007-03-11  Bruno Haible  <bruno@clisp.org>
64145
64146         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
64147
64148 2007-03-11  Bruno Haible  <bruno@clisp.org>
64149
64150         * lib/vasnprintf.c (sprintf): Undefine.
64151
64152 2007-03-11  Bruno Haible  <bruno@clisp.org>
64153
64154         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
64155         initializers in SunPRO C and Compaq C compilers.
64156
64157 2007-03-11  Bruno Haible  <bruno@clisp.org>
64158
64159         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
64160         decrementing code ANSI C compliant.
64161
64162 2007-03-11  Bruno Haible  <bruno@clisp.org>
64163
64164         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
64165         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
64166
64167 2007-03-11  Bruno Haible  <bruno@clisp.org>
64168
64169         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
64170         <stdbool.h> substitute doesn't pass.
64171
64172 2007-03-11  Bruno Haible  <bruno@clisp.org>
64173
64174         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
64175
64176 2007-03-11  Bruno Haible  <bruno@clisp.org>
64177
64178         * gnulib-tool (func_create_megatestdir): Create also an autobuild
64179         script, for submission to autobuild.josefsson.org.
64180
64181 2007-03-10  Bruno Haible  <bruno@clisp.org>
64182
64183         * modules/canonicalize-lgpl-tests: New file.
64184         * tests/test-canonicalize-lgpl.sh: New file.
64185         * tests/test-canonicalize-lgpl.c: New file.
64186
64187         * modules/c-strcase-tests: New file.
64188         * tests/test-c-strcase.sh: New file.
64189         * tests/test-c-strcasecmp.c: New file.
64190         * tests/test-c-strncasecmp.c: New file.
64191
64192         * modules/atexit-tests: New file.
64193         * tests/test-atexit.sh: New file.
64194         * tests/test-atexit.c: New file.
64195
64196 2007-03-10  Bruno Haible  <bruno@clisp.org>
64197
64198         * tests/test-binary-io.sh: Use temporary filenames that are not so
64199         likely to clash with those of other tests (in a parallel make).
64200         * tests/test-binary-io.c: Likewise.
64201
64202 2007-03-10  Bruno Haible  <bruno@clisp.org>
64203
64204         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
64205         fallback; use #error instead.
64206         Suggested by Simon Josefsson.
64207
64208 2007-03-10  Bruno Haible  <bruno@clisp.org>
64209
64210         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
64211         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
64212         first and the last.
64213
64214 2007-03-10  Bruno Haible  <bruno@clisp.org>
64215
64216         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
64217
64218 2007-03-10  Bruno Haible  <bruno@clisp.org>
64219
64220         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
64221         "make distcheck".
64222         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
64223         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
64224         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
64225
64226 2007-03-10  Bruno Haible  <bruno@clisp.org>
64227
64228         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
64229         variable.
64230         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
64231         variable.
64232
64233 2007-03-09  Eric Blake  <ebb9@byu.net>
64234         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
64235
64236         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
64237         types are not being provided by gnulib.
64238         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
64239         types are supported.
64240
64241 2007-03-10  Bruno Haible  <bruno@clisp.org>
64242
64243         * lib/stdio_.h (__attribute__): New macro.
64244         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
64245         vsprintf): Specify __attribute__ __format__ for GCC.
64246         Suggested by Eric Blake.
64247
64248 2007-03-09  Bruno Haible  <bruno@clisp.org>
64249
64250         * modules/printf-posix-tests: New file.
64251         * tests/test-printf-posix.sh: New file.
64252         * tests/test-printf-posix.c: New file.
64253
64254         * modules/printf-posix: New file.
64255         * lib/printf.c: New file.
64256         * m4/printf-posix-rpl.m4: New file.
64257         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
64258         REPLACE_PRINTF.
64259         * lib/stdio_.h (printf): New declaration.
64260         (format, __format__, ____printf____, ____scanf____, ____strftime____,
64261         ____strfmon____): New macros.
64262         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
64263         REPLACE_PRINTF.
64264
64265 2007-03-09  Bruno Haible  <bruno@clisp.org>
64266
64267         * tests/test-vasnprintf-posix2.sh: New file.
64268         * tests/test-vasnprintf-posix2.c: New file.
64269         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
64270         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
64271         (Makefile.am): Activate test-vasnprintf-posix2.sh.
64272
64273         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
64274         a locale dependent decimal point, rather than always '.'.
64275
64276 2007-03-09  Eric Blake  <ebb9@byu.net>
64277
64278         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
64279         spite of platforms like Tandem/NSK that define it to -1.
64280
64281 2007-03-08  Bruno Haible  <bruno@clisp.org>
64282
64283         * modules/vprintf-posix-tests: New file.
64284         * tests/test-vprintf-posix.sh: New file.
64285         * tests/test-vprintf-posix.c: New file.
64286         * tests/test-printf-posix.h: New file.
64287
64288         * modules/vprintf-posix: New file.
64289         * lib/vprintf.c: New file.
64290         * m4/vprintf-posix.m4: New file.
64291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
64292         REPLACE_VPRINTF.
64293         * lib/stdio_.h (vprintf): New declaration.
64294         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
64295         REPLACE_VPRINTF.
64296
64297 2007-03-08  Bruno Haible  <bruno@clisp.org>
64298
64299         * modules/fprintf-posix-tests: New file.
64300         * tests/test-fprintf-posix.sh: New file.
64301         * tests/test-fprintf-posix.c: New file.
64302
64303         * modules/fprintf-posix: New file.
64304         * lib/fprintf.c: New file.
64305         * m4/fprintf-posix.m4: New file.
64306         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
64307         REPLACE_FPRINTF.
64308         * lib/stdio_.h (fprintf): New declaration.
64309         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
64310         REPLACE_FPRINTF.
64311
64312 2007-03-08  Bruno Haible  <bruno@clisp.org>
64313
64314         * modules/vfprintf-posix-tests: New file.
64315         * tests/test-vfprintf-posix.sh: New file.
64316         * tests/test-vfprintf-posix.c: New file.
64317         * tests/test-fprintf-posix.h: New file.
64318         * tests/test-fprintf-posix.out: New file.
64319
64320         * modules/vfprintf-posix: New file.
64321         * lib/vfprintf.c: New file.
64322         * m4/vfprintf-posix.m4: New file.
64323         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
64324         REPLACE_VFPRINTF.
64325         * lib/stdio_.h (vfprintf): New declaration.
64326         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
64327         REPLACE_VFPRINTF.
64328
64329 2007-03-08  Bruno Haible  <bruno@clisp.org>
64330
64331         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
64332
64333 2007-03-08  Bruno Haible  <bruno@clisp.org>
64334
64335         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
64336         instead of 'expr' invocations.
64337         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64338         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64339         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64340         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64341         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64342         Suggested by Paul Eggert.
64343
64344 2007-03-08  Bruno Haible  <bruno@clisp.org>
64345
64346         * modules/fseterr-tests: New file.
64347         * tests/test-fseterr.c: New file.
64348
64349         * modules/fseterr: New file.
64350         * lib/fseterr.h: New file.
64351         * lib/fseterr.c: New file.
64352
64353 2007-03-08  Bruno Haible  <bruno@clisp.org>
64354
64355         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
64356         * lib/getopt_.h: Likewise.
64357         * lib/mbswidth.h: Likewise.
64358         * lib/setenv.h: Likewise.
64359         * lib/vasnprintf.h: Likewise.
64360         * lib/vasprintf.h: Likewise.
64361         * lib/verror.h: Likewise.
64362         * lib/xsetenv.h: Likewise.
64363         * lib/xvasprintf.h: Likewise.
64364
64365 2007-03-08  Jim Meyering  <jim@meyering.net>
64366
64367         * users.txt: Add parted.
64368
64369         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
64370
64371 2007-03-07  Bruno Haible  <bruno@clisp.org>
64372
64373         * m4/printf.m4: Make the shell script snippets copy&pastable.
64374
64375 2007-03-02  Bruno Haible  <bruno@clisp.org>
64376
64377         * lib/netinet_in_.h: New file.
64378         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
64379         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
64380         * modules/netinet_in (Files): Add lib/netinet_in_.h.
64381         (Depends-on): Add absolute-header.
64382         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
64383         into netinet/in.h.
64384
64385 2007-03-03  Bruno Haible  <bruno@clisp.org>
64386
64387         * lib/sys_select_.h: New file.
64388         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
64389         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
64390         * modules/sys_select (Files): Add lib/sys_select_.h.
64391         (Depends-on): Add absolute-header.
64392         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
64393         into sys/select.h.
64394
64395 2007-03-02  Bruno Haible  <bruno@clisp.org>
64396
64397         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
64398         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
64399         values.
64400         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
64401         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
64402         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
64403         * modules/sys_socket (Depends-on): Add absolute-header.
64404         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
64405         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
64406         (Include): Remove requirement of inclusion of <sys/types.h>.
64407
64408 2007-03-02  Bruno Haible  <bruno@clisp.org>
64409
64410         * lib/byteswap_.h (bswap_32): Fix formula.
64411
64412 2007-03-06  Bruno Haible  <bruno@clisp.org>
64413
64414         * modules/sprintf-posix-tests: New file.
64415         * tests/test-sprintf-posix.c: New file.
64416
64417         * modules/sprintf-posix: New file.
64418         * lib/sprintf.c: New file.
64419         * m4/sprintf-posix.m4: New file.
64420         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
64421         REPLACE_SPRINTF.
64422         * lib/stdio_.h (sprintf): New declaration.
64423         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
64424         REPLACE_SPRINTF.
64425
64426 2007-03-06  Bruno Haible  <bruno@clisp.org>
64427
64428         * modules/vsprintf-posix-tests: New file.
64429         * tests/test-vsprintf-posix.c: New file.
64430         * tests/test-sprintf-posix.h: New file.
64431
64432         * modules/vsprintf-posix: New file.
64433         * lib/vsprintf.c: New file.
64434         * m4/vsprintf-posix.m4: New file.
64435         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
64436         REPLACE_VSPRINTF.
64437         * lib/stdio_.h (vsprintf): New declaration.
64438         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
64439         REPLACE_VSPRINTF.
64440
64441 2007-03-06  Bruno Haible  <bruno@clisp.org>
64442
64443         * modules/vsnprintf (Depend-on): Remove minmax.
64444
64445 2007-03-06  Bruno Haible  <bruno@clisp.org>
64446
64447         * modules/snprintf-posix-tests: New file.
64448         * tests/test-snprintf-posix.c: New file.
64449
64450         * modules/snprintf-posix: New file.
64451         * m4/snprintf-posix.m4: New file.
64452         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
64453         gl_FUNC_SNPRINTF.
64454         (gl_FUNC_SNPRINTF): Invoke it.
64455         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
64456         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
64457         is set.
64458         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
64459
64460 2007-03-06  Bruno Haible  <bruno@clisp.org>
64461
64462         * modules/vsnprintf-posix-tests: New file.
64463         * tests/test-vsnprintf-posix.c: New file.
64464         * tests/test-snprintf-posix.h: New file.
64465
64466         * modules/vsnprintf-posix: New file.
64467         * m4/vsnprintf-posix.m4: New file.
64468         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
64469         gl_FUNC_VSNPRINTF.
64470         (gl_FUNC_VSNPRINTF): Invoke it.
64471         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
64472         * lib/stdio_.h (vsnprintf): Define as a replacement if
64473         REPLACE_VSNPRINTF is set.
64474         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
64475
64476 2007-03-06  Bruno Haible  <bruno@clisp.org>
64477
64478         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
64479         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
64480
64481 2007-03-06  Bruno Haible  <bruno@clisp.org>
64482
64483         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
64484         (asinl): Declare also if HAVE_DECL_ASINL is set.
64485         (atanl): Declare also if HAVE_DECL_ATANL is set.
64486         (ceill): Declare also if HAVE_DECL_CEILL is set.
64487         (cosl): Declare also if HAVE_DECL_COSL is set.
64488         (expl): Declare also if HAVE_DECL_EXPL is set.
64489         (floorl): Declare also if HAVE_DECL_FLOORL is set.
64490         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
64491         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
64492         (logl): Declare also if HAVE_DECL_LOGL is set.
64493         (sinl): Declare also if HAVE_DECL_SINL is set.
64494         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
64495         (tanl): Declare also if HAVE_DECL_TANL is set.
64496         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
64497         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
64498         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
64499         declaration of frexpl, ldexpl.
64500         * modules/printf-frexpl (Depends-on): Add math.
64501         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
64502
64503 2007-03-05  Bruno Haible  <bruno@clisp.org>
64504
64505         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
64506         frexpl and ldexpl are declared.
64507         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
64508
64509 2007-03-05  Bruno Haible  <bruno@clisp.org>
64510
64511         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
64512         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
64513
64514 2007-03-05  Bruno Haible  <bruno@clisp.org>
64515
64516         * lib/stdio_.h: Include <stddef.h>.
64517
64518 2007-03-05  Bruno Haible  <bruno@clisp.org>
64519
64520         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
64521
64522 2007-03-05  Bruno Haible  <bruno@clisp.org>
64523
64524         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
64525         NetBSD 4, from Ralf Wildenhues.
64526
64527 2007-03-04  Bruno Haible  <bruno@clisp.org>
64528
64529         * lib/vasprintf.h: Update #if logic for the case when the functions
64530         exist but are overridden.
64531
64532 2007-03-04  Bruno Haible  <bruno@clisp.org>
64533
64534         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
64535         implementations: glibc-2.4 and MacOS X 10.3.
64536         * tests/test-vasnprintf-posix.c (test_function): Test also the case
64537         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
64538         * tests/test-vasprintf-posix.c (test_function): Likewise.
64539
64540 2007-03-04  Bruno Haible  <bruno@clisp.org>
64541
64542         * modules/vasprintf-posix-tests: New file.
64543         * tests/test-vasprintf-posix.c: New file.
64544
64545         * modules/vasprintf-posix: New file.
64546         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
64547         defined.
64548         * m4/vasprintf-posix.m4: New file.
64549         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
64550         gl_FUNC_VASPRINTF.
64551         (gl_FUNC_VASPRINTF): Invoke it.
64552         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
64553         here.
64554         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
64555
64556 2007-03-04  Bruno Haible  <bruno@clisp.org>
64557
64558         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
64559         REPLACE_GETTIMEOFDAY.
64560         * modules/sys_time (Makefile.am): Likewise.
64561         * m4/sys_time_h.m4: Likewise.
64562         * m4/gettimeofday.m4: Likewise.
64563
64564 2007-03-04  Bruno Haible  <bruno@clisp.org>
64565
64566         * modules/vasnprintf-posix-tests: New file.
64567         * tests/test-vasnprintf-posix.c: New file.
64568
64569         * modules/vasnprintf-posix: New file.
64570         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
64571         printf-frexpl.h.
64572         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
64573         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
64574         REPLACE_VASNPRINTF is defined.
64575         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
64576         gl_FUNC_VASNPRINTF.
64577         (gl_FUNC_VASNPRINTF): Invoke it.
64578         * m4/vasnprintf-posix.m4: New file.
64579         * m4/printf.m4: New file.
64580
64581 2007-03-04  Bruno Haible  <bruno@clisp.org>
64582
64583         Compile progreloc.c only if --enable-relocatable is specified.
64584         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
64585         if --enable-relocatable was specified.
64586         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
64587         lib_SOURCES.
64588
64589 2007-03-04  Jim Meyering  <jim@meyering.net>
64590
64591         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
64592         Use it consistently, rather than enumerating errno constants.
64593
64594 2007-03-04  Bruno Haible  <bruno@clisp.org>
64595
64596         * modules/xvasprintf-tests: New file.
64597         * tests/test-xvasprintf.c: New file.
64598
64599         * modules/vasprintf-tests: New file.
64600         * tests/test-vasprintf.c: New file.
64601
64602         * modules/vasnprintf-tests: New file.
64603         * tests/test-vasnprintf.c: New file.
64604
64605         * modules/vsnprintf-tests: New file.
64606         * tests/test-vsnprintf.c: New file.
64607
64608         * modules/snprintf-tests: New file.
64609         * tests/test-snprintf.c: New file.
64610
64611 2007-03-04  Bruno Haible  <bruno@clisp.org>
64612
64613         Compile relocatable.c only if --enable-relocatable is specified.
64614         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
64615         gl_RELOCATABLE_LIBRARY.
64616         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
64617         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
64618         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
64619         gl_RELOCATABLE_LIBRARY.
64620         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
64621         (Makefile.am): Remove lib_SOURCES.
64622         * modules/relocatable-lib-lgpl (configure.ac): Invoke
64623         gl_RELOCATABLE_LIBRARY.
64624         (Makefile.am): Remove lib_SOURCES.
64625         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
64626         always.
64627         * modules/relocatable-prog-wrapper (configure.ac): Invoke
64628         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
64629
64630 2007-03-04  Bruno Haible  <bruno@clisp.org>
64631
64632         * modules/argmatch-tests: New file.
64633         * tests/test-argmatch.c: New file.
64634
64635         * tests/test-allocsa.c (main): Halve the number of loop runs.
64636
64637         * modules/alloca-opt-tests: New file.
64638         * tests/test-alloca-opt.c: New file.
64639
64640 2007-03-04  Jim Meyering  <jim@meyering.net>
64641
64642         Work around difference between Linux ACLs and Solaris 10 ZFS.
64643         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
64644         for EINVAL.
64645
64646 2007-03-03  Bruno Haible  <bruno@clisp.org>
64647
64648         * modules/relocatable-prog (Depends-on): Add back progreloc's
64649         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
64650
64651 2007-03-03  Bruno Haible  <bruno@clisp.org>
64652
64653         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
64654         * modules/relocatable-lib: New file.
64655
64656 2007-03-03  Bruno Haible  <bruno@clisp.org>
64657
64658         * modules/relocatable-prog: Renamed from modules/relocatable.
64659         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
64660
64661 2007-03-03  Bruno Haible  <bruno@clisp.org>
64662
64663         * modules/relocatable-script (Files): Add doc/relocatable.texi,
64664         m4/relocatable-lib.m4.
64665         (Depends-on): Remove 'relocatable'.
64666         (configure.ac): Add gl_RELOCATABLE_NOP.
64667
64668 2007-03-03  Bruno Haible  <bruno@clisp.org>
64669
64670         * modules/relocatable-prog-wrapper: New file.
64671         * modules/relocatable (Depends-on): Add it. Remove all other
64672         dependencies except progname.
64673         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
64674
64675         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
64676         (gl_FUNC_STRERROR): Nop.
64677         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
64678
64679         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
64680         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
64681
64682         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
64683         (gl_FUNC_READLINK): Update.
64684
64685         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
64686
64687 2007-03-03  Bruno Haible  <bruno@clisp.org>
64688
64689         * lib/xreadlink.c: Include <unistd.h> unconditionally.
64690         * modules/xreadlink (Depends-on): Add unistd.
64691         * modules/xreadlink-with-size (Depends-on): Likewise.
64692
64693 2007-03-03  Bruno Haible  <bruno@clisp.org>
64694
64695         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
64696         extracted from gt_FUNC_SETENV.
64697         (gt_FUNC_SETENV): Remove macro.
64698         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
64699         remove gt_FUNC_SETENV.
64700
64701 2007-03-03  Bruno Haible  <bruno@clisp.org>
64702
64703         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
64704         ENABLE_RELOCATABLE here.
64705         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
64706
64707 2007-03-03  Bruno Haible  <bruno@clisp.org>
64708
64709         * modules/rbtreehash-list-tests (Depends-on): Add progname.
64710         * tests/test-rbtreehash_list.c: Include progname.h.
64711         (main): Call set_program_name.
64712
64713         * modules/rbtree-oset-tests (Depends-on): Add progname.
64714         * tests/test-rbtree_oset.c: Include progname.h.
64715         (main): Call set_program_name.
64716
64717         * modules/rbtree-list-tests (Depends-on): Add progname.
64718         * tests/test-rbtree_list.c: Include progname.h.
64719         (main): Call set_program_name.
64720
64721         * modules/linked-list-tests (Depends-on): Add progname.
64722         * tests/test-linked_list.c: Include progname.h.
64723         (main): Call set_program_name.
64724
64725 2007-03-03  Bruno Haible  <bruno@clisp.org>
64726
64727         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
64728         All uses of __restrict changed to _Restrict_.
64729         * lib/glob_.h (__restrict): Remove macro.
64730
64731 2007-03-02  Bruno Haible  <bruno@clisp.org>
64732
64733         * modules/gettext (configure.ac): Require gettext infrastructure
64734         from version 0.16.1.
64735
64736 2007-03-02  Bruno Haible  <bruno@clisp.org>
64737
64738         * modules/linkedhash-list-tests (Depends-on): Add progname.
64739         * tests/test-linkedhash_list.c: Include progname.h.
64740         (main): Call set_program_name.
64741
64742         * modules/carray-list-tests (Depends-on): Add progname.
64743         * tests/test-carray_list.c: Include progname.h.
64744         (main): Call set_program_name.
64745
64746         * modules/avltreehash-list-tests (Depends-on): Add progname.
64747         * tests/test-avltreehash_list.c: Include progname.h.
64748         (main): Call set_program_name.
64749
64750         * modules/avltree-oset-tests (Depends-on): Add progname.
64751         * tests/test-avltree_oset.c: Include progname.h.
64752         (main): Call set_program_name.
64753
64754         * modules/avltree-list-tests (Depends-on): Add progname.
64755         * tests/test-avltree_list.c: Include progname.h.
64756         (main): Call set_program_name.
64757
64758         * modules/array-oset-tests (Depends-on): Add progname.
64759         * tests/test-array_oset.c: Include progname.h.
64760         (main): Call set_program_name.
64761
64762         * modules/array-list-tests (Depends-on): Add progname.
64763         * tests/test-array_list.c: Include progname.h.
64764         (main): Call set_program_name.
64765
64766         * modules/argp-tests (Depends-on): Add progname.
64767         * tests/test-argp.c: Include argp.h first. Include progname.h.
64768         (main): Call set_program_name.
64769
64770 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
64771
64772         * doc/gnulib-tool.texi (Initial import): Reword description of
64773         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
64774         limited effect even if defined after the first system include.
64775
64776 2007-03-01  Bruno Haible  <bruno@clisp.org>
64777
64778         * build-aux/config.libpath: Update to libtool-1.5.22.
64779         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
64780
64781 2007-03-01  Bruno Haible  <bruno@clisp.org>
64782
64783         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
64784         foo_CFLAGS.
64785         Reported by Ralf Wildenhues.
64786
64787 2007-03-01  Bruno Haible  <bruno@clisp.org>
64788
64789         * build-aux/install-reloc: Remove object files left over by some
64790         compilers.
64791         Reported by Ralf Wildenhues.
64792
64793 2007-03-01  Bruno Haible  <bruno@clisp.org>
64794
64795         * build-aux/install-reloc: Break long lines.
64796
64797 2007-03-01  Bruno Haible  <bruno@clisp.org>
64798
64799         * doc/relocatable.texi: Document that it may not work on OpenBSD.
64800         Reported by Ralf Wildenhues.
64801
64802 2007-03-01  Bruno Haible  <bruno@clisp.org>
64803
64804         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
64805         include ordering constraints.
64806
64807 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
64808
64809         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
64810         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
64811         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
64812         as another example.
64813         * lib/time_.h: Fix misspelling.
64814         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64815         Require gl_HEADER_TIME_H_DEFAULTS.
64816         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
64817         * m4/time_r.m4 (gl_TIME_R): Likewise.
64818         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
64819
64820 2007-03-01  Bruno Haible  <bruno@clisp.org>
64821
64822         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
64823         * m4/utimens.m4 (gl_UTIMENS): Likewise.
64824
64825 2007-03-01  Jim Meyering  <jim@meyering.net>
64826
64827         * modules/xreadlink (Maintainer): Add my name.
64828         * modules/xreadlink-with-size (Depends-on): Alphabetize.
64829
64830 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
64831             Bruno Haible  <bruno@clisp.org>
64832
64833         * build-aux/install-reloc: Compile also c-ctype.c.
64834         * build-aux/relocatable.sh.in: New file.
64835         * doc/relocatable.texi: New file.
64836         * doc/relocatable-maint.texi: New file.
64837         * doc/gnulib.texi: Include relocatable-maint.texi.
64838         * lib/progreloc.c: Include unistd.h unconditionally.
64839         * lib/relocwrapper.c: Include unistd.h unconditionally.
64840         Include c-ctype.h.
64841         (add_dotbin): Use c_tolower.
64842         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
64843         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
64844         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
64845         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
64846         to m4/relocatable-lib.m4.
64847         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
64848         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
64849         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
64850         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
64851         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
64852         * modules/relocatable: New file.
64853         * modules/relocatable-lib: New file.
64854         * modules/relocatable-script: New file.
64855
64856 2007-02-28  Bruno Haible  <bruno@clisp.org>
64857
64858         Import --enable-relocatable infrastructure.
64859         * build-aux/config.libpath: New file, from GNU gettext.
64860         * build-aux/install-reloc: New file, from GNU gettext.
64861         * build-aux/reloc-ldflags: New file, from GNU gettext.
64862         * lib/relocatable.h: New file, from GNU gettext.
64863         * lib/relocatable.c: New file, from GNU gettext.
64864         * lib/relocwrapper.c: New file, from GNU gettext.
64865         * m4/relocatable.m4: New file, from GNU gettext.
64866
64867 2007-02-28  Bruno Haible  <bruno@clisp.org>
64868
64869         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
64870
64871         * modules/xreadlink: New file, from GNU gettext with modifications.
64872         * lib/xreadlink.c: New file, from GNU gettext.
64873         * lib/xreadlink.h: Add comments.
64874         (xreadlink): New declaration.
64875
64876         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
64877         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
64878         lib/xreadlink-with-size.c.
64879         (configure.ac): Remove gl_XREADLINK invocation.
64880         (Makefile.am): Augment lib_SOURCES.
64881         * m4/xreadlink.m4: Remove file.
64882         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
64883         (xreadlink_with_size): Renamed from xreadink.
64884         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
64885         * modules/canonicalize (Depends-on): Replace xreadlink with
64886         xreadlink-with-size.
64887         * lib/canonicalize.c (canonicalize_filename_mode): Update.
64888
64889 2007-02-25  Jim Meyering  <jim@meyering.net>
64890
64891         * build-aux/announce-gen: When complaining about excess arguments,
64892         list them.
64893
64894 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
64895
64896         * README: Document signed integer overflow situation more
64897         accurately.
64898
64899 2007-02-25  Bruno Haible  <bruno@clisp.org>
64900
64901         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
64902         'a' or 'A' conversion.
64903
64904 2007-02-25  Bruno Haible  <bruno@clisp.org>
64905
64906         * modules/filename: Renamed from modules/pathname.
64907         (Files): Replace lib/pathname.h with lib/filename.h. Replace
64908         lib/concatpath.c with lib/concat-filename.c.
64909         (Makefile.am): Update.
64910         (Include): Replace pathname.h with filename.h.
64911         * lib/filename.h: Renamed from lib/pathname.h.
64912         (concatenated_filename): Renamed from concatenated_pathname.
64913         * lib/concat-filename.c: Renamed from lib/concatpath.c.
64914         (concatenated_filename): Renamed from concatenated_pathname.
64915         * lib/findprog.c: Include filename.h instead of pathname.h.
64916         (find_in_path): Update.
64917         * lib/javacomp.c: Include filename.h instead of pathname.h.
64918         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
64919         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
64920         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
64921         is_oldgcj_14_13_usable, is_javac_usable): Update.
64922         * lib/javaexec.c: Include filename.h instead of pathname.h.
64923         (execute_java_class): Update.
64924         * modules/findprog: Update.
64925         * modules/javacomp: Update.
64926         * modules/javaexec: Update.
64927         * MODULES.html.sh (File system functions): Add 'filename', remove
64928         'pathname'.
64929
64930 2007-02-25  Bruno Haible  <bruno@clisp.org>
64931
64932         * modules/printf-frexpl-tests: New file.
64933         * tests/test-printf-frexpl.c: New file.
64934
64935         * modules/printf-frexpl: New file.
64936         * lib/printf-frexpl.h: New file.
64937         * lib/printf-frexpl.c: New file.
64938         * m4/printf-frexpl.m4: New file.
64939
64940 2007-02-25  Bruno Haible  <bruno@clisp.org>
64941
64942         * modules/printf-frexp-tests: New file.
64943         * tests/test-printf-frexp.c: New file.
64944
64945         * modules/printf-frexp: New file.
64946         * lib/printf-frexp.h: New file.
64947         * lib/printf-frexp.c: New file.
64948         * m4/printf-frexp.m4: New file.
64949
64950 2007-02-25  Bruno Haible  <bruno@clisp.org>
64951
64952         Assume automake >= 1.10 for the tests.
64953         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
64954         * modules/arctwo-tests: Likewise.
64955         * modules/argp-tests: Likewise.
64956         * modules/avltree-list-tests: Likewise.
64957         * modules/avltree-oset-tests: Likewise.
64958         * modules/avltreehash-list-tests: Likewise.
64959         * modules/carray-list-tests: Likewise.
64960         * modules/crc-tests: Likewise.
64961         * modules/des-tests: Likewise.
64962         * modules/gc-arcfour-tests: Likewise.
64963         * modules/gc-arctwo-tests: Likewise.
64964         * modules/gc-des-tests: Likewise.
64965         * modules/gc-hmac-md5-tests: Likewise.
64966         * modules/gc-hmac-sha1-tests: Likewise.
64967         * modules/gc-md2-tests: Likewise.
64968         * modules/gc-md4-tests: Likewise.
64969         * modules/gc-md5-tests: Likewise.
64970         * modules/gc-pbkdf2-sha1-tests: Likewise.
64971         * modules/gc-rijndael-tests: Likewise.
64972         * modules/gc-sha1-tests: Likewise.
64973         * modules/gc-tests: Likewise.
64974         * modules/getaddrinfo-tests: Likewise.
64975         * modules/hmac-md5-tests: Likewise.
64976         * modules/hmac-sha1-tests: Likewise.
64977         * modules/linked-list-tests: Likewise.
64978         * modules/linkedhash-list-tests: Likewise.
64979         * modules/lock-tests: Likewise.
64980         * modules/md2-tests: Likewise.
64981         * modules/md4-tests: Likewise.
64982         * modules/md5-tests: Likewise.
64983         * modules/rbtree-list-tests: Likewise.
64984         * modules/rbtree-oset-tests: Likewise.
64985         * modules/rbtreehash-list-tests: Likewise.
64986         * modules/read-file-tests: Likewise.
64987         * modules/rijndael-tests: Likewise.
64988         * modules/stdint-tests: Likewise.
64989         * modules/tls-tests: Likewise.
64990
64991 2007-02-24  Bruno Haible  <bruno@clisp.org>
64992
64993         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
64994         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
64995         function; instead check whether isnan with a double argument links.
64996         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
64997         function; instead check whether isnan with a 'long double' argument
64998         links.
64999         Reported by Eric Blake <ebb9@byu.net>.
65000
65001 2007-02-24  Bruno Haible  <bruno@clisp.org>
65002
65003         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
65004         defined.
65005         * lib/isnanl.c: Remove all code. Just include isnan.c.
65006         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
65007
65008 2007-02-25  Jim Meyering  <jim@meyering.net>
65009
65010         Avoid conflicting types for 'unsetenv' on FreeBSD.
65011         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
65012         conflicting with FreeBSD's (5.0 and 6.1) function declaration
65013         in stdlib.h.
65014
65015 2007-02-24  Bruno Haible  <bruno@clisp.org>
65016
65017         * modules/isnanl-nolibm-tests: New file.
65018         * tests/test-isnanl.c: New file.
65019
65020         * modules/isnanl-nolibm: New file.
65021         * lib/isnanl.h: New file.
65022         * lib/isnanl.c: New file.
65023         * m4/isnanl.m4: New file.
65024
65025 2007-02-24  Bruno Haible  <bruno@clisp.org>
65026
65027         * modules/isnan-nolibm-tests: New file.
65028         * tests/test-isnan.c: New file.
65029
65030         * modules/isnan-nolibm: New file.
65031         * lib/isnan.h: New file.
65032         * lib/isnan.c: New file.
65033         * m4/isnan.m4: New file.
65034
65035 2007-02-24  Bruno Haible  <bruno@clisp.org>
65036
65037         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
65038         assume that an exponent fits in 20 bits.
65039
65040 2007-02-24  Jim Meyering  <jim@meyering.net>
65041
65042         * m4/regex.m4: Update the description of the configure-time option,
65043         --without-included-regex, to state accurately what the defaults are,
65044         and perhaps to give people an idea why using this option is risky.
65045
65046 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
65047
65048         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
65049         loops on small arguments.  This attempts to avoid the problem
65050         Bruno Haible reported for AIX 4.3.2 in
65051         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
65052
65053 2007-02-23  Bruno Haible  <bruno@clisp.org>
65054
65055         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
65056         Needed for help2man.
65057
65058 2007-02-23  Karl Berry  <karl@gnu.org>
65059
65060         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
65061         exists, foo.h should be cvs-ignored, not committed.
65062
65063 2007-02-23  Eric Blake  <ebb9@byu.net>
65064
65065         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
65066         * lib/stat-time.h (includes): Likewise.
65067         * lib/utimecmp.c (includes): Likewise.
65068         * lib/utimens.h (includes): Likewise.
65069         * lib/getdate.y (includes): Also include "timespec.h" for use
65070         internal to the module.
65071         * modules/utimens (Depends-on): Revert yesterday's patch.
65072         * modules/nanosleep (Depends-on): Add missing dependency.
65073
65074 2007-02-22  Bruno Haible  <bruno@clisp.org>
65075
65076         * lib/glob.c: Don't include getlogin_r.h.
65077
65078 2007-02-22  Jim Meyering  <jim@meyering.net>
65079
65080         * modules/utimens (Depends-on): Add timespec, required for
65081         utimens.h's inclusion of timespec.h.
65082
65083 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
65084
65085         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
65086         long unreadable paths in GNU/Linux.  Problem reported by Andreas
65087         Schwab in
65088         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
65089         I'll try to think of a better way to fix the Solaris problem.
65090
65091         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
65092         like glibc; on Solaris 10, it fails with errno == EINVAL.
65093         POSIX says the behavior is unspecified if the first argument is NULL,
65094         so play it safe and never pass NULL to the system getcwd.
65095
65096 2007-02-21  Jim Meyering  <jim@meyering.net>
65097
65098         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
65099         of gettimeofday.  It would conflict with the one now always
65100         provided via sys_time_.h.  Reported by Matthew Woehlke, as
65101         an IRIX 6.5 build failure.
65102
65103 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
65104
65105         Minor fixups to port to Solaris 10 with Sun C 5.8.
65106         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
65107         * modules/getcwd (Depends-on): Add dirfd.
65108         * lib/putenv.c (putenv): #undef it.
65109         (rpl_putenv): New decl.
65110         (malloc, free): Include <stdlib.h> rather than prototyping separately.
65111
65112 2007-02-20  Bruno Haible  <bruno@clisp.org>
65113
65114         * modules/stdio-tests: New file.
65115         * tests/test-stdio.c: New file.
65116
65117         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
65118         (Depends-on): Add stdio.
65119         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65120         (Include): Use <stdio.h> instead of vsnprintf.h.
65121         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65122         HAVE_DECL_VSNPRINTF.
65123         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
65124
65125         * modules/snprintf (Files): Remove lib/snprintf.h.
65126         (Depends-on): Add stdio.
65127         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
65128         (Include): Use <stdio.h> instead of snprintf.h.
65129         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
65130         HAVE_DECL_SNPRINTF.
65131         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
65132         * lib/getaddrinfo.c: Likewise.
65133
65134         * modules/stdio: New file.
65135         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
65136         * lib/snprintf.h: Remove file.
65137         * lib/vsnprintf.h: Remove file.
65138         * lib/.cppi-disable: Remove snprintf.h.
65139         * m4/stdio_h.m4: New file.
65140         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
65141
65142 2007-02-20  Jim Meyering  <jim@meyering.net>
65143
65144         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
65145         used by e.g., mingw.  From Bruno Haible.
65146
65147 2007-02-19  Bruno Haible  <bruno@clisp.org>
65148
65149         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
65150         warnings.
65151         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65152
65153 2007-02-19  Bruno Haible  <bruno@clisp.org>
65154
65155         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
65156         from mingw users.
65157
65158 2007-02-19  Bruno Haible  <bruno@clisp.org>
65159
65160         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
65161         warnings.
65162         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
65163
65164 2007-02-19  Jim Meyering  <jim@meyering.net>
65165
65166         Don't use FD after a successful "fdopendir (fd)".
65167         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
65168         Reset it by calling dirfd on the just-obtained DIR*.
65169
65170         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
65171         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
65172
65173 2007-02-18  Bruno Haible  <bruno@clisp.org>
65174
65175         * lib/readlink.c: Include <unistd.h>.
65176         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
65177         HAVE_READLINK.
65178         * modules/readlink (Depends-on): Add unistd.
65179         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65180         (Include): Add <unistd.h>.
65181
65182         * lib/getlogin_r.h: Remove file.
65183         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
65184         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
65185         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
65186         HAVE_DECL_GETLOGIN_R.
65187         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
65188         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65189         (Include): Use <unistd.h> instead of getlogin_r.h.
65190
65191         * lib/getcwd.h: Remove file.
65192         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
65193         * lib/xgetcwd.c: Likewise.
65194         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
65195         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
65196         * modules/getcwd (Files): Remove lib/getcwd.h.
65197         (Depends-on): Add unistd.
65198         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65199         (Include): Use <unistd.h> instad of getcwd.h.
65200
65201         * lib/ftruncate.c: Include <unistd.h> first.
65202         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
65203         Set HAVE_FTRUNCATE.
65204         * modules/ftruncate (Depends-on): Add unistd.
65205         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65206
65207         * lib/fchdir.c: Include <unistd.h> first.
65208         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
65209         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
65210         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
65211         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65212         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
65213
65214         * lib/dup2.c: Include <unistd.h> first.
65215         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
65216         HAVE_DUP2.
65217         * modules/dup2 (Depends-on): Add unistd.
65218         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65219
65220         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
65221         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
65222         REPLACE_CHOWN. Don't define chown as a macro here.
65223         * modules/chown (Depends-on): Add unistd.
65224         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
65225
65226         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
65227         Add definition for GL_LINK_WARNING.
65228         (chown, dup2): New declarations.
65229         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
65230         link warning.
65231         (ftruncate): New declaration.
65232         (getcwd): New declaration, taken from old getcwd.h.
65233         (getlogin_r): New declaration, taken from old getlogin_r.h.
65234         (readlink): New declaration.
65235         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
65236         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
65237         (gl_PREREQ_UNISTD): Remove macro.
65238         (gl_UNISTD_MODULE_INDICATOR): New macro.
65239         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
65240         many new variables. Don't set UNISTD_H.
65241         * modules/unistd (Description): Change.
65242         (Depends-on): Add link-warning.
65243         (configure.ac): Update.
65244         (Makefile.am): Create unistd.h always. Substitute many new variables
65245         into it.
65246
65247 2007-02-18  Bruno Haible  <bruno@clisp.org>
65248
65249         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
65250         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
65251         HAVE_GETSUBOPT.
65252         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
65253         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
65254         * lib/getsubopt.h: Remove file.
65255         * modules/getsubopt (Files): Remove lib/getsubopt.h.
65256         (Depends-on): Add stdlib.
65257         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65258         (Includes): Use <stdlib.h> instead of getsubopt.h.
65259         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
65260         Set HAVE_GETSUBOPT.
65261         * lib/getsubopt.c: Don't include getsubopt.h.
65262
65263 2007-02-18  Bruno Haible  <bruno@clisp.org>
65264
65265         * modules/fchdir (Depends-on): Add dup2.
65266
65267 2007-02-18  Bruno Haible  <bruno@clisp.org>
65268
65269         * lib/stdlib_.h: Handle glibc's special invocation convention
65270         specially.
65271
65272 2007-02-18  Bruno Haible  <bruno@clisp.org>
65273
65274         * modules/stdlib-tests: New file.
65275         * tests/test-stdlib.c: New file.
65276
65277         * modules/mkstemp (Files): Remove lib/mkstemp.h.
65278         (Depends-on): Add stdlib.
65279         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65280         (Includes): Use <stdlib.h> instead of mkstemp.h.
65281         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65282         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
65283         * lib/mkstemp.c: Don't include mkstemp.h.
65284         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
65285         * lib/stdlib--.h: Don't include mkstemp.h.
65286
65287         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
65288         (Depends-on): Add stdlib.
65289         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
65290         (Includes): Use <stdlib.h> instead of mkdtemp.h.
65291         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
65292         HAVE_MKDTEMP.
65293         * lib/mkdtemp.c: Don't include mkdtemp.h.
65294         * lib/clean-temp.c: Don't include mkdtemp.h.
65295
65296         * modules/exit (Files): Remove lib/exit.h.
65297         (Depends-on): Add stdlib.
65298         (Makefile.am): Remove lib_SOURCES.
65299         (Include): Use <stdlib.h> instead of exit.h.
65300         * lib/argmatch.c: Don't include exit.h.
65301         * lib/execute.c: Likewise.
65302         * lib/pagealign_alloc.c: Likewise.
65303         * lib/pipe.c: Likewise.
65304         * lib/wait-process.c: Likewise.
65305         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
65306         * lib/exitfail.c: Likewise.
65307         * lib/savewd.c: Likewise.
65308         * lib/xsetenv.c: Likewise.
65309
65310         * modules/stdlib: New file.
65311         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
65312         and extra comments about mkstemp().
65313         * lib/exit.h: Remove file.
65314         * lib/mkdtemp.h: Remove file.
65315         * lib/mkstemp.h: Remove file.
65316         * m4/stdlib_h.m4: New file.
65317         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
65318
65319 2007-02-18  Bruno Haible  <bruno@clisp.org>
65320
65321         * modules/math-tests: New file.
65322         * tests/test-math.c: New file.
65323
65324         * modules/math: New file.
65325         * modules/mathl (Files): Remove lib/mathl.h.
65326         (Depends-on): Add math.
65327         (Makefile.am): Don't mention mathl.h.
65328         (Include): Use <math.h> instead of mathl.h.
65329         * lib/math_.h: New file.
65330         * lib/mathl.h: Remove file.
65331         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
65332         mathl.h.
65333         * lib/asinl.c: Likewise.
65334         * lib/atanl.c: Likewise.
65335         * lib/ceill.c: Likewise.
65336         * lib/cosl.c: Likewise.
65337         * lib/expl.c: Likewise.
65338         * lib/floorl.c: Likewise.
65339         * lib/frexpl.c: Likewise.
65340         * lib/ldexpl.c: Likewise.
65341         * lib/logl.c: Likewise.
65342         * lib/sincosl.c: Likewise.
65343         * lib/sinl.c: Likewise.
65344         * lib/sqrtl.c: Likewise.
65345         * lib/tanl.c: Likewise.
65346         * lib/trigl.c: Likewise.
65347         * m4/math_h.m4: New file.
65348         * MODULES.html.sh (Mathematics): Add math.
65349
65350 2007-02-17  Bruno Haible  <bruno@clisp.org>
65351
65352         * modules/wctype-tests: New file.
65353         * tests/test-wctype.c: New file.
65354
65355         * modules/wchar-tests: New file.
65356         * tests/test-wchar.c: New file.
65357
65358         * modules/unistd-tests: New file.
65359         * tests/test-unistd.c: New file.
65360
65361         * modules/time-tests: New file.
65362         * tests/test-time.c: New file.
65363
65364         * modules/sysexits-tests: New file.
65365         * tests/test-sysexits.c: New file.
65366
65367         * modules/sys_time-tests: New file.
65368         * tests/test-sys_time.c: New file.
65369
65370         * modules/sys_stat-tests: New file.
65371         * tests/test-sys_stat.c: New file.
65372
65373         * modules/sys_socket-tests: New file.
65374         * tests/test-sys_socket.c: New file.
65375
65376         * modules/sys_select-tests: New file.
65377         * tests/test-sys_select.c: New file.
65378
65379         * modules/string-tests: New file.
65380         * tests/test-string.c: New file.
65381
65382         * modules/stdbool-tests: New file.
65383         * tests/test-stdbool.c: New file.
65384
65385         * modules/netinet_in-tests: New file.
65386         * tests/test-netinet_in.c: New file.
65387
65388         * modules/inttypes-tests: New file.
65389         * tests/test-inttypes.c: New file.
65390
65391         * modules/fcntl-tests: New file.
65392         * tests/test-fcntl.c: New file.
65393
65394         * modules/byteswap-tests: New file.
65395         * tests/test-byteswap.c: New file.
65396
65397         * modules/arpa_inet-tests: New file.
65398         * tests/test-arpa_inet.c: New file.
65399
65400 2007-02-17  Bruno Haible  <bruno@clisp.org>
65401
65402         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
65403         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
65404         if the corresponding module is not enabled. Emit link warnings if
65405         the function is used nevertheless.
65406         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
65407         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
65408         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
65409         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
65410         * modules/inttypes (Depends-on): Add link-warning.
65411         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65412         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
65413         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
65414         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
65415         * modules/imaxdiv (configure.ac): Likewise.
65416         * modules/strtoimax (configure.ac): Likewise.
65417         * modules/strtoumax (configure.ac): Likewise.
65418
65419 2007-02-17  Bruno Haible  <bruno@clisp.org>
65420
65421         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
65422         gl_STRING_MODULE_INDICATOR_DEFAULTS.
65423         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
65424         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
65425
65426 2007-02-17  Bruno Haible  <bruno@clisp.org>
65427
65428         * modules/link-warning: New file.
65429         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
65430         * lib/string_.h (GL_LINK_WARNING): Remove definition.
65431         * modules/string (Depends-on): Add link-warning.
65432         (Makefile.am): Copy the contents of build-aux/link-warning.h into
65433         string.h.
65434         * MODULES.html.sh (Support for building libraries and executables): Add
65435         link-warning.
65436
65437 2007-02-17  Bruno Haible  <bruno@clisp.org>
65438
65439         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
65440         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
65441         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
65442         long lines.
65443
65444 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
65445             Bruno Haible  <bruno@clisp.org>
65446
65447         * modules/tmpfile: New file.
65448         * lib/tmpfile.c: New file.
65449         * m4/tmpfile.m4: New file.
65450         * MODULES.html.sh (func_all_modules): New section "Input/output".
65451
65452 2007-02-15  Bruno Haible  <bruno@clisp.org>
65453
65454         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
65455         (supports_delete_on_close): New function.
65456         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
65457
65458 2007-02-14  Bruno Haible  <bruno@clisp.org>
65459
65460         * modules/mbspcasecmp-tests: New file.
65461         * tests/test-mbspcasecmp.sh: New file.
65462         * tests/test-mbspcasecmp.c: New file.
65463
65464         New module mbspcasecmp.
65465         * modules/mbspcasecmp: New file.
65466         * lib/mbspcasecmp.c: New file.
65467         * lib/string_.h (strncasecmp): Change warning message.
65468         (mbspcasecmp): New declaration.
65469         * m4/mbspcasecmp.m4: New file.
65470         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65471         GNULIB_MBSPCASECMP.
65472         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
65473         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
65474
65475 2007-02-14  Bruno Haible  <bruno@clisp.org>
65476
65477         * modules/mbsncasecmp-tests: New file.
65478         * tests/test-mbsncasecmp.sh: New file.
65479         * tests/test-mbsncasecmp.c: New file.
65480
65481         New module mbsncasecmp.
65482         * modules/mbsncasecmp: New file.
65483         * lib/mbsncasecmp.c: New file.
65484         * lib/string_.h (mbsncasecmp): New declaration.
65485         * m4/mbsncasecmp.m4: New file.
65486         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65487         GNULIB_MBSNCASECMP.
65488         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
65489         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
65490
65491 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
65492
65493         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
65494         Verify that it doesn't overlap with our flags.
65495         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
65496         do not have the desired effect in multibyte locales; instead, use
65497         mbscasecmp.
65498         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
65499         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
65500         we don't require GNU fnmatch ourselves (if our users require it, they
65501         should do so explicitly).
65502
65503         Fix regex code so it doesn't rely on strcasecmp.
65504         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
65505         Otherwise, include gnulib's langinfo.h.
65506         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
65507         undesirable behavior in non-C locales.  Instead, rely on localecharset.
65508         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
65509         * modules/regex (FILES): Remove m4/codeset.m4.
65510         (Depends-on): Add localcharset.  Remove strcase.
65511
65512 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65513
65514         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
65515         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
65516
65517 2007-02-13  Bruno Haible  <bruno@clisp.org>
65518
65519         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
65520         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65521
65522 2007-02-12  Bruno Haible  <bruno@clisp.org>
65523
65524         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
65525         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
65526         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
65527         time warning rather than a link error.
65528
65529 2007-02-12  Bruno Haible  <bruno@clisp.org>
65530
65531         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
65532         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65533         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65534
65535 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65536
65537         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
65538         args, not 2.
65539
65540 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
65541
65542         New module 'time', so that apps can include <time.h> as per
65543         POSIX and GNU instead of separate include files like time_r.h
65544         and timegm.h.  This implementation tries out a simpler approach
65545         for replacing decls in standard include files (as compared to
65546         the string module), somewhat as an experiment.
65547
65548         * config/srclist.txt: Comment out mktime.c for now.
65549         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
65550         since it doesn't apply any more.  Use generic wording instead.
65551         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
65552         'time'.
65553         * lib/time_.h, m4/time_h.m4, modules/time: New files.
65554         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
65555         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
65556         Don't include <sys/types.h>; no longer needed since we assume C89.
65557         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
65558         * lib/strftime.c: Likewise.
65559         * lib/time_r.c: Likewise.
65560         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
65561         * lib/nanosleep.c: Include <time.h> first, to check interface.
65562         * lib/strptime.c: Likewise.
65563         * lib/time_r.c: Likewise.
65564         * lib/timegm.c: Likewise.
65565         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
65566         needed.
65567         * lib/timegm.c: Don't include timegm.h; no longer needed.
65568         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
65569         time.h now handles any problems in that area.
65570         (struct timespec, nanosleep): Remove; time.h now arranges for these.
65571         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
65572         that time.h defines struct timespec.
65573         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
65574         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
65575         handles that.
65576         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
65577         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
65578         needed.  Set REPLACE_LOCALTIME.
65579         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
65580         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
65581         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
65582         nanosleep; time_h.m4 now does that.  Don't require
65583         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
65584         module handles this now.
65585         * modules/getdate (Depends-on): Remove timespec.  Add time.
65586         * modules/nanosleep (Depends-on): Likewise.
65587         * modules/stat-time (Depends-on): Likewise.
65588         * modules/nanosleep (Include): Include time.h, not timespec.h.
65589         * modules/strptime (Files): Remove lib/strptime.h.
65590         (Depends-on): Add extensions, time.
65591         (Include): Include time.h, not strptime.h.
65592         * modules/time_r (Files): Remove lib/time_r.h.
65593         (Depends-on): Add time.
65594         (Include): Include time.h, not time_r.h.
65595         * modules/timegm: Likewise.
65596         * modules/timespec (Description): Now does timespec-related decls
65597         of our own, instead of struct timespec itself.
65598         (Depends-on): Add time; remove extensions.
65599         (Maintainer): Add self.
65600         * modules/utimecmp (Depends-on): Add time; remove timespec.
65601         * modules/utimens (Depends-on): Likewise.
65602         * modules/xnanosleep (Depends-on): Likewise.
65603
65604 2007-02-11  Bruno Haible  <bruno@clisp.org>
65605
65606         * lib/c-strstr.c: Include allocsa.h.
65607         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65608         * lib/c-strcasestr.c: Include allocsa.h.
65609         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65610         * lib/strcasestr.c: Include allocsa.h.
65611         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
65612         * lib/mbsstr.c: Include allocsa.h.
65613         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65614         allocsa/freesa instead of malloc/free.
65615         * lib/mbscasestr.c: Include allocsa.h.
65616         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
65617         allocsa/freesa instead of malloc/free.
65618         * modules/c-strstr (Depends-on): Add allocsa.
65619         * modules/c-strcasestr (Depends-on): Likewise.
65620         * modules/strcasestr (Depends-on): Likewise.
65621         * modules/mbsstr (Depends-on): Likewise.
65622         * modules/mbscasestr (Depends-on): Likewise.
65623
65624 2007-02-11  Bruno Haible  <bruno@clisp.org>
65625
65626         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
65627
65628         * modules/mbsspn-tests: New file.
65629         * tests/test-mbsspn.sh: New file.
65630         * tests/test-mbsspn.c: New file.
65631
65632 2007-02-11  Bruno Haible  <bruno@clisp.org>
65633
65634         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
65635
65636         * modules/mbspbrk-tests: New file.
65637         * tests/test-mbspbrk.sh: New file.
65638         * tests/test-mbspbrk.c: New file.
65639
65640 2007-02-11  Bruno Haible  <bruno@clisp.org>
65641
65642         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
65643         unneeded cast.
65644
65645         * modules/mbscspn-tests: New file.
65646         * tests/test-mbscspn.sh: New file.
65647         * tests/test-mbscspn.c: New file.
65648
65649 2007-02-11  Bruno Haible  <bruno@clisp.org>
65650
65651         * modules/mbscasecmp-tests: New file.
65652         * tests/test-mbscasecmp.sh: New file.
65653         * tests/test-mbscasecmp.c: New file.
65654
65655 2007-02-11  Bruno Haible  <bruno@clisp.org>
65656
65657         Ensure O(n) worst-case complexity of mbscasestr.
65658         * lib/mbscasestr.c: Include stdbool.h.
65659         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65660         functions.
65661         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
65662         the bookkeeping indicates that it's worth it.
65663         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
65664
65665         * modules/mbscasestr-tests: New file.
65666         * tests/test-mbscasestr1.c: New file.
65667         * tests/test-mbscasestr2.sh: New file.
65668         * tests/test-mbscasestr2.c: New file.
65669         * tests/test-mbscasestr3.sh: New file.
65670         * tests/test-mbscasestr3.c: New file.
65671         * tests/test-mbscasestr4.sh: New file.
65672         * tests/test-mbscasestr4.c: New file.
65673         * m4/locale-tr.m4: New file.
65674
65675 2007-02-11  Bruno Haible  <bruno@clisp.org>
65676
65677         Ensure O(n) worst-case complexity of mbsstr.
65678         * lib/mbsstr.c: Include stdbool.h.
65679         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
65680         functions.
65681         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
65682         bookkeeping indicates that it's worth it.
65683         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
65684
65685         * modules/mbsstr-tests: New file.
65686         * tests/test-mbsstr1.c: New file.
65687         * tests/test-mbsstr2.sh: New file.
65688         * tests/test-mbsstr2.c: New file.
65689         * tests/test-mbsstr3.sh: New file.
65690         * tests/test-mbsstr3.c: New file.
65691         * m4/locale-fr.m4: New file.
65692
65693 2007-02-11  Bruno Haible  <bruno@clisp.org>
65694
65695         * lib/mbsrchr.c (mbsrchr): Fix bug.
65696
65697         * modules/mbsrchr-tests: New file.
65698         * tests/test-mbsrchr.sh: New file.
65699         * tests/test-mbsrchr.c: New file.
65700
65701 2007-02-11  Bruno Haible  <bruno@clisp.org>
65702
65703         * lib/mbschr.c (mbschr): Fix bug.
65704
65705         * modules/mbschr-tests: New file.
65706         * tests/test-mbschr.sh: New file.
65707         * tests/test-mbschr.c: New file.
65708         * m4/locale-zh.m4: New file.
65709
65710 2007-02-11  Bruno Haible  <bruno@clisp.org>
65711
65712         Support for copying multibyte string iterators.
65713         * lib/mbiter.h: Include <string.h>.
65714         (mbiter_multi_copy): New function.
65715         (mbi_copy): New macro.
65716         * lib/mbuiter.h: Include <string.h>.
65717         (mbuiter_multi_copy): New function.
65718         (mbui_copy): New macro.
65719
65720 2007-02-11  Bruno Haible  <bruno@clisp.org>
65721
65722         New module mbslen.
65723         * modules/mbslen: New file.
65724         * lib/mbslen.c: New file.
65725         * lib/string_.h (mbslen): New declaration.
65726         * m4/mbslen.m4: New file.
65727         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65728         GNULIB_MBSLEN.
65729         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
65730         * MODULES.html.sh (Internationalization functions): Add mbslen.
65731
65732 2007-02-11  Bruno Haible  <bruno@clisp.org>
65733
65734         Ensure O(n) worst-case complexity of strcasestr substitute.
65735         * lib/strcasestr.c: Include stdbool.h.
65736         (knuth_morris_pratt): New function.
65737         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65738         bookkeeping indicates that it's worth it.
65739         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
65740
65741         * modules/strcasestr-tests: New file.
65742         * tests/test-strcasestr.c: New file.
65743
65744 2007-02-11  Bruno Haible  <bruno@clisp.org>
65745
65746         Ensure O(n) worst-case complexity of c_strcasestr.
65747         * lib/c-strcasestr.c: Include stdbool.h, string.h.
65748         (knuth_morris_pratt): New function.
65749         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
65750         the bookkeeping indicates that it's worth it.
65751         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
65752
65753         * modules/c-strcasestr-tests: New file.
65754         * tests/test-c-strcasestr.c: New file.
65755
65756 2007-02-11  Bruno Haible  <bruno@clisp.org>
65757
65758         Ensure O(n) worst-case complexity of c_strstr.
65759         * lib/c-strstr.c: Include stdbool.h, string.h.
65760         (knuth_morris_pratt): New function.
65761         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
65762         bookkeeping indicates that it's worth it.
65763         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
65764
65765         * lib/c-strstr.c: Complete rewrite for maintainability.
65766
65767         * modules/c-strstr-tests: New file.
65768         * tests/test-c-strstr.c: New file.
65769
65770 2007-02-11  Bruno Haible  <bruno@clisp.org>
65771
65772         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
65773         5.2.1 and earlier, whereby \055 was treated just like the range
65774         delimiter '-'.
65775         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65776
65777 2007-02-08  Bruno Haible  <bruno@clisp.org>
65778
65779         * modules/regex (Depends-on): Add stdbool.
65780         Reported by Dalibor Topic <robilad@kaffe.org>.
65781
65782 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
65783
65784         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
65785         Prefer returning from main to exiting from it.
65786         Remove unnecessary parens after sizeof.
65787
65788 2007-02-05  Bruno Haible  <bruno@clisp.org>
65789
65790         New module mbssep.
65791         * modules/mbssep: New file.
65792         * lib/mbssep.c: New file.
65793         * lib/string_.h (strsep): Add a conditional link warning.
65794         (mbssep): New declaration.
65795         * m4/mbssep.m4: New file.
65796         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65797         GNULIB_MBSSEP.
65798         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
65799         * MODULES.html.sh (Internationalization functions): Add mbssep.
65800
65801 2007-02-05  Bruno Haible  <bruno@clisp.org>
65802
65803         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
65804         Optimize search in case of 1 delimiter.
65805
65806 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65807
65808         * lib/acl.h: Include sys/types.h before sys/acl.h.
65809
65810 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
65811
65812         Merge upstream fix for glibc bugzilla #3957:
65813
65814         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
65815
65816         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
65817         bit for RE_HAT_LISTS_NOT_NEWLINE.
65818         (build_charclass_op): Remove bogus comment.
65819
65820 2007-02-05  Simon Josefsson  <simon@josefsson.org>
65821
65822         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
65823
65824 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
65825
65826         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
65827         * lib/memmem.c [!defined _LIBC]: Include config.h.
65828
65829 2007-02-04  Bruno Haible  <bruno@clisp.org>
65830
65831         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
65832         warning message.
65833
65834 2007-02-04  Bruno Haible  <bruno@clisp.org>
65835
65836         New module mbstok_r.
65837         * modules/mbstok_r: New file.
65838         * lib/mbstok_r.c: New file.
65839         * lib/string_.h (strtok_r): Change argument names to match the
65840         comments. Add a conditional link warning.
65841         (mbstok_r): New declaration.
65842         * m4/mbstok_r.m4: New file.
65843         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65844         GNULIB_MBSTOK_R.
65845         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
65846         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
65847
65848 2007-02-04  Bruno Haible  <bruno@clisp.org>
65849
65850         New module mbsspn.
65851         * modules/mbsspn: New file.
65852         * lib/mbsspn.c: New file.
65853         * lib/string_.h (strspn): Add a conditional link warning.
65854         (mbsspn): New declaration.
65855         * m4/mbsspn.m4: New file.
65856         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65857         GNULIB_MBSSPN.
65858         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
65859         * MODULES.html.sh (Internationalization functions): Add mbsspn.
65860
65861 2007-02-04  Bruno Haible  <bruno@clisp.org>
65862
65863         New module mbspbrk.
65864         * modules/mbspbrk: New file.
65865         * lib/mbspbrk.c: New file.
65866         * lib/string_.h (strpbrk): Add a conditional link warning.
65867         (mbspbrk): New declaration.
65868         * m4/mbspbrk.m4: New file.
65869         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65870         GNULIB_MBSPBRK.
65871         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
65872         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
65873
65874 2007-02-04  Bruno Haible  <bruno@clisp.org>
65875
65876         New module mbscspn.
65877         * modules/mbscspn: New file.
65878         * lib/mbscspn.c: New file.
65879         * lib/string_.h (strcspn): Add a conditional link warning.
65880         (mbscspn): New declaration.
65881         * m4/mbscspn.m4: New file.
65882         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65883         GNULIB_MBSCSPN.
65884         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
65885         * MODULES.html.sh (Internationalization functions): Add mbscspn.
65886
65887 2007-02-04  Bruno Haible  <bruno@clisp.org>
65888
65889         New module mbscasestr, reduced goal of strcasestr.
65890         * modules/mbscasestr: New file.
65891         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
65892         (mbscasestr): Renamed from strcasestr.
65893         * lib/strcasestr.c: Don't include mbuiter.h.
65894         (strcasestr): Remove support for multibyte locales.
65895         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
65896         Change the conditional link warning.
65897         (mbscasestr): New declaration.
65898         * m4/mbscasestr.m4: New file.
65899         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
65900         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
65901         REPLACE_STRCASESTR.
65902         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
65903         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65904         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65905         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
65906         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
65907         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
65908         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
65909         (Depends-on): Remove mbuiter.
65910         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
65911
65912 2007-02-04  Bruno Haible  <bruno@clisp.org>
65913
65914         Simplify handling of strncasecmp.
65915         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
65916         the conditional link warning.
65917         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
65918         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
65919         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
65920         * modules/strcase (configure.ac): Don't invoke
65921         gl_STRING_MODULE_INDICATOR.
65922         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
65923
65924 2007-02-04  Bruno Haible  <bruno@clisp.org>
65925
65926         New module mbscasecmp, reduced goal of strcasecmp.
65927         * modules/mbscasecmp: New file.
65928         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
65929         (mbscasecmp): Renamed from strcasecmp.
65930         * lib/strcasecmp.c: Don't include mbuiter.h.
65931         (strcasecmp): Remove support for multibyte locales.
65932         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
65933         Change the conditional link warning.
65934         (mbscasecmp): New declaration.
65935         * m4/mbscasecmp.m4: New file.
65936         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
65937         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
65938         REPLACE_STRCASECMP.
65939         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
65940         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65941         GNULIB_MBSCASECMP.
65942         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
65943         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
65944         * modules/strcase (Files): Remove m4/mbrtowc.m4.
65945         (Depends-on): Remove mbuiter.
65946         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
65947
65948 2007-02-04  Bruno Haible  <bruno@clisp.org>
65949
65950         New module mbsstr. Remove module strstr.
65951         * modules/mbsstr: New file.
65952         * modules/strstr: Remove file.
65953         * lib/mbsstr.c: Renamed from lib/strstr.c.
65954         (mbsstr): Renamed from strstr.
65955         * lib/string_.h (strstr): Remove declaration. Change the conditional
65956         link warning.
65957         (mbsstr): New declaration.
65958         * m4/mbsstr.m4: New file.
65959         * m4/strstr.m4: Remove file.
65960         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
65961         REPLACE_STRSTR.
65962         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
65963         Don't initialize GNULIB_STRSTR.
65964         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
65965         substitute GNULIB_STRSTR and REPLACE_STRSTR.
65966         * MODULES.html.sh (Internationalization functions): Add mbsstr.
65967         (Support for systems lacking ANSI C 89): Remove strstr.
65968
65969 2007-02-04  Bruno Haible  <bruno@clisp.org>
65970
65971         New module mbsrchr.
65972         * modules/mbsrchr: New file.
65973         * lib/mbsrchr.c: New file.
65974         * lib/string_.h (strrchr): Add a conditional link warning.
65975         (mbsrchr): New declaration.
65976         * m4/mbsrchr.m4: New file.
65977         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65978         GNULIB_MBSRCHR.
65979         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
65980         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
65981
65982 2007-02-04  Bruno Haible  <bruno@clisp.org>
65983
65984         New module mbschr.
65985         * modules/mbschr: New file.
65986         * lib/mbschr.c: New file.
65987         * lib/string_.h (strchr): Add a conditional link warning.
65988         (mbschr): New declaration.
65989         * m4/mbschr.m4: New file.
65990         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
65991         GNULIB_MBSCHR.
65992         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
65993         * MODULES.html.sh (Internationalization functions): Add mbschr.
65994
65995 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
65996
65997         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
65998
65999         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
66000
66001 2007-02-04  Bruno Haible  <bruno@clisp.org>
66002
66003         New module description section 'configure.ac-early'.
66004         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
66005         (func_get_autoconf_early_snippet): New function.
66006         (func_import, func_create_testdir): Use it. Remove special cases for
66007         modules 'extensions' and 'lock'.
66008         * modules/extensions (configure.ac-early): Require
66009         gl_USE_SYSTEM_EXTENSIONS.
66010         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
66011
66012 2007-02-04  Bruno Haible  <bruno@clisp.org>
66013
66014         Make use of gcj-4.3's -fsource and -ftarget option.
66015         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
66016         and if so try the options -fsource and -ftarget.
66017         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
66018         source_version, ftarget_option, target_version arguments.
66019         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
66020         (is_envjavac_oldgcj_14_14_usable): Renamed from
66021         is_envjavac_gcj_14_14_usable.
66022         (is_envjavac_oldgcj_14_13_usable): Renamed from
66023         is_envjavac_gcj_14_13_usable.
66024         (is_gcj_present): Update.
66025         (is_gcj_43, is_gcj43_usable): New functions.
66026         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
66027         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
66028         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
66029         try the options -fsource and -ftarget.
66030
66031 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66032
66033         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
66034         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
66035         larger value.
66036
66037 2007-02-03  Jim Meyering  <jim@meyering.net>
66038
66039         Give tools a better chance to allocate space for very large buffers.
66040         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
66041
66042         Make pwd and readlink work also when run with an unreadable parent dir
66043         on systems with openat support.
66044         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
66045         provided getcwd function, even when we have openat support.
66046         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
66047
66048 2007-02-02  Bruno Haible  <bruno@clisp.org>
66049
66050         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
66051         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
66052         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
66053         portability problems if one of these functions is only used on specific
66054         platforms.
66055         Reported by Paul Eggert.
66056
66057 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
66058
66059         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
66060         is causing more trouble than it's curing.
66061         * lib/regex_internal.h (__mempcpy): Remove.
66062         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
66063         (and make the code a tad smaller to boot).
66064         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
66065
66066 2007-02-02  Jim Meyering  <jim@meyering.net>
66067
66068         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
66069         section, not in the Makefile.am: one.
66070
66071 2007-02-02  Eric Blake  <ebb9@byu.net>
66072
66073         * lib/strchrnul.c: Always include config.h first.
66074
66075         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
66076         gnulib strstr is not necessary here.
66077
66078 2007-02-02  Simon Josefsson  <simon@josefsson.org>
66079
66080         * m4/socklen.m4: Fix typo.
66081
66082 2007-02-02  Eric Blake  <ebb9@byu.net>
66083
66084         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
66085         * modules/netinet_in (Makefile.am): Likewise.
66086
66087 2007-02-01  Bruno Haible  <bruno@clisp.org>
66088
66089         * lib/string_.h (GL_LINK_WARNING): New macro.
66090         (strcasecmp, strstr, strcasestr): If provided by the system,
66091         conditionally define as a macro that leads to a warning instead of to
66092         an error.
66093         (strncasecmp): Conditionally define as a macro that leads to a warning.
66094
66095 2007-02-01  Karl Berry  <karl@gnu.org>
66096
66097         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
66098
66099 2007-02-01  Bruno Haible  <bruno@clisp.org>
66100
66101         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
66102         renamings.
66103
66104 2007-02-01  Eric Blake  <ebb9@byu.net>
66105
66106         * modules/regex (Depends-on): Revert dependence on mempcpy.
66107         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
66108         module's definition of mempcpy.
66109         Reported by Paul Eggert.
66110
66111 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66112
66113         * lib/string_.h: If the gnulib module XYZ is not present, undefine
66114         the symbol XYZ before redefining it.  This fixes a problem with
66115         programs that don't use XYZ, when compiled on systems that define
66116         XYZ to something else.
66117
66118 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
66119
66120         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
66121         occurs when "mkdir -m foo" creates a setgid directory that is (1)
66122         writeable to group or other and (2) is intended to have a special
66123         mode bit that is set or cleared.  In such a case, the directory
66124         should be neither group- nor other-writeable until the special
66125         mode bits are right.
66126
66127 2007-01-31  Eric Blake  <ebb9@byu.net>
66128
66129         * modules/mountlist (Depends-on): Add strstr.
66130
66131         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
66132         bug.
66133         * modules/string (Makefile.am): Remove redundant replacement.
66134         * modules/regex (Depends-on): Add mempcpy.
66135
66136 2007-01-31  Bruno Haible  <bruno@clisp.org>
66137
66138         New module description field 'Link'.
66139         * gnulib-tool (func_usage): Document --extract-link-directive.
66140         (sed_extract_prog): Recognize 'Link' directive.
66141         (func_get_link_directive): New function.
66142         (func_import): Show summary of link directives.
66143         Handle --extract-link-directive option.
66144         * modules/acl (Link): New section.
66145         * modules/clock-time (Link): New section.
66146         * modules/euidaccess (Link): New section.
66147         * modules/gettext (Link): New section.
66148         * modules/iconv (Link): New section.
66149         * modules/lock (Link): New section.
66150         * modules/nanosleep (Link): New section.
66151         * modules/readline (Link): New section.
66152
66153 2007-01-27  Bruno Haible  <bruno@clisp.org>
66154
66155         Enforce the use of gnulib modules for unportable <string.h> functions.
66156         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
66157         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
66158         (gl_HEADER_STRING_H_BODY): Require it.
66159         * lib/string_.h: If the gnulib module XYZ is not present, redefine
66160         the symbol XYZ to one that gives a link error.
66161         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
66162         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
66163         * modules/mempcpy (configure.ac): Likewise.
66164         * modules/memrchr (configure.ac): Likewise.
66165         * modules/stpcpy (configure.ac): Likewise.
66166         * modules/stpncpy (configure.ac): Likewise.
66167         * modules/strcase (configure.ac): Likewise.
66168         * modules/strcasestr (configure.ac): Likewise.
66169         * modules/strchrnul (configure.ac): Likewise.
66170         * modules/strdup (configure.ac): Likewise.
66171         * modules/strndup (configure.ac): Likewise.
66172         * modules/strnlen (configure.ac): Likewise.
66173         * modules/strpbrk (configure.ac): Likewise.
66174         * modules/strsep (configure.ac): Likewise.
66175         * modules/strstr (configure.ac): Likewise.
66176         * modules/strtok_r (configure.ac): Likewise.
66177
66178 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
66179
66180         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
66181
66182 2007-01-30  Jim Meyering  <jim@meyering.net>
66183
66184         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
66185
66186 2007-01-29  Bruno Haible  <bruno@clisp.org>
66187
66188         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
66189         * lib/execute.c: Likewise.
66190         * lib/pipe.c: Likewise.
66191         * lib/printf-args.h: Likewise.
66192         * lib/printf-args.c: Likewise.
66193         * lib/printf-parse.c: Likewise.
66194         * lib/vasnprintf.c: Likewise.
66195
66196 2007-01-29  Eric Blake  <ebb9@byu.net>
66197
66198         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
66199         declaration.
66200
66201 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
66202
66203         * lib/strptime.h (strptime): Use 'restrict' for args where
66204         POSIX requires this.
66205         * lib/strptime.c (strptime): Likewise.
66206         Change license notice from LGPL to GPL, since gnulib-tool will
66207         change this as needed.
66208         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
66209         defined.
66210         Include "strptime.h" first, to check interface.
66211         Do not #undef _LIBC and _NL_CURRENT.
66212         Do not include <stdlib.h>; no longer needed.
66213         Include "time_r.h" and declare ptime_locale_status
66214         only if _LIBC is not defined.
66215         (__P): Remove unused macro.
66216         (match_string): Bring back glibc version, but use it only if _LIBC
66217         is defined.
66218         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
66219         Remove unnecessary assertion and abort() call.
66220         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
66221         * m4/strptime.m4: Fix serial number comment.
66222         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
66223         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
66224         (Depends-on): Add time_r.
66225
66226 2007-01-29  Bruno Haible  <bruno@clisp.org>
66227
66228         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66229         strptime.
66230         * modules/strptime (Depends-on): Add stdbool.
66231         * lib/strptime.h: Include <time.h> always. Add comments.
66232
66233 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
66234
66235         * modules/strptime: New file.
66236         * lib/strptime.h: New file.
66237         * lib/strptime.c: New file.
66238         * m4/strptime.m4: New file.
66239
66240 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66241
66242         * MODULES.html.sh: New module mpsort.
66243         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
66244
66245         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
66246         a circularity problem with HP-UX ia64 reported by Bob Proulx in
66247         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
66248         All uses changed.
66249         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
66250         All uses changed.
66251         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
66252         to _Restrict_.
66253         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
66254         the parameter matches the prototype.
66255
66256 2007-01-28  Jim Meyering  <jim@meyering.net>
66257
66258         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
66259         sys/time.h here, reverting that part of the previous patch:
66260         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
66261
66262 2007-01-28  Bruno Haible  <bruno@clisp.org>
66263
66264         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
66265         value of $(SYS_TIME_H).
66266         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
66267         remove it conditionally, too. [added by Jim Meyering]
66268         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
66269         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66270         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
66271         GETTIMEOFDAY_REPLACEMENT to 1.
66272
66273 2007-01-28  Bruno Haible  <bruno@clisp.org>
66274
66275         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
66276         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
66277         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
66278         Set UNISTD_H instead of UNISTD_H2.
66279         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
66280
66281 2007-01-28  Bruno Haible  <bruno@clisp.org>
66282
66283         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
66284         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
66285
66286 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66287
66288         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
66289         (func_create_testdir): Ensure C locale for `grep' and `tr'
66290         character ranges.
66291         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
66292         ACLOCAL_AMFLAGS parsing state machine.
66293
66294 2007-01-27  Bruno Haible  <bruno@clisp.org>
66295
66296         * modules/unistr/base: Update.
66297
66298 2007-01-27  Bruno Haible  <bruno@clisp.org>
66299
66300         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
66301         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
66302         * modules/unistr/u32-mbtouc-unsafe: Renamed from
66303         modules/unistr/u32-mbtouc.
66304         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
66305         * lib/unistr.h: Update.
66306         * lib/linebreak.c: Update.
66307         * modules/unistr/u32-mbtouc: Renamed from
66308         modules/unistr/u32-mbtouc-safe.
66309         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
66310         * lib/unistr.h: Update.
66311         * lib/unistr/u32-to-u8.c: Update.
66312         * lib/unistr/u32-to-u16.c: Update.
66313
66314 2007-01-27  Bruno Haible  <bruno@clisp.org>
66315
66316         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
66317         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
66318         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
66319         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
66320         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
66321         * modules/unistr/u16-mbtouc-unsafe: Renamed from
66322         modules/unistr/u16-mbtouc.
66323         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
66324         * lib/unistr.h: Update.
66325         * lib/linebreak.c: Update.
66326         * modules/linebreak: Update.
66327         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
66328         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
66329         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
66330         * modules/unistr/u16-mbtouc: Renamed from
66331         modules/unistr/u16-mbtouc-safe.
66332         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
66333         * lib/unistr.h: Update.
66334         * lib/unistr/u16-to-u8.c: Update.
66335         * modules/unistr/u16-to-u8: Update.
66336         * lib/unistr/u16-to-u32.c: Update.
66337         * modules/unistr/u16-to-u32: Update.
66338
66339 2007-01-27  Bruno Haible  <bruno@clisp.org>
66340
66341         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
66342         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
66343         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
66344         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
66345         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
66346         * modules/unistr/u8-mbtouc-unsafe: Renamed from
66347         modules/unistr/u8-mbtouc.
66348         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
66349         * lib/unistr.h: Update.
66350         * lib/striconveh.c: Update.
66351         * modules/striconveh: Update.
66352         * lib/linebreak.c: Update.
66353         * modules/linebreak: Update.
66354         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
66355         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
66356         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
66357         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
66358         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
66359         * lib/unistr.h: Update.
66360         * lib/striconveh.c: Update.
66361         * modules/striconveh: Update.
66362         * lib/unistr/u8-to-u16.c: Update.
66363         * modules/unistr/u8-to-u16: Update.
66364         * lib/unistr/u8-to-u32.c: Update.
66365         * modules/unistr/u8-to-u32: Update.
66366
66367 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66368
66369         Sync from Libtool.
66370         * lib/argz.c: Do not include strings.h nor memory.h, include
66371         string.h unconditionally.  Patch by Simon Josefsson.
66372
66373 2007-01-27  Bruno Haible  <bruno@clisp.org>
66374
66375         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
66376         from gl_HEADER_STRING_H_BODY.
66377         (gl_HEADER_STRING_H_BODY): Require it.
66378         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
66379         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66380         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66381         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66382         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66383         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
66384         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
66385         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66386         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
66387         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66388         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66389         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
66390         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66391         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
66392         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66393
66394 2007-01-27  Bruno Haible  <bruno@clisp.org>
66395
66396         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
66397         check_PROGRAMS into noinst_PROGRAMS.
66398         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
66399         check_PROGRAMS in this case.
66400         (func_import): Set for_test to false.
66401         (func_create_testdir): Set for_test to true.
66402
66403 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
66404             Bruno Haible  <bruno@clisp.org>
66405
66406         * modules/strcasestr (Files): Remove lib/strcasestr.h.
66407         (Depends-on): Add string.
66408         (Includes): Use <string.h> instead of strcasestr.h.
66409         * modules/string (Makefile.am): Also substitute the value of
66410         REPLACE_STRCASESTR.
66411         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
66412         assume strcasestr is declared in <string.h> not <strings.h>. Also
66413         set REPLACE_STRCASESTR.
66414         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
66415         REPLACE_STRCASESTR.
66416         * lib/strcasestr.h: Remove file.
66417         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
66418         * lib/string_.h (strcasestr): New declaration.
66419
66420 2007-01-27  Bruno Haible  <bruno@clisp.org>
66421
66422         * lib/string_.h: Use 'extern'.
66423
66424 2007-01-27  Jim Meyering  <jim@meyering.net>
66425
66426         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
66427         of set-but-not-used local, "q".
66428
66429         * lib/mempcpy.c: Include <config.h> before <string.h>.
66430         This fixes a compilation error on HP-UX, due to the system's
66431         "restrict"-using mempcpy prototype.
66432
66433 2007-01-26  Bruno Haible  <bruno@clisp.org>
66434
66435         Small optimization.
66436         * lib/javacomp.c: Include c-strstr.h.
66437          (is_envjavac_gcj): Use c_strstr instead of strstr.
66438         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
66439
66440 2007-01-26  Bruno Haible  <bruno@clisp.org>
66441
66442         * MODULES.html.sh (Unicode string functions): Add the new modules.
66443
66444         * modules/uniconv/u32-strconv-to-locale: New file.
66445         * lib/uniconv/u32-strconv-to-locale.c: New file.
66446
66447         * modules/uniconv/u16-strconv-to-locale: New file.
66448         * lib/uniconv/u16-strconv-to-locale.c: New file.
66449
66450         * modules/uniconv/u8-strconv-to-locale: New file.
66451         * lib/uniconv/u8-strconv-to-locale.c: New file.
66452
66453         * modules/uniconv/u32-strconv-from-locale: New file.
66454         * lib/uniconv/u32-strconv-from-locale.c: New file.
66455
66456         * modules/uniconv/u16-strconv-from-locale: New file.
66457         * lib/uniconv/u16-strconv-from-locale.c: New file.
66458
66459         * modules/uniconv/u8-strconv-from-locale: New file.
66460         * lib/uniconv/u8-strconv-from-locale.c: New file.
66461
66462         * modules/uniconv/u32-strconv-to-enc: New file.
66463         * lib/uniconv/u32-strconv-to-enc.c: New file.
66464         * modules/uniconv/u32-strconv-to-enc-tests: New file.
66465         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
66466
66467         * modules/uniconv/u16-strconv-to-enc: New file.
66468         * lib/uniconv/u16-strconv-to-enc.c: New file.
66469         * lib/uniconv/u-strconv-to-enc.h: New file.
66470         * modules/uniconv/u16-strconv-to-enc-tests: New file.
66471         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
66472
66473         * modules/uniconv/u8-strconv-to-enc: New file.
66474         * lib/uniconv/u8-strconv-to-enc.c: New file.
66475         * modules/uniconv/u8-strconv-to-enc-tests: New file.
66476         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
66477
66478         * modules/uniconv/u32-strconv-from-enc: New file.
66479         * lib/uniconv/u32-strconv-from-enc.c: New file.
66480         * modules/uniconv/u32-strconv-from-enc-tests: New file.
66481         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
66482
66483         * modules/uniconv/u16-strconv-from-enc: New file.
66484         * lib/uniconv/u16-strconv-from-enc.c: New file.
66485         * modules/uniconv/u16-strconv-from-enc-tests: New file.
66486         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
66487
66488         * modules/uniconv/u8-strconv-from-enc: New file.
66489         * lib/uniconv/u8-strconv-from-enc.c: New file.
66490         * lib/uniconv/u-strconv-from-enc.h: New file.
66491         * modules/uniconv/u8-strconv-from-enc-tests: New file.
66492         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
66493
66494         * modules/uniconv/u32-conv-from-enc: New file.
66495         * lib/uniconv/u32-conv-from-enc.c: New file.
66496         * modules/uniconv/u32-conv-from-enc-tests: New file.
66497         * tests/uniconv/test-u32-conv-from-enc.c: New file.
66498
66499         * modules/uniconv/u16-conv-from-enc: New file.
66500         * lib/uniconv/u16-conv-from-enc.c: New file.
66501         * lib/uniconv/u-conv-from-enc.h: New file.
66502         * modules/uniconv/u16-conv-from-enc-tests: New file.
66503         * tests/uniconv/test-u16-conv-from-enc.c: New file.
66504
66505         * modules/uniconv/u8-conv-from-enc: New file.
66506         * lib/uniconv/u8-conv-from-enc.c: New file.
66507         * modules/uniconv/u8-conv-from-enc-tests: New file.
66508         * tests/uniconv/test-u8-conv-from-enc.c: New file.
66509
66510         * modules/uniconv/base: New file.
66511         * lib/uniconv.h: New file.
66512
66513 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
66514
66515         * doc/gnulib-tool.texi (Initial import): Update to match current
66516         behavior with strdup module.
66517         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
66518         * lib/memmem.h: Remove; all uses removed.  This is now done
66519         by <string.h>.
66520         * lib/mempcpy.h: Likewise.
66521         * lib/memrchr.h: Likewise.
66522         * lib/stpcpy.h: Likewise.
66523         * lib/stpncpy.h: Likewise.
66524         * lib/strcase.h: Likewise.
66525         * lib/strchrnul.h: Likewise.
66526         * lib/strdup.h: Likewise.
66527         * lib/strndup.h: Likewise.
66528         * lib/strnlen.h: Likewise.
66529         * lib/strpbrk.h: Likewise.
66530         * lib/strsep.h: Likewise.
66531         * lib/strstr.h: Likewise.
66532         * lib/strtok_r.h: Likewise.
66533         * lib/string_.h: New file.
66534         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
66535         Rely on <string.h> instead.
66536         * lib/canon-host.c: Likewise.
66537         * lib/chdir-long.c: Likewise.
66538         * lib/concatpath.c: Likewise.
66539         * lib/exclude.c: Likewise.
66540         * lib/fchdir.c: Likewise.
66541         * lib/getaddrinfo.c: Likewise.
66542         * lib/getcwd.c: Likewise.
66543         * lib/getsubopt.c: Likewise.
66544         * lib/glob.c: Likewise.
66545         * lib/hard-locale.c: Likewise.
66546         * lib/iconvme.c: Likewise.
66547         * lib/javacomp.c: Likewise.
66548         * lib/mempcpy.c: Likewise.
66549         * lib/memrchr.c: Likewise.
66550         * lib/regex_internal.h: Likewise.
66551         * lib/stpncpy.c: Likewise.
66552         * lib/strcasecmp.c: Likewise.
66553         * lib/strchrnul.c: Likewise.
66554         * lib/strdup.c: Likewise.
66555         * lib/striconv.c: Likewise.
66556         * lib/striconveh.c: Likewise.
66557         * lib/striconveha.c: Likewise.
66558         * lib/strncasecmp.c: Likewise.
66559         * lib/strndup.c: Likewise.
66560         * lib/strnlen.c: Likewise.
66561         * lib/strsep.c: Likewise.
66562         * lib/strstr.c: Likewise.
66563         * lib/strtok_r.c: Likewise.
66564         * lib/userspec.c: Likewise.
66565         * lib/w32spawn.h: Likewise.
66566         * lib/xstrndup.c: Likewise.
66567         * lib/mountlist.c (strstr): Remove decl.
66568         * m4/string_h.m4: New file.
66569         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
66570         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
66571         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
66572         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
66573         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
66574         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
66575         Set REPLACE_STRCASECMP if necessary.
66576         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
66577         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
66578         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
66579         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
66580         HAVE_DECL_STRDUP if necessary.
66581         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
66582         since gl_FUNC_STRNDUP does that now.
66583         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
66584         Check for decl here...
66585         (gl_PREREQ_STRNLEN): ... not here.
66586         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
66587         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
66588         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
66589         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
66590         necessary.
66591         * modules/string: New file.
66592         * modules/memmem (Files): Remove special-purpose include file.
66593         (Depends-on): Add string.
66594         (Include): Include <string.h>, not the removed file.
66595         * modules/mempcpy: Likewise.
66596         * modules/memrchr: Likewise.
66597         * modules/stpcpy: Likewise.
66598         * modules/stpncpy: Likewise.
66599         * modules/strcase: Likewise.
66600         * modules/strchrnul: Likewise.
66601         * modules/strdup: Likewise.
66602         * modules/strndup: Likewise.
66603         * modules/strnlen: Likewise.
66604         * modules/strpbrk: Likewise.
66605         * modules/strsep: Likewise.
66606         * modules/strstr: Likewise.
66607         * modules/strtok_r: Likewise.
66608         * tests/test-dirname.c: Don't include "strdup.h", since
66609         <string.h> now suffices.
66610         * tests/test-memmem.c: Don't include "memmem.h", since
66611         <string.h> now suffices.
66612
66613 2007-01-25  Bruno Haible  <bruno@clisp.org>
66614
66615         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
66616         *resultp is 0.
66617
66618         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
66619         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
66620         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
66621         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
66622
66623         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
66624         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
66625         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
66626         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
66627         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
66628         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
66629
66630 2007-01-24  Bruno Haible  <bruno@clisp.org>
66631
66632         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
66633         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
66634         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
66635         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
66636         gl_FUNC_FTS_CORE.
66637         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
66638         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
66639         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66640         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
66641         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
66642         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
66643         gl_FUNC_FCHOWNAT.
66644         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
66645         gl_FUNC_STRFTIME.
66646         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
66647         Reported by Ralf Wildenhues.
66648
66649 2007-01-24  Bruno Haible  <bruno@clisp.org>
66650
66651         Drop AC_REQUIRE calls that are redundant with the module dependencies.
66652         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
66653         gl_GETADDRINFO.
66654         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
66655         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
66656         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
66657
66658 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
66659
66660         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
66661         Don't use 'exit'; just return from 'main'.
66662         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
66663
66664         * lib/fnmatch_.h: Readjust white space and comments to match
66665         glibc, to avoid spurious diffs.
66666
66667 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66668
66669         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
66670         2004-12-01 change by Jakub Jelinek, since this code won't compile
66671         if !LIBC.  Problem reported by Bob Proulx.
66672
66673 2007-01-23  Bruno Haible  <bruno@clisp.org>
66674
66675         * lib/striconveh.c: Include c-strcaseeq.h.
66676         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
66677         * modules/striconveh (Depends-on): Add c-strcaseeq.
66678
66679 2007-01-23  Bruno Haible  <bruno@clisp.org>
66680
66681         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
66682
66683         * modules/c-strcaseeq: New file.
66684         * lib/c-strcaseeq.h: New file.
66685
66686         * modules/streq: New file.
66687         * lib/streq.h: New file.
66688
66689 2007-01-23  Bruno Haible  <bruno@clisp.org>
66690
66691         * modules/striconveha-tests: New file.
66692         * tests/test-striconveha.c: New file.
66693
66694         * lib/striconveha.h: Include <stdbool.h>.
66695         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
66696         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
66697         (mem_iconveha_notranslit): Renamed from mem_iconveha.
66698         (mem_iconveha): New function.
66699         (str_iconveha_notranslit): Renamed from str_iconveha.
66700         (str_iconveha): New function.
66701         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
66702         c-strcase.
66703
66704 2007-01-23  Bruno Haible  <bruno@clisp.org>
66705
66706         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
66707         encodings without forgiving before trying any encoding with handler.
66708         (str_iconveha): Try all encodings without forgiving before trying any
66709         encoding with handler.
66710
66711 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66712
66713         Import the following changes from libc.
66714
66715         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
66716
66717         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
66718
66719         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
66720
66721         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
66722         normal_bracket label.
66723
66724         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
66725
66726         [BZ #361]
66727         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
66728         to normal_bracket after fetching the next character.
66729
66730 2007-01-22  Bruno Haible  <bruno@clisp.org>
66731
66732         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
66733         argument.
66734         * lib/striconveh.c (iconv_carefully_1): New function.
66735         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
66736         argument.
66737         (str_cd_iconveh): Update.
66738         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
66739         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
66740         * tests/test-striconveh.c (MAGIC): New macro.
66741         (new_offsets): New function.
66742         (main): Test call with and without offsets.
66743
66744 2007-01-22  Bruno Haible  <bruno@clisp.org>
66745
66746         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
66747         * modules/sys_select (Makefile.am): Likewise.
66748         * modules/sys_socket (Makefile.am): Likewise.
66749         * modules/sys_time (Makefile.am): Likewise.
66750
66751 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
66752
66753         * modules/gettimeofday (License): Change from GPL to LGPL, since
66754         gettimeofday is a library function.
66755
66756 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66757
66758         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
66759
66760 2007-01-21  Bruno Haible  <bruno@clisp.org>
66761
66762         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
66763
66764 2007-01-21  Bruno Haible  <bruno@clisp.org>
66765
66766         * modules/striconveha: New file.
66767         * lib/striconveha.h: New file.
66768         * lib/striconveha.c: New file.
66769         * MODULES.html.sh (Internationalization functions): Add striconveha.
66770         * lib/striconv.c (str_iconv): Optimize the case of an empty input
66771         string.
66772         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
66773
66774 2007-01-21  Bruno Haible  <bruno@clisp.org>
66775
66776         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
66777         * lib/striconveh.c (str_iconveh): Likewise.
66778
66779 2007-01-21  Bruno Haible  <bruno@clisp.org>
66780
66781         * lib/striconveh.h (mem_iconveh): New declaration.
66782         * lib/striconveh.c (mem_iconveh): New function.
66783         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
66784
66785 2007-01-21  Bruno Haible  <bruno@clisp.org>
66786
66787         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
66788
66789         * lib/striconveh.h (mem_cd_iconveh): Change specification.
66790         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
66791         original result buffer.
66792         (str_cd_iconveh): Update.
66793         * tests/test-striconveh.c (main): Update.
66794
66795         * lib/striconv.h (mem_cd_iconv): Change specification.
66796         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
66797         result buffer.
66798         (str_cd_iconv): Update.
66799         * tests/test-striconv.c (main): Update.
66800
66801 2007-01-21  Bruno Haible  <bruno@clisp.org>
66802
66803         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
66804
66805 2007-01-20  Jim Meyering  <jim@meyering.net>
66806
66807         * lib/userspec.c (parse_with_separator): If a user or group string
66808         starts with "+", skip the corresponding name-to-ID look-up, since
66809         such a look-up must fail: user and group names may not include "+".
66810
66811 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66812
66813         * lib/poll.c: Include sys/time.h and time.h unconditionally,
66814         since we now assume the sys_time module.
66815         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
66816         check for sys/time.h; no longer needed.
66817         * modules/poll (Depends-on): Depend on sys_time.
66818
66819 2007-01-18  Bruno Haible  <bruno@clisp.org>
66820
66821         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
66822         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66823
66824         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
66825         gettimeofday.
66826
66827         * tests/test-gettimeofday.c: Include <time.h>.
66828         (dummy): Remove variable.
66829
66830         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
66831         gl_HEADER_SYS_TIME_H.
66832         (gl_HEADER_SYS_TIME_H): New macro.
66833
66834         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
66835         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66836         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
66837         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
66838         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66839         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
66840         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
66841         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66842         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
66843         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
66844         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66845
66846         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
66847         last change; it caused a compilation error when cross-compiling to
66848         Cygwin.
66849
66850 2007-01-18  Jim Meyering  <jim@meyering.net>
66851
66852         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
66853         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
66854         than the race-prone "test -d sys || mkdir sys".
66855         (configure.ac): Use AC_PROG_MKDIR_P.
66856         * modules/sys_select: Likewise.
66857         * modules/sys_socket: Likewise.
66858         * modules/sys_time: Likewise.
66859
66860 2007-01-18  Eric Blake  <ebb9@byu.net>
66861
66862         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
66863         replace gettimeofday.
66864         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
66865         name, to avoid infinite recursion.
66866
66867 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
66868
66869         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
66870         module sys_time.
66871         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
66872         assume timespec.h defines struct timeval.
66873         * lib/settime.c: Likewise.
66874         * lib/utimens.c: Likewise.
66875         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
66876         since we now assume the gettimeofday module.
66877         * lib/tempname.c (__gen_tempname): Likewise.
66878         * lib/gettimeofday.h: Remove.
66879         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
66880         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
66881         Include <time.h>, for 'time()'.
66882         (localtime_buffer_addr): Also use this workaround if
66883         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
66884         to simplify the uses.  All uses changed.
66885         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
66886         that #undef is inside {}, and 'const' follows type name consistently.
66887         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
66888         (gettimeofday): Do not use the maximum possible value for
66889         tv->tv_usec, since that might break usages other than ls.c.
66890         Instead, we'll leave ls.c alone.  This undoes today's patch
66891         by Bruno.  Add a compile-time warning for 1s-clock resolution;
66892         we've never observed the problem but might as well keep the
66893         canary.
66894         * lib/nanosleep.c: Include timespec.h first, for interface check.
66895         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
66896         now assume the sys_time module.
66897         * lib/tempname.c: Likewise.
66898         * lib/timespec.h: Likewise.
66899         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
66900         needed.
66901         * lib/strftime.c: Likewise.
66902         * lib/timespec.h: Likewise.
66903         * lib/posixtm.c: Include posixtm.h first, for interface check.
66904         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
66905         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
66906         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
66907         * lib/sys_time_.h: New file.
66908         * lib/timespec.h (struct timespec): Use long int, not long.
66909         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
66910         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
66911         Remove obsolescent call to AC_HEADER_TIME.
66912         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
66913         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
66914         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
66915         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
66916         Likewise.
66917         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
66918         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
66919         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
66920         into the sys_time module.  Check for gettimeofday just once.
66921         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
66922         for gettimeofday signature to just check the signature.  Merely
66923         compile it, since linking doesn't test signature.  Improve test for
66924         whether gettimeofday.o is actually needed.
66925         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
66926         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
66927         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
66928         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66929         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
66930         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
66931         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
66932         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
66933         than worrying about sys/time.h.
66934         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66935         Don't bother worrying about TIME_WITH_SYS_TIME.
66936         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
66937         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
66938         * m4/sys_time_h.m4: New file.
66939         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
66940         Don't include sys/time.h.  Return from main rather than exiting.
66941         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
66942         all uses changed.
66943         * modules/gethrxtime (Depends-on): Add sys_time.
66944         * modules/gettime (Depends-on): Likewise.
66945         * modules/gettimeofday (Depends-on): Likewise.
66946         * modules/nanosleep (Depends-on): Likewise.
66947         * modules/settime (Depends-on): Likewise.
66948         * modules/tempname (Depends-on): Likewise.
66949         * modules/utimens (Depends-on): Likewise.
66950         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
66951         (Include): Change back to <sys/time.h>.
66952         (Maintainer): Add self.
66953         * modules/sys_time: New file.
66954         * modules/tempname (Depends-on): Add gettimeofday.
66955         * tests/test-gettimeofday.c: Include <sys/time.h>
66956         rather than gettimeofday.h.
66957
66958 2007-01-17  Bruno Haible  <bruno@clisp.org>
66959
66960         * gnulib-tool (func_get_license): Revert last patch. Instead, let
66961         the license default to GPL.
66962         (func_create_testdir): Don't complain if a module is LGPL and its
66963         tests module depends on GPLed modules.
66964
66965 2007-01-17  Bruno Haible  <bruno@clisp.org>
66966
66967         * lib/gettimeofday.c (gettimeofday): Add code for the case
66968         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
66969         maximum possible value for tv->tv_usec, rather than the minimum one.
66970
66971 2005-10-08  Martin Lambers  <marlam@marlam.de>
66972 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
66973 2007-01-16  Bruno Haible  <bruno@clisp.org>
66974
66975         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
66976         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
66977         gl_FUNC_GETTIMEOFDAY.
66978         (Include): Add gettimeofday.h.
66979         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
66980         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
66981         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
66982         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
66983         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
66984         * lib/gettimeofday.h: New file.
66985         * lib/gettimeofday.c: Include <sys/timeb.h>.
66986         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
66987         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
66988         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
66989         fall back on time().
66990
66991         * tests/test-gettimeofday.c: New file.
66992         * modules/gettimeofday-tests: New file.
66993
66994 2007-01-16  Eric Blake  <ebb9@byu.net>
66995
66996         * modules/fnmatch (Depends-on): Depend on wchar.
66997         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
66998         * m4/fnmatch.m4: Likewise.
66999         * modules/mbchar (Makefile.am): Assume <wchar.h>.
67000         * m4/mbchar.m4: Likewise.
67001         * modules/mbswidth (Depends-on): Depend on wchar.
67002         * lib/mbswidth.c: Assume <wchar.h>.
67003         * m4/mbswidth.m4: Likewise.
67004         * modules/quotearg (Depends-on): Depend on wchar.
67005         * lib/quotearg.c: Assume <wchar.h>.
67006         * m4/quotearg.m4: Likewise.
67007         * modules/regex (Depends-on): Depend on wchar.
67008         * lib/regex_internal.h: Assume <wchar.h>.
67009         * m4/regex.m4: Likewise.
67010         * modules/stdint (Depends-on): Depend on wchar.
67011         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
67012         * m4/stdint.m4: Likewise.
67013         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
67014         * modules/strftime (Depends-on): Depend on wchar.
67015         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
67016         * modules/strtol (Depends-on): Depend on wchar.
67017         * lib/strtol.c: Assume <wchar.h>.
67018         * modules/wcwidth (Depends-on): Depend on wchar.
67019         * lib/wcwidth.h: Assume <wchar.h>.
67020         * m4/wcwidth.m4: Likewise.
67021
67022 2007-01-16  Bruno Haible  <bruno@clisp.org>
67023
67024         * modules/csharpexec-script: New, created from...
67025         * modules/csharpexec: ... this.
67026
67027 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
67028
67029         * modules/javaexec-script: New, created from...
67030         * modules/javaexec: ... this.
67031
67032 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67033
67034         * modules/poll (Dependencies): Add sys_select.
67035
67036 2007-01-15  Jim Meyering  <jim@meyering.net>
67037
67038         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
67039         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
67040         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
67041         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
67042
67043 2007-01-15  Bruno Haible  <bruno@clisp.org>
67044
67045         * modules/striconveh: New file.
67046         * lib/striconveh.h: New file.
67047         * lib/striconveh.c: New file.
67048         * MODULES.html.sh (Internationalization functions): Add striconveh.
67049
67050         * modules/striconveh-tests: New file.
67051         * tests/test-striconveh.c: New file.
67052
67053 2007-01-15  Bruno Haible  <bruno@clisp.org>
67054
67055         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
67056         not from GNU libiconv or GNU libc.
67057
67058 2007-01-15  Bruno Haible  <bruno@clisp.org>
67059
67060         * doc/gnulib-intro.texi (Copyright): Explain the different license
67061         terms for module descriptions, autoconf macros, tests, documentation.
67062
67063 2007-01-14  Bruno Haible  <bruno@clisp.org>
67064
67065         * modules/striconv-tests: New file.
67066         * tests/test-striconv.c: New file.
67067
67068 2007-01-14  Bruno Haible  <bruno@clisp.org>
67069
67070         * modules/iconv-tests: New file.
67071         * tests/test-iconv.c: New file.
67072
67073 2007-01-14  Bruno Haible  <bruno@clisp.org>
67074
67075         * gnulib-tool (func_get_license): For test modules, use the license of
67076         the main module.
67077
67078 2007-01-14  Bruno Haible  <bruno@clisp.org>
67079
67080         * modules/iconv (Include): Clarify that <iconv.h> can only be included
67081         if iconv is found to exist.
67082
67083 2007-01-14  Bruno Haible  <bruno@clisp.org>
67084
67085         * modules/c-ctype-tests: New file.
67086         * tests/test-c-ctype.c: New file.
67087
67088 2007-01-14  Bruno Haible  <bruno@clisp.org>
67089
67090         * modules/binary-io-tests: New file.
67091         * tests/test-binary-io.sh: New file.
67092         * tests/test-binary-io.c: New file.
67093
67094 2007-01-14  Bruno Haible  <bruno@clisp.org>
67095
67096         * modules/array-oset-tests: New file.
67097         * tests/test-array_oset.c: New file.
67098
67099 2007-01-14  Bruno Haible  <bruno@clisp.org>
67100
67101         * modules/array-list-tests: New file.
67102         * tests/test-array_list.c: New file.
67103
67104 2007-01-14  Bruno Haible  <bruno@clisp.org>
67105
67106         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
67107         and make.
67108         Reported by Simon Josefsson in
67109         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
67110
67111 2007-01-14  Bruno Haible  <bruno@clisp.org>
67112
67113         * modules/allocsa-tests: New file.
67114         * tests/test-allocsa.c: New file.
67115
67116 2007-01-14  Bruno Haible  <bruno@clisp.org>
67117
67118         * modules/fchdir (Depends-on): Add absolute-header.
67119         * modules/unistd (Depends-on): Likewise.
67120
67121 2006-12-30  Bruno Haible  <bruno@clisp.org>
67122
67123         * modules/fchdir: New file.
67124         * modules/unistd (Files): Add lib/unistd_.h.
67125         (Makefile.am): Generate unistd.h from unistd_.h.
67126         * lib/fchdir.c: New file.
67127         * lib/dirent_.h: New file.
67128         * lib/unistd_.h: New file.
67129         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
67130         * m4/fchdir.m4: New file.
67131         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
67132         (gl_HEADER_UNISTD): Invoke it.
67133         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
67134         function.
67135         * lib/backupfile.c (opendir, closedir): Undefine.
67136         * lib/chown.c (open, close): Undefine.
67137         * lib/clean-temp.c (open, close): Undefine.
67138         * lib/copy-file.c (open, close): Undefine.
67139         * lib/execute.c (open, close): Undefine.
67140         * lib/fsusage.c (open, close): Undefine.
67141         * lib/gc-gnulib.c (open, close): Undefine.
67142         * lib/getcwd.c (opendir, closedir): Undefine.
67143         * lib/glob.c (opendir, closedir): Undefine.
67144         * lib/javacomp.c (open, close): Undefine.
67145         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
67146         * lib/openat-proc.c (open, close): Undefine.
67147         * lib/pagealign_alloc.c (open, close): Undefine.
67148         * lib/pipe.c (open, close): Undefine.
67149         * lib/progreloc.c (open, close): Undefine.
67150         * lib/savedir.c (opendir, closedir): Undefine.
67151         * lib/utime.c (open, close): Undefine.
67152         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
67153
67154 2007-01-10  Bruno Haible  <bruno@clisp.org>
67155
67156         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
67157
67158 2007-01-12  Eric Blake  <ebb9@byu.net>
67159
67160         Provide a robust <wchar.h>.  Further simplifications are now
67161         possible in other modules, but not included here.
67162         * modules/wchar: New module.
67163         * m4/wchar.m4: New file.
67164         * lib/wchar_.h: Likewise.
67165         * modules/mbchar (Depends-on): Depend on wchar, as the first use
67166         of the new module.
67167         * MODULES.html.sh (Extended multibyte and wide character utilities):
67168         New section.
67169
67170 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
67171
67172         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
67173         to a reasonable default for memory allocation.
67174         (xreadlink): Don't allocate a huge buffer, to work around a buggy
67175         file system that reports garbage st_size values for symlinks.
67176         Problem reported by Liyang Hu.
67177
67178 2007-01-11  Simon Josefsson  <simon@josefsson.org>
67179
67180         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
67181         Emacs .#* auto-save files).
67182
67183 2007-01-11  Bruno Haible  <bruno@clisp.org>
67184
67185         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
67186         directory.
67187
67188 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
67189
67190         Use @...@ consistently in lib/wctype_.h.
67191         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
67192         on it being set to 1 or 0.
67193         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
67194         go back to AC_SUBSTing it.
67195         * modules/wctype (Makefile.am): Undo previous change.
67196
67197 2007-01-10  Eric Blake  <ebb9@byu.net>
67198
67199         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
67200         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
67201         * modules/wctype (Makefile.am): Likewise.
67202         Reported by Chris McGuire.
67203
67204 2007-01-10  Jim Meyering  <jim@meyering.net>
67205
67206         fts.c: a small readability/maintainability improvement
67207         * lib/fts.c (fts_read): Make this code slightly more readable and
67208         maintainable by hoisting the "sp->fts_cur = p" assignments to
67209         immediately follow the statements that set P.  Derived from
67210         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
67211
67212 2007-01-10  Eric Blake  <ebb9@byu.net>
67213
67214         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
67215         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
67216         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67217         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
67218         Reported by Chris McGuire.
67219
67220 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67221
67222         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
67223         in sed script.
67224
67225 2007-01-09  Bruno Haible  <bruno@clisp.org>
67226
67227         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
67228         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
67229         variables.
67230         (func_module): Use them.
67231
67232 2007-01-09  Bruno Haible  <bruno@clisp.org>
67233
67234         * modules/unistr/base: New file.
67235         * lib/unistr.h: New file.
67236
67237         * modules/unistr/u8-to-u16: New file.
67238         * lib/unistr/u8-to-u16.c: New file.
67239
67240         * modules/unistr/u8-to-u32: New file.
67241         * lib/unistr/u8-to-u32.c: New file.
67242
67243         * modules/unistr/u16-to-u8: New file.
67244         * lib/unistr/u16-to-u8.c: New file.
67245
67246         * modules/unistr/u16-to-u32: New file.
67247         * lib/unistr/u16-to-u32.c: New file.
67248
67249         * modules/unistr/u32-to-u8: New file.
67250         * lib/unistr/u32-to-u8.c: New file.
67251
67252         * modules/unistr/u32-to-u16: New file.
67253         * lib/unistr/u32-to-u16.c: New file.
67254
67255         * modules/unistr/u8-check: New file.
67256         * modules/unistr/u16-check: New file.
67257         * modules/unistr/u32-check: New file.
67258         * lib/unistr/u8-check.c: New file.
67259         * lib/unistr/u16-check.c: New file.
67260         * lib/unistr/u32-check.c: New file.
67261
67262         * modules/unistr/u8-chr: New file.
67263         * modules/unistr/u16-chr: New file.
67264         * modules/unistr/u32-chr: New file.
67265         * lib/unistr/u8-chr.c: New file.
67266         * lib/unistr/u16-chr.c: New file.
67267         * lib/unistr/u32-chr.c: New file.
67268
67269         * modules/unistr/u8-cmp: New file.
67270         * modules/unistr/u16-cmp: New file.
67271         * modules/unistr/u32-cmp: New file.
67272         * lib/unistr/u8-cmp.c: New file.
67273         * lib/unistr/u16-cmp.c: New file.
67274         * lib/unistr/u32-cmp.c: New file.
67275
67276         * modules/unistr/u8-cpy: New file.
67277         * modules/unistr/u16-cpy: New file.
67278         * modules/unistr/u32-cpy: New file.
67279         * lib/unistr/u8-cpy.c: New file.
67280         * lib/unistr/u16-cpy.c: New file.
67281         * lib/unistr/u32-cpy.c: New file.
67282         * lib/unistr/u-cpy.h: New file.
67283
67284         * modules/unistr/u8-cpy-alloc: New file.
67285         * modules/unistr/u16-cpy-alloc: New file.
67286         * modules/unistr/u32-cpy-alloc: New file.
67287         * lib/unistr/u8-cpy-alloc.c: New file.
67288         * lib/unistr/u16-cpy-alloc.c: New file.
67289         * lib/unistr/u32-cpy-alloc.c: New file.
67290         * lib/unistr/u-cpy-alloc.h: New file.
67291
67292         * modules/unistr/u8-endswith: New file.
67293         * modules/unistr/u16-endswith: New file.
67294         * modules/unistr/u32-endswith: New file.
67295         * lib/unistr/u8-endswith.c: New file.
67296         * lib/unistr/u16-endswith.c: New file.
67297         * lib/unistr/u32-endswith.c: New file.
67298         * lib/unistr/u-endswith.h: New file.
67299
67300         * modules/unistr/u8-mblen: New file.
67301         * modules/unistr/u16-mblen: New file.
67302         * modules/unistr/u32-mblen: New file.
67303         * lib/unistr/u8-mblen.c: New file.
67304         * lib/unistr/u16-mblen.c: New file.
67305         * lib/unistr/u32-mblen.c: New file.
67306
67307         * modules/unistr/u8-mbtouc: New file.
67308         * modules/unistr/u16-mbtouc: New file.
67309         * modules/unistr/u32-mbtouc: New file.
67310         * lib/unistr/u8-mbtouc.c: New file.
67311         * lib/unistr/u16-mbtouc.c: New file.
67312         * lib/unistr/u32-mbtouc.c: New file.
67313
67314         * modules/unistr/u8-mbtouc-safe: New file.
67315         * modules/unistr/u16-mbtouc-safe: New file.
67316         * modules/unistr/u32-mbtouc-safe: New file.
67317         * lib/unistr/u8-mbtouc-safe.c: New file.
67318         * lib/unistr/u16-mbtouc-safe.c: New file.
67319         * lib/unistr/u32-mbtouc-safe.c: New file.
67320
67321         * modules/unistr/u8-move: New file.
67322         * modules/unistr/u16-move: New file.
67323         * modules/unistr/u32-move: New file.
67324         * lib/unistr/u8-move.c: New file.
67325         * lib/unistr/u16-move.c: New file.
67326         * lib/unistr/u32-move.c: New file.
67327         * lib/unistr/u-move.h: New file.
67328
67329         * modules/unistr/u8-next: New file.
67330         * modules/unistr/u16-next: New file.
67331         * modules/unistr/u32-next: New file.
67332         * lib/unistr/u8-next.c: New file.
67333         * lib/unistr/u16-next.c: New file.
67334         * lib/unistr/u32-next.c: New file.
67335
67336         * modules/unistr/u8-prev: New file.
67337         * modules/unistr/u16-prev: New file.
67338         * modules/unistr/u32-prev: New file.
67339         * lib/unistr/u8-prev.c: New file.
67340         * lib/unistr/u16-prev.c: New file.
67341         * lib/unistr/u32-prev.c: New file.
67342
67343         * modules/unistr/u8-set: New file.
67344         * modules/unistr/u16-set: New file.
67345         * modules/unistr/u32-set: New file.
67346         * lib/unistr/u8-set.c: New file.
67347         * lib/unistr/u16-set.c: New file.
67348         * lib/unistr/u32-set.c: New file.
67349         * lib/unistr/u-set.h: New file.
67350
67351         * modules/unistr/u8-startswith: New file.
67352         * modules/unistr/u16-startswith: New file.
67353         * modules/unistr/u32-startswith: New file.
67354         * lib/unistr/u8-startswith.c: New file.
67355         * lib/unistr/u16-startswith.c: New file.
67356         * lib/unistr/u32-startswith.c: New file.
67357         * lib/unistr/u-startswith.h: New file.
67358
67359         * modules/unistr/u8-stpcpy: New file.
67360         * modules/unistr/u16-stpcpy: New file.
67361         * modules/unistr/u32-stpcpy: New file.
67362         * lib/unistr/u8-stpcpy.c: New file.
67363         * lib/unistr/u16-stpcpy.c: New file.
67364         * lib/unistr/u32-stpcpy.c: New file.
67365         * lib/unistr/u-stpcpy.h: New file.
67366
67367         * modules/unistr/u8-stpncpy: New file.
67368         * modules/unistr/u16-stpncpy: New file.
67369         * modules/unistr/u32-stpncpy: New file.
67370         * lib/unistr/u8-stpncpy.c: New file.
67371         * lib/unistr/u16-stpncpy.c: New file.
67372         * lib/unistr/u32-stpncpy.c: New file.
67373         * lib/unistr/u-stpncpy.h: New file.
67374
67375         * modules/unistr/u8-strcat: New file.
67376         * modules/unistr/u16-strcat: New file.
67377         * modules/unistr/u32-strcat: New file.
67378         * lib/unistr/u8-strcat.c: New file.
67379         * lib/unistr/u16-strcat.c: New file.
67380         * lib/unistr/u32-strcat.c: New file.
67381         * lib/unistr/u-strcat.h: New file.
67382
67383         * modules/unistr/u8-strchr: New file.
67384         * modules/unistr/u16-strchr: New file.
67385         * modules/unistr/u32-strchr: New file.
67386         * lib/unistr/u8-strchr.c: New file.
67387         * lib/unistr/u16-strchr.c: New file.
67388         * lib/unistr/u32-strchr.c: New file.
67389
67390         * modules/unistr/u8-strcmp: New file.
67391         * modules/unistr/u16-strcmp: New file.
67392         * modules/unistr/u32-strcmp: New file.
67393         * lib/unistr/u8-strcmp.c: New file.
67394         * lib/unistr/u16-strcmp.c: New file.
67395         * lib/unistr/u32-strcmp.c: New file.
67396
67397         * modules/unistr/u8-strcpy: New file.
67398         * modules/unistr/u16-strcpy: New file.
67399         * modules/unistr/u32-strcpy: New file.
67400         * lib/unistr/u8-strcpy.c: New file.
67401         * lib/unistr/u16-strcpy.c: New file.
67402         * lib/unistr/u32-strcpy.c: New file.
67403         * lib/unistr/u-strcpy.h: New file.
67404
67405         * modules/unistr/u8-strcspn: New file.
67406         * modules/unistr/u16-strcspn: New file.
67407         * modules/unistr/u32-strcspn: New file.
67408         * lib/unistr/u8-strcspn.c: New file.
67409         * lib/unistr/u16-strcspn.c: New file.
67410         * lib/unistr/u32-strcspn.c: New file.
67411         * lib/unistr/u-strcspn.h: New file.
67412
67413         * modules/unistr/u8-strdup: New file.
67414         * modules/unistr/u16-strdup: New file.
67415         * modules/unistr/u32-strdup: New file.
67416         * lib/unistr/u8-strdup.c: New file.
67417         * lib/unistr/u16-strdup.c: New file.
67418         * lib/unistr/u32-strdup.c: New file.
67419         * lib/unistr/u-strdup.h: New file.
67420
67421         * modules/unistr/u8-strlen: New file.
67422         * modules/unistr/u16-strlen: New file.
67423         * modules/unistr/u32-strlen: New file.
67424         * lib/unistr/u8-strlen.c: New file.
67425         * lib/unistr/u16-strlen.c: New file.
67426         * lib/unistr/u32-strlen.c: New file.
67427         * lib/unistr/u-strlen.h: New file.
67428
67429         * modules/unistr/u8-strmblen: New file.
67430         * modules/unistr/u16-strmblen: New file.
67431         * modules/unistr/u32-strmblen: New file.
67432         * lib/unistr/u8-strmblen.c: New file.
67433         * lib/unistr/u16-strmblen.c: New file.
67434         * lib/unistr/u32-strmblen.c: New file.
67435
67436         * modules/unistr/u8-strmbtouc: New file.
67437         * modules/unistr/u16-strmbtouc: New file.
67438         * modules/unistr/u32-strmbtouc: New file.
67439         * lib/unistr/u8-strmbtouc.c: New file.
67440         * lib/unistr/u16-strmbtouc.c: New file.
67441         * lib/unistr/u32-strmbtouc.c: New file.
67442
67443         * modules/unistr/u8-strncat: New file.
67444         * modules/unistr/u16-strncat: New file.
67445         * modules/unistr/u32-strncat: New file.
67446         * lib/unistr/u8-strncat.c: New file.
67447         * lib/unistr/u16-strncat.c: New file.
67448         * lib/unistr/u32-strncat.c: New file.
67449         * lib/unistr/u-strncat.h: New file.
67450
67451         * modules/unistr/u8-strncmp: New file.
67452         * modules/unistr/u16-strncmp: New file.
67453         * modules/unistr/u32-strncmp: New file.
67454         * lib/unistr/u8-strncmp.c: New file.
67455         * lib/unistr/u16-strncmp.c: New file.
67456         * lib/unistr/u32-strncmp.c: New file.
67457
67458         * modules/unistr/u8-strncpy: New file.
67459         * modules/unistr/u16-strncpy: New file.
67460         * modules/unistr/u32-strncpy: New file.
67461         * lib/unistr/u8-strncpy.c: New file.
67462         * lib/unistr/u16-strncpy.c: New file.
67463         * lib/unistr/u32-strncpy.c: New file.
67464         * lib/unistr/u-strncpy.h: New file.
67465
67466         * modules/unistr/u8-strnlen: New file.
67467         * modules/unistr/u16-strnlen: New file.
67468         * modules/unistr/u32-strnlen: New file.
67469         * lib/unistr/u8-strnlen.c: New file.
67470         * lib/unistr/u16-strnlen.c: New file.
67471         * lib/unistr/u32-strnlen.c: New file.
67472         * lib/unistr/u-strnlen.h: New file.
67473
67474         * modules/unistr/u8-strpbrk: New file.
67475         * modules/unistr/u16-strpbrk: New file.
67476         * modules/unistr/u32-strpbrk: New file.
67477         * lib/unistr/u8-strpbrk.c: New file.
67478         * lib/unistr/u16-strpbrk.c: New file.
67479         * lib/unistr/u32-strpbrk.c: New file.
67480         * lib/unistr/u-strpbrk.h: New file.
67481
67482         * modules/unistr/u8-strrchr: New file.
67483         * modules/unistr/u16-strrchr: New file.
67484         * modules/unistr/u32-strrchr: New file.
67485         * lib/unistr/u8-strrchr.c: New file.
67486         * lib/unistr/u16-strrchr.c: New file.
67487         * lib/unistr/u32-strrchr.c: New file.
67488
67489         * modules/unistr/u8-strspn: New file.
67490         * modules/unistr/u16-strspn: New file.
67491         * modules/unistr/u32-strspn: New file.
67492         * lib/unistr/u8-strspn.c: New file.
67493         * lib/unistr/u16-strspn.c: New file.
67494         * lib/unistr/u32-strspn.c: New file.
67495         * lib/unistr/u-strspn.h: New file.
67496
67497         * modules/unistr/u8-strstr: New file.
67498         * modules/unistr/u16-strstr: New file.
67499         * modules/unistr/u32-strstr: New file.
67500         * lib/unistr/u8-strstr.c: New file.
67501         * lib/unistr/u16-strstr.c: New file.
67502         * lib/unistr/u32-strstr.c: New file.
67503         * lib/unistr/u-strstr.h: New file.
67504
67505         * modules/unistr/u8-strtok: New file.
67506         * modules/unistr/u16-strtok: New file.
67507         * modules/unistr/u32-strtok: New file.
67508         * lib/unistr/u8-strtok.c: New file.
67509         * lib/unistr/u16-strtok.c: New file.
67510         * lib/unistr/u32-strtok.c: New file.
67511         * lib/unistr/u-strtok.h: New file.
67512
67513         * modules/unistr/u8-uctomb: New file.
67514         * modules/unistr/u16-uctomb: New file.
67515         * modules/unistr/u32-uctomb: New file.
67516         * lib/unistr/u8-uctomb.c: New file.
67517         * lib/unistr/u16-uctomb.c: New file.
67518         * lib/unistr/u32-uctomb.c: New file.
67519
67520         * MODULES.html.sh (Unicode string functions): Add the new modules.
67521
67522 2007-01-08  Bruno Haible  <bruno@clisp.org>
67523
67524         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
67525         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
67526         subdirectories.
67527
67528 2007-01-08  Karl Berry  <karl@gnu.org>
67529
67530         * doc/error.texi: mention that main() fns must set program_name
67531         when progname is used.
67532
67533 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
67534
67535         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
67536         WCTYPE_H is empty, for the benefit of builds from non-distclean
67537         directories.  Problem reported by Eric Blake in
67538         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
67539
67540 2007-01-08  Bruno Haible  <bruno@clisp.org>
67541
67542         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
67543         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
67544         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
67545         PROVIDE_CANONICALIZE_FILENAME_MODE.
67546         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
67547
67548 2007-01-08  Bruno Haible  <bruno@clisp.org>
67549
67550         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
67551         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
67552         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
67553         * lib/fts.c: Likewise.
67554         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
67555
67556 2006-12-25  Bruno Haible  <bruno@clisp.org>
67557
67558         * modules/utf8-ucs4-safe: New file.
67559         * lib/utf8-ucs4-safe.h: New file.
67560         * lib/unistr/utf8-ucs4-safe.c: New file.
67561
67562         * modules/utf16-ucs4-safe: New file.
67563         * lib/utf16-ucs4-safe.h: New file.
67564         * lib/unistr/utf16-ucs4-safe.c: New file.
67565
67566         * MODULES.html.sh (Unicode string functions): Add the new modules.
67567
67568 2007-01-08  Bruno Haible  <bruno@clisp.org>
67569
67570         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
67571         (Depends-on): Add unitypes.
67572         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67573         (u8_mbtouc_aux): Move out to separate file.
67574         (u8_mbtouc): Use ucs4_t, uint8_t types.
67575         * lib/unistr/utf8-ucs4.c: New file.
67576
67577         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
67578         (Depends-on): Add unitypes.
67579         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
67580         (u16_mbtouc_aux): Move out to separate file.
67581         (u16_mbtouc): Use ucs4_t, uint16_t types.
67582         * lib/unistr/utf16-ucs4.c: New file.
67583
67584         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
67585         (Depends-on): Add unitypes.
67586         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
67587         (u8_uctomb_aux): Move out to separate file.
67588         (u8_uctomb): Use ucs4_t, uint8_t types.
67589         * lib/unistr/ucs4-utf8.c: New file.
67590
67591         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
67592         (Depends-on): Add unitypes.
67593         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
67594         (u16_uctomb_aux): Move out to separate file.
67595         (u16_uctomb): Use ucs4_t, uint16_t types.
67596         * lib/unistr/ucs4-utf16.c: New file.
67597
67598 2006-12-25  Bruno Haible  <bruno@clisp.org>
67599
67600         * modules/unitypes: New file.
67601         * lib/unitypes.h: New file.
67602         * MODULES.html.sh (func_all_modules): New section "Unicode string
67603         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
67604         this section. Add unitypes.
67605
67606 2007-01-08  Bruno Haible  <bruno@clisp.org>
67607
67608         Avoid variable names that conflict with those from libtool.
67609         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
67610         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
67611         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
67612         library_names_spec to acl_library_names_spec, hardcode_* to
67613         acl_hardcode_*.
67614         Reported by Ralf Wildenhues.
67615
67616 2007-01-08  Bruno Haible  <bruno@clisp.org>
67617
67618         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
67619         definition.
67620         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
67621         definition.
67622         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
67623         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
67624         definition.
67625         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
67626         definition.
67627         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
67628         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
67629         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
67630         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
67631         definition.
67632         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
67633         definition.
67634         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
67635         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
67636         GC_USE_<algorithm>.
67637         * lib/gc-libgcrypt.c: Likewise.
67638         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
67639         * modules/gc-arctwo (configure.ac): Likewise.
67640         * modules/gc-des (configure.ac): Likewise.
67641         * modules/gc-hmac-md5 (configure.ac): Likewise.
67642         * modules/gc-hmac-sha1 (configure.ac): Likewise.
67643         * modules/gc-md2 (configure.ac): Likewise.
67644         * modules/gc-md4 (configure.ac): Likewise.
67645         * modules/gc-md5 (configure.ac): Likewise.
67646         * modules/gc-random (configure.ac): Likewise.
67647         * modules/gc-rijndael (configure.ac): Likewise.
67648         * modules/gc-sha1 (configure.ac): Likewise.
67649
67650 2007-01-08  Bruno Haible  <bruno@clisp.org>
67651
67652         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
67653         macro definition.
67654         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
67655         definition.
67656         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
67657         definition.
67658         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
67659         * modules/fcntl-safer (configure.ac): Likewise.
67660         * modules/fopen-safer (configure.ac): Likewise.
67661         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
67662         GNULIB_FWRITEERROR macro definition.
67663
67664 2007-01-08  Bruno Haible  <bruno@clisp.org>
67665
67666         * m4/gnulib-common.m4: New file.
67667         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
67668         (func_get_filelist): Add m4/gnulib-common.m4.
67669
67670 2007-01-08  Bruno Haible  <bruno@clisp.org>
67671
67672         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
67673         command.
67674
67675 2007-01-08  Jim Meyering  <jim@meyering.net>
67676
67677         Use a more robust test for a "can't happen" condition.
67678         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
67679         narrowed the st_size value.  Presuming the "can't happen" condition
67680         is true, that narrowing could conceivably convert an invalid st_size
67681         value into a valid one.  Instead, use a change based on Matthew
67682         Woehlke's original patch.
67683
67684         Slight readability improvement: use an assert-like macro
67685         in place of literal "abort ()" uses.
67686         * lib/fts.c (fts_assert): Define.
67687         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
67688         Use this macro instead of a bare 'abort'.
67689
67690 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
67691
67692         Don't worry about using IRIX 5.3's wctype.h broken definitions;
67693         simply work around them.
67694         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
67695         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
67696         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
67697         declaring.
67698         Don't bother to define as macros, since the standard doesn't require it.
67699         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
67700         longer worry about IRIX 5.3.
67701         (HAVE_WCTYPE_CTMP_BUG): Remove.
67702
67703 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67704
67705         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
67706         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
67707         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
67708         Problems reported by Georg Schwarz for IRIX 5.3.
67709
67710         * gnulib-tool (autoconf_minversion): Take the maximum version number
67711         found, not the minimum.  Problem reported by James Youngman.
67712
67713 2007-01-03  Karl Berry  <karl@gnu.org>
67714
67715         * doc/error.texi: new file, explaining interaction with progname.
67716         * doc/gnulib.texi: include it.  Update copyright.
67717
67718 2007-01-03  Simon Josefsson  <simon@josefsson.org>
67719
67720         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
67721         AC_CANONICAL_HOST, to improve autobuild outputs.
67722
67723 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
67724             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
67725
67726         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
67727         sockets, server sockets, and other file descriptors.  Count errors
67728         to compute the return value.  Reorder the code a bit to be easier
67729         to follow.  Don't set event bits that were not requested (except
67730         POLLERR and POLLHUP).
67731
67732 2007-01-01  Bruno Haible  <bruno@clisp.org>
67733
67734         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
67735
67736 2007-01-03  Jim Meyering  <jim@meyering.net>
67737
67738         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
67739
67740 2007-01-02  Bruno Haible  <bruno@clisp.org>
67741
67742         * modules/settime (Include): Require timespec.h.
67743         * modules/nanosleep (Include): Likewise.
67744
67745 2007-01-01  Bruno Haible  <bruno@clisp.org>
67746
67747         * gnulib-tool (func_emit_copyright_notice): Bump year.
67748         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
67749
67750 2007-01-01  Bruno Haible  <bruno@clisp.org>
67751
67752         Improve support for OpenBSD.
67753         * build-aux/config.rpath (libname_spec): Export.
67754         (library_names_spec): New variable. Export.
67755         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
67756         library_names_spec from the config.rpath output. Locate shared library
67757         through the name pattern in library_names_spec.
67758
67759 2007-01-01  Eric Blake  <ebb9@byu.net>
67760
67761         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
67762
67763 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
67764
67765         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
67766         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
67767         assume the C locale, and avoid an "eval" that could cause trouble.
67768         Problem with SORT reported by Bob Proulx.
67769
67770         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
67771         Define.  Trivial patch from Henning Nielsen Lund, originally
67772         sent to bug-grep@gnu.org today.
67773
67774 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
67775
67776         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
67777         struct stat.  Problem reported by Henning Nielsen Lund.
67778         * lib/acl.c: Include acl.h first, to check interface.  Don't
67779         bother to include sys/types.h and sys/stat.h again.
67780
67781 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67782
67783         Import the following change from libc; problem reported by
67784         Sven Verdoolaege.
67785
67786         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
67787
67788         [BZ #1373]
67789         * lib/argp.h: Remove __NTH for __argp_usage inline function.
67790
67791 2006-12-28  Jim Meyering  <jim@meyering.net>
67792
67793         * build-aux/announce-gen: Do not assume that the package
67794         builds any of tar.gz, tar.bz2, and .xdelta files.
67795         Suggestion from Simon Josefsson.
67796
67797 2006-12-28  Simon Josefsson  <simon@josefsson.org>
67798
67799         * modules/announce-gen: New file.
67800
67801 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
67802
67803         * lib/mbchar.h: Just include <wctype.h>; the wctype module
67804         handles its gotchas now.
67805         * lib/mbswidth.c: Likewise.
67806         * lib/wcwidth.h: Likewise.
67807         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
67808         and iswcntrl; the wctype module does this stuff now.
67809         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67810         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67811         * modules/mbchar (Depends-on): Add wctype.
67812         * modules/mbswidth (Depends-on): Likewise.
67813         * modules/wcwidth (Depends-on): Likewise.
67814
67815 2006-12-27  Eric Blake  <ebb9@byu.net>
67816
67817         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
67818         module uses more than what <wctype.h> is required to provide.
67819
67820 2006-12-26  Eric Blake  <ebb9@byu.net>
67821
67822         * gnulib-tool (sed_extract_prog): Avoid space-tab.
67823
67824 2006-12-26  Eric Blake  <ebb9@byu.net>
67825
67826         * modules/absolute-header: New module.
67827         * modules/fcntl (Depends-on): Depend on it.
67828         * modules/inttypes (Depends-on): Likewise.
67829         * modules/stdint (Depends-on): Likewise.
67830         * modules/sys_stat (Depends-on): Likewise.
67831         * modules/wctype (Depends-on): Likewise.
67832         * MODULES.html.sh (Support for building libraries and
67833         executables): Document it.
67834
67835 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
67836
67837         * gnulib-tool (SED): Remove, undoing previous change.
67838         The problem was that it broke coreutils on Solaris, because
67839         "sed --posix" leaked into a makefile.
67840         (sed): New alias, if 'alias' and GNU sed.
67841
67842 2006-12-24  Jim Meyering  <jim@meyering.net>
67843
67844         Work around an fchownat bug in glibc-2.4:
67845         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
67846         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
67847         in spite of the -P option.
67848         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
67849         New macros.
67850         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
67851         * modules/openat (Files): Add lib/fchownat.c.
67852         * lib/openat.c (fchownat): Don't define here.  Move to...
67853         * lib/fchownat.c: ...this new file.
67854
67855 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67856
67857         Fix bug reported by Bruno Haible in
67858         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
67859         where quotearg.c didn't compile on Mac OS X 10.2 because it
67860         lacks <wchar.h> and wint_t.
67861         * lib/wctype_.h (__wctype_wint_t): New type.
67862         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
67863         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
67864         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
67865         Arg is now of type __wctype_wint_t, not wint_t.
67866         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
67867         substitute HAVE_WINT_T.
67868         * modules/wctype (Files): Add m4/wint_t.m4.
67869         (wctype.h): Substitute HAVE_WINT_T.
67870
67871 2006-12-23  Bruno Haible  <bruno@clisp.org>
67872
67873         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
67874
67875 2006-12-23  Bruno Haible  <bruno@clisp.org>
67876
67877         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
67878         S_ISLNK.
67879         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
67880         mingw.
67881
67882 2006-12-22  Bruno Haible  <bruno@clisp.org>
67883
67884         * lib/copy-file.c: Include acl.h.
67885         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
67886         Close the file descriptors only after being done with copy_acl.
67887         * modules/copy-file (Depends-on): Add acl.
67888
67889 2006-12-22  Bruno Haible  <bruno@clisp.org>
67890
67891         * gnulib-tool (SED): New variable.
67892         Use $SED instead of sed everywhere.
67893
67894 2006-12-22  Bruno Haible  <bruno@clisp.org>
67895
67896         * modules/no-c++: New file.
67897         * m4/no-c++.m4: New file.
67898         * MODULES.html.sh (Support for building libraries and executables):
67899         Add no-c++.
67900
67901 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
67902
67903         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
67904         Include <limits.h>, and use its INT_MAX to rewrite the
67905         j loop so that it does not overflow 'int'.  Problem reported by
67906         Ralf Wildenhues in
67907         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
67908         Play it safe by shifting left by 1 rather than multiplying by 2,
67909         as GCC is less likely to optimize this away when the value
67910         is signed (when it assumes overflow leads to undefined behavior).
67911         Also, don't assume time_t uses two's complement.
67912
67913 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
67914
67915         * MODULES.html.sh: New module wctype.
67916         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
67917         * lib/fnmatch.c: Don't bother to include <wchar.h> before
67918         <wctype.h>, since the new wctype module should fix this.
67919         * lib/quotearg.c: Include <wctype.h> unconditionally, since
67920         the wctype module should arrange for it.
67921         * lib/regex_internal.h: Likewise.
67922         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
67923         since the wctype module should handle this now.
67924         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
67925         * modules/fnmatch (Depends-on): Add wctype.
67926         * modules/quotearg (Depends-on): Likewise.
67927         * modules/regex (Depends-on): Likewise.
67928
67929 2006-12-19  Bruno Haible  <bruno@clisp.org>
67930
67931         * lib/strdup.h [C++]: Wrap definitions in extern "C".
67932         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
67933
67934 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67935
67936         * modules/savewd (Depends-on): Fix dependency on fcntl.
67937
67938 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
67939
67940         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
67941         conforms to C99, rather than relying on the user's environment
67942         setting of STDINT_H.
67943
67944 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
67945         and Eric Blake  <ebb9@byu.net>
67946
67947         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
67948         This is more consistent with the other defines here.
67949         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
67950         Port to z/OS.  Problem reported by Paul Gilmartin.
67951         Change local vars to use gl_ prefix rather than ac_.
67952         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
67953         with other defines.
67954         * modules/double-slash-root: New module.
67955         * modules/dirname (Files): Remove m4/double-slash-root.m4.
67956         (Depends-on): Add double-slash-root.
67957         * MODULES.html.sh (File system functions): Mention new module.
67958
67959 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
67960
67961         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
67962         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
67963         This is for the benefit of gzip, which doesn't do i18n.
67964
67965 2006-12-12  Jim Meyering  <jim@meyering.net>
67966
67967         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
67968         Reported by Andreas Schwab <schwab@suse.de>.
67969
67970 2006-12-12  Bruno Haible  <bruno@clisp.org>
67971
67972         Merge these changes.
67973         2006-09-05  Bruno Haible  <bruno@clisp.org>
67974         * lib/iconvme.c (iconv_string): No need to save and restore errno when
67975         iconv_alloc succeeded.
67976         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
67977         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
67978         test for " && dest " at the end - dest is always != NULL there. Call
67979         iconv with 4xNULL arguments initially, to reset the state. Call iconv
67980         with 2xNULL arguments, also to flush the state storage. Handle the
67981         IRIX iconv behaviour. Realloc the final result, to throw away unused
67982         memory.
67983
67984 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
67985
67986         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
67987         and fchmodat unconditionally, since glibc 2.4 has them.
67988         Problem reported by Arkadiusz Miskiewicz.
67989
67990 2006-12-10  Bruno Haible  <bruno@clisp.org>
67991
67992         * gnulib-tool (func_import): Show the include files only for those
67993         modules that are copied and specified.
67994         Reported by Karl Berry.
67995
67996 2006-12-08  Jim Meyering  <jim@meyering.net>
67997
67998         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
67999         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
68000
68001         * build-aux/announce-gen: Add two new options, both optional:
68002         --bootstrap-tools=TOOL_LIST
68003               a comma-separated list of tools, e.g.,
68004               autoconf,automake,bison,gnulib
68005         --gnulib-snapshot-date=DATE
68006               if gnulib is in the bootstrap tool list,
68007               then report this as the snapshot date.
68008               If not specified, use the current date/time.
68009               If you specify a date here, be sure it's UTC.
68010
68011 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68012
68013         * tests/test-argp-2.sh: Fix test to match actual output.
68014         (func_compare): Fix sed script to be portable.
68015
68016 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
68017
68018         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
68019         workaround for this case.  It is not autoconfigured now; offhand
68020         it's hard to see how to autoconfigure it.
68021
68022 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
68023
68024         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
68025         a directory that is about to be chowned.  Such a directory's
68026         initial file permissions should permit the owner only and this
68027         should not be changed until after the chown, since the group and
68028         other bits would be incorrect if they granted permission before
68029         the chown.
68030
68031         Fix porting problem for iswctype reported by Georg Schwarz in:
68032         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
68033         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
68034         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
68035         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
68036         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68037
68038 2006-12-03  Jim Meyering  <jim@meyering.net>
68039
68040         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
68041         p->fts_statp may not yet be defined.
68042         (fts_read): Instead, set it in the caller, once p->fts_statp is
68043         sure to be defined, and corresponds to a top-level directory.
68044         This bug made du -x fail.  Here's the coreutils test case:
68045         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
68046         Reported by Mike Frysinger.
68047
68048 2006-12-01  Jim Meyering  <jim@meyering.net>
68049
68050         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
68051         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
68052         Reported by Simon Josefsson.
68053
68054 2006-11-30  Jim Meyering  <jim@meyering.net>
68055
68056         * m4/warning.m4: Use the all-permissive copyright notice
68057         recommended by RMS (rather than LGPL).
68058         * m4/vararrays.m4: Likewise.
68059         * m4/flexmember.m4: Likewise.
68060
68061 2006-11-29  Bruno Haible  <bruno@clisp.org>
68062
68063         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68064         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
68065         using +=.
68066         Reported by Simon Josefsson <simon@josefsson.org>.
68067
68068 2006-11-28  James Youngman <jay@gnu.org>
68069
68070         * README: Advise users that they might find the bug-gnulib@gnu.org
68071         and autotools-announce@gnu.org mailing lists useful.
68072
68073 2006-11-28  Bruno Haible  <bruno@clisp.org>
68074
68075         * m4/ptrdiff_max.m4: Remove file.
68076
68077 2006-11-21  Bruno Haible  <bruno@clisp.org>
68078
68079         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
68080         _AC_COMPUTE_INT.
68081         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68082         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
68083         _AC_COMPUTE_INT.
68084         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68085         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
68086         _AC_COMPUTE_INT.
68087         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68088
68089 2006-11-28  Jim Meyering  <jim@meyering.net>
68090
68091         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
68092         warning from "gcc -Wshadow" about shadowing the builtin.
68093
68094 2006-11-27  Bruno Haible  <bruno@clisp.org>
68095
68096         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
68097         _AC_COMPUTE_INT.
68098         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
68099
68100 2006-11-27  Bruno Haible  <bruno@clisp.org>
68101             Paul Eggert  <eggert@cs.ucla.edu>
68102
68103         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
68104
68105 2006-11-26  Bruno Haible  <bruno@clisp.org>
68106
68107         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
68108         noinst_LTLIBRARIES.
68109
68110 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68111             Bruno Haible  <bruno@clisp.org>
68112
68113         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
68114         if compiling with "gcc -ansi".
68115
68116 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68117
68118         Fix some incompatibilities with gcc -ansi -pedantic.
68119         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
68120         if compiling pedantically with GCC, unless it's C99 or later.
68121         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
68122         it mishandles gcc -ansi -pedantic as well.
68123         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
68124         if gcc -pedantic.
68125         * lib/regexec.c (check_node_accept_bytes): Don't use auto
68126         initializers for struct if -pedantic, unless it's C99 or later.
68127
68128 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
68129
68130         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
68131         Don't close an fd more than once. Identical atimes indicate
68132         success, not failure.
68133
68134 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
68135
68136         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
68137
68138 2006-11-23  Jim Meyering  <jim@meyering.net>
68139
68140         * build-aux/announce-gen: New file.  From coreutils.
68141
68142 2006-11-22  Jim Meyering  <jim@meyering.net>
68143
68144         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
68145         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
68146         (fts_read): Use a temporary to narrow the overused st_size member
68147         before using it in a switch statement.  Reported by Matthew Woehlke.
68148
68149         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
68150         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
68151
68152 2006-11-20  Bruno Haible  <bruno@clisp.org>
68153
68154         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
68155         changequote instead of pairs of brackets.
68156         Reported by Andreas Schwab <schwab@suse.de>.
68157
68158 2006-11-21  Jim Meyering  <jim@meyering.net>
68159
68160         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
68161         so as to remain compatible with older compilers.
68162         Patch from Michael Deutschmann.
68163
68164 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68165
68166         * MODULES.html.sh (File system functions): Add openat.
68167
68168         * lib/openat.h (rpl_fstatat): New macro, if
68169         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
68170         (fstatat): Define to rpl_fstatat under the same conditions,
68171         unless COMPILING_FSTATAT.
68172         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
68173         seems to have the bug.
68174         * lib/fstatat.c: New file.
68175         * modules/openat (Files): Add it.
68176
68177 2006-11-20  Bruno Haible  <bruno@clisp.org>
68178
68179         * Makefile: New file.
68180
68181 2006-11-20  Jim Meyering  <jim@meyering.net>
68182
68183         The beginnings of syntax-related checks for gnulib.
68184         * lib/Makefile: New file.
68185         * lib/t-idcache: New script.  Ensure that the two halves of
68186         idcache.c stay in sync.
68187
68188         * lib/idcache.c: Adjust comments in user- and group- portions to
68189         be more accurate, and to be consistent with one another.
68190
68191 2006-11-20  Jim Meyering  <jim@meyering.net>
68192
68193         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
68194         continue using the flexible array member (thus, this module performs
68195         half as many malloc calls), with the addition that...
68196         (getgroup, getuser): Consistently record a non-match via an empty
68197         "name" string, and map an empty string match to a NULL return value.
68198         * modules/idcache (Depends-on): Re-add flexmember.
68199
68200         * lib/idcache.c (getuser): Remove all uses of the register keyword.
68201         (getuidbyname, getgroup, getgidbyname): Likewise.
68202
68203         Use cleaner syntax: NULL rather than 0.
68204         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
68205
68206 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68207
68208         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
68209         It mishandled the case where the group was missing.
68210         Problem reported by Greg Schafer.
68211         * modules/idcache: Likewise.
68212
68213 2006-11-18  Jim Meyering  <jim@meyering.net>
68214
68215         * check-module (%exempt_header): Add exception for some
68216         conditionally-included headers.
68217
68218         * modules/i-ring (Depends-on): Add verify.
68219         (License): Change to LGPL.
68220
68221 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68222
68223         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
68224         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
68225         and inttostr.h.  Use snprintf rather than uinttostr, so that
68226         LGPLed code doesn't depend on GPLed.
68227
68228 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68229
68230         * modules/inline (License): Change from GPL to LGPL.
68231
68232 2006-11-17  Jim Meyering  <jim@meyering.net>
68233
68234         * modules/d-type (License): Switch to LGPL.
68235
68236 2006-11-15  Bruno Haible  <bruno@clisp.org>
68237
68238         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
68239
68240 2006-11-15  Eric Blake  <ebb9@byu.net>
68241
68242         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
68243         the module dependency.
68244
68245 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68246             Bruno Haible  <bruno@clisp.org>
68247
68248         * gnulib-tool (func_create_testdir): Add license consistency check.
68249
68250 2006-11-15  Eric Blake  <ebb9@byu.net>
68251
68252         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
68253         random "(cached)" in configure output.
68254
68255 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68256
68257         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
68258         test for conforming inttypes.h is both announced and cached.
68259
68260         * MODULES.html.sh (seen_modules, seen_files): New variables.
68261         (func_module): Rewrite to use a few less gnulib-tool and sed
68262         invocations.  Avoid a couple of quadratic algorithms for ...
68263         (missed_modules, missed_files): ... these, with ...
68264         (func_append, func_tmpdir): ... these new functions, from
68265         gnulib-tool.  Analogously, install traps for cleanup.
68266
68267         * tests/test-gc.c (main): Remove unused variables.
68268         * tests/test-read-file.c: Include stdlib.h, for 'free'.
68269
68270 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
68271
68272         * modules/inttostr (License): Change to LGPL.
68273
68274 2006-11-14  Eric Blake  <ebb9@byu.net>
68275
68276         * modules/tempname (License): Change to LGPL.
68277
68278 2006-11-14  Eric Blake  <ebb9@byu.net>
68279
68280         * doc/functions.texi (Function Portability): *printf functions on
68281         Cygwin now understand all POSIX size specifiers.
68282
68283 2006-11-14  Bruno Haible  <bruno@clisp.org>
68284
68285         * modules/c-ctype (License): Change to LGPL.
68286
68287 2006-11-12  Bruno Haible  <bruno@clisp.org>
68288
68289         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
68290         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
68291         for GNOME libraries, for which the include files are installed in
68292         subdirectories of $prefix/include.
68293
68294 2006-11-12  Bruno Haible  <bruno@clisp.org>
68295
68296         * m4/lib-link.m4: Require at least autoconf-2.54.
68297         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
68298         name to underscores for the --with option.
68299
68300 2006-11-13  Bruno Haible  <bruno@clisp.org>
68301
68302         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
68303         the tests directory.
68304         Reported by Ralf Wildenhues.
68305
68306 2006-11-13  Bruno Haible  <bruno@clisp.org>
68307
68308         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
68309         (func_emit_initmacro_end): Undo the override here.
68310         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
68311         Works around the famous automake error in coreutils.
68312
68313 2006-11-13  Eric Blake  <ebb9@byu.net>
68314
68315         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
68316         element, not its node.
68317
68318 2006-11-12  Bruno Haible  <bruno@clisp.org>
68319
68320         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
68321         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
68322
68323 2006-11-12  Bruno Haible  <bruno@clisp.org>
68324
68325         * gnulib-tool: New option --local-symlink.
68326         (func_usage): Document it.
68327         (lsymbolic): New variable.
68328         (func_import, func_create_testdir): If --symlink was not specified,
68329         test whether --local-symlink was specified and the file comes from
68330         the local_gnulib_dir.
68331
68332 2006-11-12  Bruno Haible  <bruno@clisp.org>
68333
68334         * gnulib-tool (func_ln): New function.
68335         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
68336
68337 2006-11-12  Bruno Haible  <bruno@clisp.org>
68338
68339         Finish support for source files in subdirectories.
68340         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
68341         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
68342         AUTOMAKE_OPTIONS.
68343         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
68344
68345 2006-11-12  Bruno Haible  <bruno@clisp.org>
68346
68347         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68348         EXTRA_lib_SOURCES augmentation.
68349         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
68350
68351 2006-11-12  Jim Meyering  <jim@meyering.net>
68352
68353         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
68354         file descriptors.  This also averts a failure on systems with
68355         native openat support when a traversed directory lacks "x" access.
68356         * lib/fts_.h: Include "i-ring.h"
68357         (struct FTS) [fts_fd_ring]: New member.
68358         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
68359         (FCHDIR): Add parentheses.
68360         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
68361         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
68362         When descending, rather than simply closing the previous
68363         fts_cwd_fd value, push that file descriptor onto the ring.
68364         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
68365         (fts_open): Initialize the new fd_ring member.
68366         (fts_close): Clear the ring.
68367         (fts_safe_changedir): When possible, use our new fd_ring to skip
68368         the diropen and fstat and dev/ino comparison that would normally
68369         accompany a virtual `chdir ("..")'.
68370
68371         * modules/fts (Depends-on): Add i-ring.
68372         * modules/i-ring: New module.
68373         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
68374         * m4/i-ring.m4: New file.
68375
68376 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68377
68378         * gnulib-tool (func_create_testdir): Fix replacement of
68379         `build-aux' in configure.ac.  Run autotools in gltests
68380         subdirectory.
68381         (func_create_testdir, func_create_megatestdir, test): There is
68382         no need for '--force' in most autotool invocations in a new
68383         tree.  Actually fail the whole test if any of the tools, or the
68384         configure or make stages fail.
68385
68386         Sync from Automake.
68387         * build-aux/gnupload: Revert last change.  Add pointer to upload
68388         instructions of the GNU Maintenance Instructions.
68389         Suggestion by Karl Berry.
68390
68391 2006-11-10  Jim Meyering  <jim@meyering.net>
68392
68393         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
68394
68395 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68396
68397         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
68398         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
68399         (bind_textdomain_codeset) [! ENABLE_NLS]:
68400         Evaluate all the arguments.  That way, callers get compatible behavior
68401         if the arguments have side effects.  Also, it avoids some GCC
68402         diagnostics in some cases; Joel E. Denny reported problems when Bison
68403         was configured with --enable-gcc-warnigs.
68404
68405 2006-11-10  Jim Meyering  <jim@meyering.net>
68406
68407         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
68408         relevant options in CFLAGS (like -O, -fno-inline) are taken into
68409         account.
68410
68411 2006-11-10  Jim Meyering  <jim@meyering.net>
68412
68413         * modules/inline: New file/module.
68414         * modules/xalloc (Files): Remove m4/inline.m4.
68415         (Depends-on): Add inline, instead.
68416         * modules/oset: Likewise.
68417         * modules/list: Likewise.
68418
68419 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68420
68421         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
68422         Problem reported by Matthew Woehlke.
68423
68424 2006-11-09  Bruno Haible  <bruno@clisp.org>
68425
68426         * lib/tempname.c (gen_tempname): Remove variant that invokes
68427         __gen_tempname.
68428         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
68429         __gen_tempname.
68430
68431 2006-11-08  Bruno Haible  <bruno@clisp.org>
68432
68433         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
68434         to 'yes' instead of 'cross-compiling'.
68435
68436 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
68437
68438         * lib/quotearg.h (quotearg_free): New decl.
68439         * lib/quotearg.c (quotearg_free): New function.
68440         (slot0, nslots, slotvec0, slotvec):
68441         Now file-scope so that quotearg_free can get at them.
68442
68443 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68444
68445         Sync from Automake.
68446         * build-aux/gnupload: Add missing 'gnu' to example URL.
68447         Report by Karl Berry.
68448
68449 2006-11-08  Bruno Haible  <bruno@clisp.org>
68450
68451         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
68452         Suggested by Paul Eggert.
68453
68454 2006-11-08  Jim Meyering  <jim@meyering.net>
68455
68456         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
68457         It's already included if !_LIBC.
68458         (fts_safe_changedir): Add a comment.
68459
68460 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68461
68462         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
68463         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
68464         Matthew Woehlke.
68465
68466         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
68467         definitions up, to avoid colliding with change below.
68468         (static_inline) [HAVE_INLINE]: New macro.
68469         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
68470         Provide extern decls when !HAVE_INLINE.  Do not define unless
68471         static_inline is defined, either by us or by xmalloc.c.  Use
68472         static_inline rather than static inline.
68473         (XCALLOC): Optimize sizeof(T) = 1 case.
68474         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
68475
68476 2006-11-07  Bruno Haible  <bruno@clisp.org>
68477
68478         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
68479         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
68480         AC_C_INLINE.
68481         * modules/xalloc (Files): Add m4/inline.m4.
68482
68483 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68484
68485         * README: Fix typo.
68486         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
68487         (Miscellanous Notes): ...from this.
68488
68489 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
68490
68491         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
68492         Mention that offsetof should be used instead of sizeof.
68493         From Bruno Haible.
68494
68495 2006-11-07  Bruno Haible  <bruno@clisp.org>
68496
68497         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
68498
68499 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68500
68501         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68502         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
68503         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68504         (gl_tree_add_before, gl_tree_add_after):
68505         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
68506         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
68507         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68508         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
68509         (gl_linked_add_after, gl_linked_add_at): Likewise.
68510         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
68511         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
68512         (gl_tree_add_before, gl_tree_add_after): Likewise.
68513         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
68514         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
68515         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
68516
68517 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68518
68519         * lib/gl_oset.h: Use C comment style, not C++ comment style.
68520
68521 2006-11-06  Bruno Haible  <bruno@clisp.org>
68522
68523         * m4/inline.m4: New file.
68524         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
68525         * modules/list (Files): Add m4/inline.m4.
68526         * modules/oset (Files): Likewise.
68527
68528 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
68529
68530         * lib/idcache.c: Include <stddef.h>, for offsetof.
68531         (struct userid.name): Change from char * to a flexible array member.
68532         All uses changed.
68533         * modules/idcache (Depends-on): Add flexmember.
68534
68535         * MODULES.html.sh (Core language properties): New module flexmember.
68536         * modules/flexmember, m4/flexmember.m4: New files.
68537
68538         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
68539         inline functions that are identical with the old xnmalloc_inline,
68540         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
68541         that we can avoid some unnecessary integer multiplications and
68542         divisions in the common case where the element size is known at
68543         compile time.
68544         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
68545         needed.
68546         (xnboundedmalloc): Remove.
68547         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
68548         arguments, for consistency with rest of this header.
68549         (xcharalloc): Rewrite using XNMALLOC.
68550         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
68551         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
68552         versions have been moved to lib/xalloc.h and renamed to be the
68553         non-*_inline versions.
68554         (xmalloc, xrealloc): Implement without reference to the xnmalloc
68555         and xnrealloc functions, since those functions are now inline and
68556         now call us.
68557         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
68558         renaming described above.
68559         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
68560         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
68561         captures the dependency in AC_C_INLINE.
68562
68563         New module canonicalize-lgpl, proposed by Charles Wilson in
68564         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
68565         with a few small changes afterwards.
68566         * MODULES.html.sh (File system functions): New module
68567         canonicalize-lgpl.
68568         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
68569         and canonicalize_file_name.
68570         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
68571         * modules/canonicalize-lgpl: New files.
68572
68573 2006-11-05  Bruno Haible  <bruno@clisp.org>
68574
68575         * gnulib-tool (func_import, func_create_testdir): Create directories
68576         also for files in subdirectories of lib/.
68577
68578 2006-11-05  Bruno Haible  <bruno@clisp.org>
68579
68580         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
68581         ANSI C compliant.
68582
68583 2006-11-03  Bruno Haible  <bruno@clisp.org>
68584
68585         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
68586         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
68587         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
68588         (xnboundedmalloc): New inline function.
68589         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
68590         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
68591         xmalloc.
68592         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
68593         xmalloc.
68594         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
68595         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
68596         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
68597         xmalloc.
68598         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68599         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
68600         xmalloc.
68601         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
68602         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68603         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
68604         xmalloc.
68605         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
68606         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
68607         gl_tree_add_after): Use XMALLOC instead of xmalloc.
68608         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
68609         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
68610         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
68611         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
68612
68613 2006-11-03  Bruno Haible  <bruno@clisp.org>
68614
68615         * lib/c-ctype.h [C++]: Define functions without name mangling.
68616         * lib/fwriteerror.h [C++]: Likewise.
68617         * lib/gcd.h [C++]: Likewise.
68618         * lib/linebreak.h [C++]: Likewise.
68619
68620 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68621
68622         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
68623         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
68624         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
68625         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
68626         Check for functions and headers just once.
68627         Check for declaration of canonicalize_file_name.
68628         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
68629
68630 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
68631
68632         * gnulib-tool (func_import): Fix typo in actioncmd.
68633
68634 2006-11-02  Bruno Haible  <bruno@clisp.org>
68635
68636         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
68637         newline sequence in the Makefile.am snippet as a space, like "make"
68638         does.
68639         Reported by Roger Persson <perrog@gmail.com>.
68640
68641 2006-11-01  Bruno Haible  <bruno@clisp.org>
68642
68643         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
68644         already declared in <string.h>.
68645         * lib/strcase.h (strncasecmp): Don't declare it if yes.
68646
68647 2006-11-01  Bruno Haible  <bruno@clisp.org>
68648
68649         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
68650         * lib/strcase.h: Include <string.h>.
68651         (strcasecmp): Define to rpl_strcasecmp here.
68652
68653 2006-11-01  Bruno Haible  <bruno@clisp.org>
68654
68655         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
68656
68657 2006-11-01  Eric Blake  <ebb9@byu.net>
68658
68659         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
68660
68661         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
68662
68663 2006-10-29  Bruno Haible  <bruno@clisp.org>
68664
68665         Make it compile in C++ mode.
68666         * lib/full-write.c (full_rw): Add a cast.
68667
68668 2006-11-01  Bruno Haible  <bruno@clisp.org>
68669
68670         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
68671         be POSIX compliant.
68672         Reported by Roger Persson <perrog@gmail.com>.
68673
68674 2006-11-01  Eric Blake  <ebb9@byu.net>
68675
68676         * lib/getopt_.h: Fix comments.
68677
68678 2006-10-31  Eric Blake  <ebb9@byu.net>
68679
68680         * modules/tmpdir (Depends-on): Add sys_stat.
68681         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
68682         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
68683         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
68684         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
68685         tempname.
68686
68687 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
68688
68689         Avoid some C++ diagnostics reported by Bruno Haible.
68690         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
68691         xmalloc.
68692         (quotearg_alloc): Use xcharalloc rather than xmalloc.
68693         (struct slotvec): Move to top level.
68694         (quotearg_n_options): Rewrite to avoid xmalloc.
68695         * lib/xalloc.h (xcharalloc): New function.
68696         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
68697         [defined __cplusplus]: Add function template that provides result
68698         type propagation.  This part of the change is from Bruno Haible.
68699
68700 2006-10-29  Bruno Haible  <bruno@clisp.org>
68701
68702         Make it compile in C++ mode.
68703         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
68704         * lib/strnlen1.c (strnlen1): Cast memchr result.
68705         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
68706         * lib/clean-temp.c (string_equals, string_hash): Add casts.
68707         (create_temp_dir): Rename local variable 'template'.
68708         (compile_csharp_using_sscli): Add cast.
68709         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
68710         * lib/findprog.c (find_in_path): Likewise.
68711         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
68712         * lib/wait-process.c (register_slave_subprocess): Likewise.
68713
68714 2006-10-22  Bruno Haible  <bruno@clisp.org>
68715
68716         * modules/tsearch: New file.
68717         * lib/tsearch.h: New file.
68718         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
68719         * m4/tsearch.m4: New file.
68720         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
68721
68722 2006-10-29  Eric Blake  <ebb9@byu.net>
68723
68724         * lib/arcfour.c: Assume config.h.
68725         * lib/arctwo.c: Likewise.
68726         * lib/base64.c: Likewise.
68727         * lib/check-version.c: Likewise.
68728         * lib/crc.c: Likewise.
68729         * lib/des.c: Likewise.
68730         * lib/gc-gnulib.c: Likewise.
68731         * lib/gc-libgcrypt.c: Likewise.
68732         * lib/gc-pbkdf2-sha1.c: Likewise.
68733         * lib/getaddrinfo.c: Likewise.
68734         * lib/getdelim.c: Likewise.
68735         * lib/getline.c: Likewise.
68736         * lib/hmac-md5.c: Likewise.
68737         * lib/hmac-sha1.c: Likewise.
68738         * lib/iconvme.c: Likewise.
68739         * lib/md2.c: Likewise.
68740         * lib/md4.c: Likewise.
68741         * lib/memxor.c: Likewise.
68742         * lib/read-file.c: Likewise.
68743         * lib/readline.c: Likewise.
68744         * lib/rijndael-alg-fst.c: Likewise.
68745         * lib/rijndael-api-fst.c: Likewise.
68746         * lib/xgetdomainname.c: Likewise.
68747
68748 2006-10-28  Eric Blake  <ebb9@byu.net>
68749
68750         * lib/xstrndup.c: Assume config.h.
68751
68752 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
68753
68754         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
68755         stat-macros.h is now for our own macros, whereas stat_h is for
68756         macros in the <sys/stat.h> name space.
68757         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
68758         (STAT_MACROS_H): Remove.
68759         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
68760         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
68761         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
68762         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
68763         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
68764         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
68765         Move these macros to ...
68766         * lib/stat_.h: here.  Don't include stat-macros.h.
68767         * lib/canonicalize.c: Don't include stat-macros.h.
68768         * lib/chown.c: Likewise.
68769         * lib/euidaccess.c: Likewise.
68770         * lib/file-type.c: Likewise.
68771         * lib/filemode.c: Likewise.
68772         * lib/glob.c: Likewise.
68773         * lib/isapipe.c: Likewise.
68774         * lib/lchown.c: Likewise.
68775         * lib/lstat.c: Likewise.
68776         * lib/mkdir-p.c: Likewise.
68777         * lib/rmdir.c: Likewise.
68778         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
68779         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
68780         unless mkdir isn't declared, to speed up 'configure'.
68781         Always create sys/stat.h, since it's unlikely any real sys/stat.h
68782         would define all the S_* symbols.
68783         * modules/canonicalize (Depends-on):
68784         Depend on sys_stat, not stat-macros.
68785         * modules/chown: Likewise.
68786         * modules/euidaccess: Likewise.
68787         * modules/filemode: Likewise.
68788         * modules/file-type: Likewise.
68789         * modules/glob: Likewise.
68790         * modules/isapipe: Likewise.
68791         * modules/lchown: Likewise.
68792         * modules/lstat: Likewise.
68793         * modules/mkancesdirs: Likewise.
68794         * modules/rmdir: Likewise.
68795         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
68796         * modules/modechange: Likewise.
68797         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
68798         (configure.ac): Remove gl_STAT_MACROS.
68799         * modules/sys_stat (Depends-on): Remove stat-macros.
68800
68801 2006-10-27  Bruno Haible  <bruno@clisp.org>
68802
68803         * m4/signed.m4: Remove file.
68804         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
68805         invocation.
68806         * modules/vasnprintf (Files): Remove m4/signed.m4.
68807
68808 2006-10-27  Bruno Haible  <bruno@clisp.org>
68809
68810         Update to GNU gettext 0.16.
68811         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
68812         m4/inttypes-h.m4, m4/signed.m4.
68813         * m4/gettext.m4: Update to GNU gettext 0.16.
68814         * m4/intl.m4: New file, from GNU gettext.
68815         * m4/intldir.m4: New file, from GNU gettext.
68816         * config/srclist.txt: Update
68817
68818 2006-10-27  Eric Blake  <ebb9@byu.net>
68819
68820         * MODULES.html.sh: Document tempname.
68821         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
68822         dependencies.
68823         (Files): Move lib/tempname.c...
68824         * modules/tempname: ...to this new module.
68825         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
68826         (gl_PREREQ_TEMPNAME): Move...
68827         * m4/tempname.m4: ...to this new file.
68828         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
68829         * modules/sys_stat (Depends-on): Add stat-macros.
68830         * lib/stat_.h (includes): Pick up stat macros.
68831         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
68832         if stat macros are broken.
68833         * lib/tempname.c (includes): No need to include "stat-macros.h".
68834         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
68835         (direxists, __path_search) [!_LIBC]: Don't compile these in
68836         gnulib; the tmpdir module covers that.
68837         * lib/tempname.h: New file.
68838
68839 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
68840
68841         * COPYING: Explain how gnulib-tool converts licence headers.
68842         Almost all wording by Eric Blake.
68843
68844 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
68845
68846         * lib/mbchar.h (is_basic_table): Make read-only.
68847         * lib/mbchar.c (is_basic_table): Likewise.
68848         Reported by John Darrington.
68849
68850 2006-10-25  Bruno Haible  <bruno@clisp.org>
68851
68852         * lib/progname.h (set_program_name): Undefine before defining.
68853
68854 2006-10-25  Bruno Haible  <bruno@clisp.org>
68855
68856         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
68857         false for non-gcc C++ compilers.
68858         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
68859
68860 2006-10-24  Bruno Haible  <bruno@clisp.org>
68861
68862         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
68863         iconv implementations like Irix iconv.
68864
68865 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68866
68867         * modules/vararrays: New file.
68868         * m4/vararrays.m4: New file, taken from diffutils.
68869         * MODULES.html.sh: New module vararrays.
68870
68871 2006-10-24  Karl Berry  <karl@gnu.org>
68872
68873         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
68874         Don't call GNU Unix.
68875
68876 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68877
68878         * users.txt: Add Libtool.
68879
68880         Sync from Libtool:
68881
68882         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68883
68884         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
68885         to gnulib's policy of including config.h unconditionally.
68886
68887 2006-10-24  Bruno Haible  <bruno@clisp.org>
68888
68889         * modules/wcwidth (Files): Add m4/wint_t.m4.
68890         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
68891         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
68892
68893 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68894
68895         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
68896         to pacify GCC with some -W flags enabled.  Problem reported by
68897         Bruno Haible.
68898
68899 2006-10-24  Jim Meyering  <jim@meyering.net>
68900
68901         * MODULES.html.sh: Remove uinttostr.  It's not a module.
68902         Reported by Karl Berry.
68903
68904 2006-10-23  Bruno Haible  <bruno@clisp.org>
68905
68906         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
68907
68908 2006-10-24  Bruno Haible  <bruno@clisp.org>
68909
68910         * lib/gl_list.h: Use C comment style, not C++ comment style.
68911
68912 2006-10-23  Eric Blake  <ebb9@byu.net>
68913
68914         * lib/getaddrinfo.c (includes): Add missing include.
68915
68916 2006-10-23  Bruno Haible  <bruno@clisp.org>
68917             Paul Eggert  <eggert@cs.ucla.edu>
68918
68919         Ability to rename obstack_free.
68920         * lib/obstack.h (__obstack_free): New macro. Declare instead of
68921         obstack_free.
68922         (obstack_free): Invoke the __obstack_free macro.
68923         * lib/obstack.c (obstack_free): Use __obstack_free macro.
68924
68925 2006-10-23  Bruno Haible  <bruno@clisp.org>
68926             Paul Eggert  <eggert@cs.ucla.edu>
68927
68928         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
68929         __argc, __argv from the declaration. (They are defined as macros on
68930         mingw.)
68931
68932 2006-10-22  Bruno Haible  <bruno@clisp.org>
68933
68934         * doc/gnulib-intro.texi: New file.
68935         * doc/gnulib.texi: Include it.
68936
68937 2006-10-21  Bruno Haible  <bruno@clisp.org>
68938
68939         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
68940         "Introduction", "Miscellanous Notes", "Particular Modules".
68941
68942 2006-10-21  Bruno Haible  <bruno@clisp.org>
68943
68944         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68945         Change mostlyclean-local rule to avoid sh syntax error from bash
68946         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
68947
68948 2006-10-23  Jim Meyering  <jim@meyering.net>
68949
68950         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
68951         in place of snprintf.
68952
68953         * modules/inttostr (Files): Add lib/uinttostr.c.
68954         * lib/uinttostr.c (inttostr): New file/function.
68955         * lib/inttostr.h (uinttostr): Declare.
68956         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
68957         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
68958         Add uinttostr.
68959         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
68960
68961 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
68962
68963         * lib/canonicalize.c (ELOOP): Define if not already defined.
68964         Problem reported by Bruno Haible in
68965         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
68966
68967 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
68968
68969         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
68970         Problem reported by Perry Smith and Ville Laurikari.
68971
68972         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
68973         uses.
68974
68975 2006-10-19  Bruno Haible  <bruno@clisp.org>
68976
68977         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
68978         for mingw.
68979
68980 2006-10-19  Bruno Haible  <bruno@clisp.org>
68981
68982         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
68983         Needed for mingw.
68984
68985 2006-10-19  Bruno Haible  <bruno@clisp.org>
68986
68987         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
68988
68989 2006-10-19  Bruno Haible  <bruno@clisp.org>
68990
68991         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
68992         it.
68993
68994 2006-10-19  Bruno Haible  <bruno@clisp.org>
68995
68996         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
68997         invocation.
68998
68999 2006-10-19  Bruno Haible  <bruno@clisp.org>
69000
69001         * gnulib-tool (func_create_testdir): Don't include ftruncate and
69002         mountlist by default.
69003
69004 2006-10-16  Bruno Haible  <bruno@clisp.org>
69005
69006         * lib/c-strstr.c: Include c-strstr.h.
69007
69008 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
69009
69010         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
69011         in a slash.
69012
69013 2006-10-18  Bruno Haible  <bruno@clisp.org>
69014
69015         * lib/lock.h [C++]: Wrap definitions in extern "C".
69016
69017 2006-10-18  Bruno Haible  <bruno@clisp.org>
69018
69019         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
69020         gl_LIBOBJS list.
69021
69022 2006-10-18  Bruno Haible  <bruno@clisp.org>
69023
69024         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
69025
69026 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
69027
69028         * lib/xstrtol.h: Include gettext.h.
69029         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
69030         Problem reported by Eric Blake.
69031         * modules/xstrtol (Depends-on): Add gettext-h.
69032
69033 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
69034
69035         * lib/strftime.c (advance): New macro.
69036         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
69037         incomplete type, so you can't add 0 to it.  Problem and patch
69038         reported by Eelco Dolstra for dietlibc.
69039
69040 2006-10-18  Jim Meyering  <jim@meyering.net>
69041
69042         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
69043         type for a local, and rename it: s/up/user_proc/.
69044
69045 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
69046
69047         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
69048         READ_UTMP_USER_PROCESS.
69049         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
69050
69051 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69052
69053         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
69054         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
69055
69056 2006-10-17  Eric Blake  <ebb9@byu.net>
69057
69058         * lib/sigprocmask.c (sigprocmask): Fix typo.
69059
69060         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
69061
69062         * modules/clean-temp (Makefile.am): Don't add to make output...
69063         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
69064         config.h.
69065
69066 2006-10-17  Bruno Haible  <bruno@clisp.org>
69067
69068         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
69069         differently if DEFAULT_TEXT_DOMAIN is set.
69070
69071 2006-10-16  Bruno Haible  <bruno@clisp.org>
69072
69073         * lib/clean-temp.c: Include fwriteerror.h.
69074
69075 2006-10-16  Bruno Haible  <bruno@clisp.org>
69076
69077         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
69078
69079 2006-10-16  Bruno Haible  <bruno@clisp.org>
69080
69081         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
69082         * lib/sigprocmask.h: Include <sys/types.h>.
69083         (sigset_t): Use the system's definition if present.
69084
69085 2006-10-17  Eric Blake  <ebb9@byu.net>
69086
69087         * lib/xvasprintf.c (includes): Assume config.h.
69088         * lib/xasprintf.c (includes): Likewise.
69089
69090 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
69091
69092         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
69093         at least as wide as intmax_t.
69094
69095 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
69096
69097         (Imported from Automake.)
69098         * build-aux/gnupload: Update to version 1.1 of directive file.
69099
69100 2006-10-16  Eric Blake  <ebb9@byu.net>
69101
69102         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
69103         match Automake 1.10a.
69104
69105 2006-10-14  Bruno Haible  <bruno@clisp.org>
69106
69107         * modules/sigprocmask: New file.
69108         * lib/sigprocmask.h: New file.
69109         * lib/sigprocmask.c: New file.
69110         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
69111         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
69112         request sigprocmask.o.
69113         (gl_PREREQ_SIGPROCMASK): New macro.
69114         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
69115         (Depends-on): Add sigprocmask.
69116         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
69117         gt_SIGNALBLOCKING. Test for 'raise' only once.
69118         * lib/fatal-signal.c: Include sigprocmask.h.
69119         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
69120         unblock_fatal_signals): Define always.
69121         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69122         sigprocmask.
69123
69124 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69125
69126         Sync from Automake.
69127         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
69128         which incorrectly sets the mode of an existing destination
69129         directory.  In some cases the unpatched install-sh could do the
69130         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
69131         system.  We hope this is rare in practice, but it's clearly worth
69132         fixing.  Problem reported by Alex Unleashed in
69133         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
69134         Also, don't bother to check for -m bugs unless we're using -m;
69135         suggested by Stepan Kasal.
69136
69137 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69138
69139         Sync from Automake.
69140         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
69141         `-c' flag, so they appear at the same position as in %FASTDEP%
69142         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
69143         which ignores unknown options only after the first non-option.
69144         Bug report against M4 by Nelson H. F. Beebe.
69145
69146 2006-10-13  Jim Meyering  <jim@meyering.net>
69147
69148         Fix a bug in yesterday's change.
69149         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
69150         p->fts_statp->st_dev would be used uninitialized.
69151         Ensures that we always call fts_stat on the very first entry.
69152         Miklos Szeredi reported that find -xdev stopped working.
69153
69154 2006-10-12  Bruno Haible  <bruno@clisp.org>
69155
69156         * gnulib-tool (func_get_automake_snippet): Append an automatically
69157         computed EXTRA_DIST augmentation.
69158         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
69159         * modules/alloca-opt (Makefile.am): Likewise.
69160         * modules/allocsa (Makefile.am): Likewise.
69161         * modules/arcfour (Makefile.am): Likewise.
69162         * modules/arctwo (Makefile.am): Likewise.
69163         * modules/argmatch (Makefile.am): Likewise.
69164         * modules/argz (Makefile.am): Likewise.
69165         * modules/atexit (Makefile.am): Likewise.
69166         * modules/backupfile (Makefile.am): Likewise.
69167         * modules/byteswap (Makefile.am): Likewise.
69168         * modules/c-strtod (Makefile.am): Likewise.
69169         * modules/c-strtold (Makefile.am): Likewise.
69170         * modules/calloc (Makefile.am): Likewise.
69171         * modules/canon-host (Makefile.am): Likewise.
69172         * modules/canonicalize (Makefile.am): Likewise.
69173         * modules/chdir-long (Makefile.am): Likewise.
69174         * modules/chdir-safer (Makefile.am): Likewise.
69175         * modules/check-version (Makefile.am): Likewise.
69176         * modules/chown (Makefile.am): Likewise.
69177         * modules/cloexec (Makefile.am): Likewise.
69178         * modules/close-stream (Makefile.am): Likewise.
69179         * modules/closeout (Makefile.am): Likewise.
69180         * modules/crc (Makefile.am): Likewise.
69181         * modules/csharpexec (Makefile.am): Likewise.
69182         * modules/cycle-check (Makefile.am): Likewise.
69183         * modules/des (Makefile.am): Likewise.
69184         * modules/dev-ino (Makefile.am): Likewise.
69185         * modules/dirfd (Makefile.am): Likewise.
69186         * modules/dirname (Makefile.am): Likewise.
69187         * modules/dup2 (Makefile.am): Likewise.
69188         * modules/eealloc (Makefile.am): Likewise.
69189         * modules/error (Makefile.am): Likewise.
69190         * modules/euidaccess (Makefile.am): Likewise.
69191         * modules/exclude (Makefile.am): Likewise.
69192         * modules/exitfail (Makefile.am): Likewise.
69193         * modules/fcntl-safer (Makefile.am): Likewise.
69194         * modules/fcntl (Makefile.am): Likewise.
69195         * modules/file-type (Makefile.am): Likewise.
69196         * modules/fileblocks (Makefile.am): Likewise.
69197         * modules/filemode (Makefile.am): Likewise.
69198         * modules/filenamecat (Makefile.am): Likewise.
69199         * modules/fnmatch (Makefile.am): Likewise.
69200         * modules/fopen-safer (Makefile.am): Likewise.
69201         * modules/fpending (Makefile.am): Likewise.
69202         * modules/fprintftime (Makefile.am): Likewise.
69203         * modules/free (Makefile.am): Likewise.
69204         * modules/fsusage (Makefile.am): Likewise.
69205         * modules/ftruncate (Makefile.am): Likewise.
69206         * modules/fts (Makefile.am): Likewise.
69207         * modules/gc-arcfour (Makefile.am): Likewise.
69208         * modules/gc-des (Makefile.am): Likewise.
69209         * modules/gc-hmac-md5 (Makefile.am): Likewise.
69210         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
69211         * modules/gc-md4 (Makefile.am): Likewise.
69212         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69213         * modules/gc-sha1 (Makefile.am): Likewise.
69214         * modules/gc (Makefile.am): Likewise.
69215         * modules/getaddrinfo (Makefile.am): Likewise.
69216         * modules/getcwd (Makefile.am): Likewise.
69217         * modules/getdelim (Makefile.am): Likewise.
69218         * modules/getdomainname (Makefile.am): Likewise.
69219         * modules/getgroups (Makefile.am): Likewise.
69220         * modules/gethostname (Makefile.am): Likewise.
69221         * modules/gethrxtime (Makefile.am): Likewise.
69222         * modules/getline (Makefile.am): Likewise.
69223         * modules/getloadavg (Makefile.am): Likewise.
69224         * modules/getlogin_r (Makefile.am): Likewise.
69225         * modules/getndelim2 (Makefile.am): Likewise.
69226         * modules/getopt (Makefile.am): Likewise.
69227         * modules/getpagesize (Makefile.am): Likewise.
69228         * modules/getpass-gnu (Makefile.am): Likewise.
69229         * modules/getpass (Makefile.am): Likewise.
69230         * modules/getsubopt (Makefile.am): Likewise.
69231         * modules/gettime (Makefile.am): Likewise.
69232         * modules/gettimeofday (Makefile.am): Likewise.
69233         * modules/getugroups (Makefile.am): Likewise.
69234         * modules/getusershell (Makefile.am): Likewise.
69235         * modules/glob (Makefile.am): Likewise.
69236         * modules/group-member (Makefile.am): Likewise.
69237         * modules/hard-locale (Makefile.am): Likewise.
69238         * modules/hash (Makefile.am): Likewise.
69239         * modules/hmac-md5 (Makefile.am): Likewise.
69240         * modules/hmac-sha1 (Makefile.am): Likewise.
69241         * modules/human (Makefile.am): Likewise.
69242         * modules/idcache (Makefile.am): Likewise.
69243         * modules/imaxabs (Makefile.am): Likewise.
69244         * modules/imaxdiv (Makefile.am): Likewise.
69245         * modules/inet_ntop (Makefile.am): Likewise.
69246         * modules/inet_pton (Makefile.am): Likewise.
69247         * modules/intprops (Makefile.am): Likewise.
69248         * modules/inttostr (Makefile.am): Likewise.
69249         * modules/inttypes (Makefile.am): Likewise.
69250         * modules/isapipe (Makefile.am): Likewise.
69251         * modules/javaversion (Makefile.am): Likewise.
69252         * modules/lchmod (Makefile.am): Likewise.
69253         * modules/lchown (Makefile.am): Likewise.
69254         * modules/localcharset (Makefile.am): Likewise.
69255         * modules/long-options (Makefile.am): Likewise.
69256         * modules/lstat (Makefile.am): Likewise.
69257         * modules/malloc (Makefile.am): Likewise.
69258         * modules/mathl (Makefile.am): Likewise.
69259         * modules/mbchar (Makefile.am): Likewise.
69260         * modules/md2 (Makefile.am): Likewise.
69261         * modules/md4 (Makefile.am): Likewise.
69262         * modules/md5 (Makefile.am): Likewise.
69263         * modules/memcasecmp (Makefile.am): Likewise.
69264         * modules/memchr (Makefile.am): Likewise.
69265         * modules/memcmp (Makefile.am): Likewise.
69266         * modules/memcoll (Makefile.am): Likewise.
69267         * modules/memcpy (Makefile.am): Likewise.
69268         * modules/memmem (Makefile.am): Likewise.
69269         * modules/memmove (Makefile.am): Likewise.
69270         * modules/mempcpy (Makefile.am): Likewise.
69271         * modules/memrchr (Makefile.am): Likewise.
69272         * modules/memset (Makefile.am): Likewise.
69273         * modules/memxor (Makefile.am): Likewise.
69274         * modules/mkancesdirs (Makefile.am): Likewise.
69275         * modules/mkdir-p (Makefile.am): Likewise.
69276         * modules/mkdir (Makefile.am): Likewise.
69277         * modules/mkdtemp (Makefile.am): Likewise.
69278         * modules/mkstemp (Makefile.am): Likewise.
69279         * modules/mktime (Makefile.am): Likewise.
69280         * modules/modechange (Makefile.am): Likewise.
69281         * modules/mountlist (Makefile.am): Likewise.
69282         * modules/nanosleep (Makefile.am): Likewise.
69283         * modules/obstack (Makefile.am): Likewise.
69284         * modules/openat (Makefile.am): Likewise.
69285         * modules/pagealign_alloc (Makefile.am): Likewise.
69286         * modules/pathmax (Makefile.am): Likewise.
69287         * modules/physmem (Makefile.am): Likewise.
69288         * modules/poll (Makefile.am): Likewise.
69289         * modules/posixtm (Makefile.am): Likewise.
69290         * modules/posixver (Makefile.am): Likewise.
69291         * modules/putenv (Makefile.am): Likewise.
69292         * modules/quote (Makefile.am): Likewise.
69293         * modules/quotearg (Makefile.am): Likewise.
69294         * modules/raise (Makefile.am): Likewise.
69295         * modules/read-file (Makefile.am): Likewise.
69296         * modules/readline (Makefile.am): Likewise.
69297         * modules/readlink (Makefile.am): Likewise.
69298         * modules/readtokens (Makefile.am): Likewise.
69299         * modules/readutmp (Makefile.am): Likewise.
69300         * modules/realloc (Makefile.am): Likewise.
69301         * modules/regex (Makefile.am): Likewise.
69302         * modules/rename-dest-slash (Makefile.am): Likewise.
69303         * modules/rename (Makefile.am): Likewise.
69304         * modules/rijndael (Makefile.am): Likewise.
69305         * modules/rmdir (Makefile.am): Likewise.
69306         * modules/rpmatch (Makefile.am): Likewise.
69307         * modules/safe-read (Makefile.am): Likewise.
69308         * modules/safe-write (Makefile.am): Likewise.
69309         * modules/same-inode (Makefile.am): Likewise.
69310         * modules/same (Makefile.am): Likewise.
69311         * modules/save-cwd (Makefile.am): Likewise.
69312         * modules/savedir (Makefile.am): Likewise.
69313         * modules/setenv (Makefile.am): Likewise.
69314         * modules/settime (Makefile.am): Likewise.
69315         * modules/sha1 (Makefile.am): Likewise.
69316         * modules/sig2str (Makefile.am): Likewise.
69317         * modules/snprintf (Makefile.am): Likewise.
69318         * modules/stat-macros (Makefile.am): Likewise.
69319         * modules/stat-time (Makefile.am): Likewise.
69320         * modules/stdbool (Makefile.am): Likewise.
69321         * modules/stdint (Makefile.am): Likewise.
69322         * modules/stdlib-safer (Makefile.am): Likewise.
69323         * modules/stpcpy (Makefile.am): Likewise.
69324         * modules/stpncpy (Makefile.am): Likewise.
69325         * modules/strcase (Makefile.am): Likewise.
69326         * modules/strcasestr (Makefile.am): Likewise.
69327         * modules/strchrnul (Makefile.am): Likewise.
69328         * modules/strcspn (Makefile.am): Likewise.
69329         * modules/strdup (Makefile.am): Likewise.
69330         * modules/strerror (Makefile.am): Likewise.
69331         * modules/strftime (Makefile.am): Likewise.
69332         * modules/strndup (Makefile.am): Likewise.
69333         * modules/strnlen (Makefile.am): Likewise.
69334         * modules/strpbrk (Makefile.am): Likewise.
69335         * modules/strsep (Makefile.am): Likewise.
69336         * modules/strstr (Makefile.am): Likewise.
69337         * modules/strtod (Makefile.am): Likewise.
69338         * modules/strtoimax (Makefile.am): Likewise.
69339         * modules/strtok_r (Makefile.am): Likewise.
69340         * modules/strtol (Makefile.am): Likewise.
69341         * modules/strtoll (Makefile.am): Likewise.
69342         * modules/strtoul (Makefile.am): Likewise.
69343         * modules/strtoull (Makefile.am): Likewise.
69344         * modules/strtoumax (Makefile.am): Likewise.
69345         * modules/strverscmp (Makefile.am): Likewise.
69346         * modules/sys_socket (Makefile.am): Likewise.
69347         * modules/sys_stat (Makefile.am): Likewise.
69348         * modules/sysexits (Makefile.am): Likewise.
69349         * modules/time_r (Makefile.am): Likewise.
69350         * modules/timegm (Makefile.am): Likewise.
69351         * modules/timespec (Makefile.am): Likewise.
69352         * modules/tmpfile-safer (Makefile.am): Likewise.
69353         * modules/trim (Makefile.am): Likewise.
69354         * modules/unistd-safer (Makefile.am): Likewise.
69355         * modules/unlinkdir (Makefile.am): Likewise.
69356         * modules/unlocked-io (Makefile.am): Likewise.
69357         * modules/userspec (Makefile.am): Likewise.
69358         * modules/utime (Makefile.am): Likewise.
69359         * modules/utimecmp (Makefile.am): Likewise.
69360         * modules/utimens (Makefile.am): Likewise.
69361         * modules/vasnprintf (Makefile.am): Likewise.
69362         * modules/vasprintf (Makefile.am): Likewise.
69363         * modules/vsnprintf (Makefile.am): Likewise.
69364         * modules/xalloc (Makefile.am): Likewise.
69365         * modules/xgetcwd (Makefile.am): Likewise.
69366         * modules/xnanosleep (Makefile.am): Likewise.
69367         * modules/xreadlink (Makefile.am): Likewise.
69368         * modules/xstrtod (Makefile.am): Likewise.
69369         * modules/xstrtol (Makefile.am): Likewise.
69370         * modules/xstrtold (Makefile.am): Likewise.
69371         * modules/yesno (Makefile.am): Likewise.
69372         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
69373
69374 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69375
69376         * modules/error (Makefile.am): Distribute files through
69377         EXTRA_DIST, not lib_SOURCES.
69378
69379 2006-10-12  Eric Blake  <ebb9@byu.net>
69380
69381         * modules/error (Makefile.am): Distribute files in /lib.
69382         * modules/obstack (Makefile.am): Likewise.
69383
69384 2006-10-12  Bruno Haible  <bruno@clisp.org>
69385
69386         * modules/acl (Makefile.am): Distribute all files in lib/ through
69387         EXTRA_DIST.
69388         * modules/arcfour (Makefile.am): Likewise.
69389         * modules/arctwo (Makefile.am): Likewise.
69390         * modules/argmatch (Makefile.am): Likewise.
69391         * modules/argz (Makefile.am): Likewise.
69392         * modules/atexit (Makefile.am): Likewise.
69393         * modules/backupfile (Makefile.am): Likewise.
69394         * modules/c-strtod (Makefile.am): Likewise.
69395         * modules/c-strtold (Makefile.am): Likewise.
69396         * modules/calloc (Makefile.am): Likewise.
69397         * modules/canon-host (Makefile.am): Likewise.
69398         * modules/canonicalize (Makefile.am): Likewise.
69399         * modules/chdir-long (Makefile.am): Likewise.
69400         * modules/chdir-safer (Makefile.am): Likewise.
69401         * modules/check-version (Makefile.am): Likewise.
69402         * modules/chown (Makefile.am): Likewise.
69403         * modules/cloexec (Makefile.am): Likewise.
69404         * modules/close-stream (Makefile.am): Likewise.
69405         * modules/closeout (Makefile.am): Likewise.
69406         * modules/crc (Makefile.am): Likewise.
69407         * modules/cycle-check (Makefile.am): Likewise.
69408         * modules/des (Makefile.am): Likewise.
69409         * modules/dirfd (Makefile.am): Likewise.
69410         * modules/dirname (Makefile.am): Likewise.
69411         * modules/dup2 (Makefile.am): Likewise.
69412         * modules/euidaccess (Makefile.am): Likewise.
69413         * modules/exclude (Makefile.am): Likewise.
69414         * modules/exitfail (Makefile.am): Likewise.
69415         * modules/fcntl-safer (Makefile.am): Likewise.
69416         * modules/file-type (Makefile.am): Likewise.
69417         * modules/fileblocks (Makefile.am): Likewise.
69418         * modules/filemode (Makefile.am): Likewise.
69419         * modules/filenamecat (Makefile.am): Likewise.
69420         * modules/fnmatch (Makefile.am): Likewise.
69421         * modules/fopen-safer (Makefile.am): Likewise.
69422         * modules/fpending (Makefile.am): Likewise.
69423         * modules/fprintftime (Makefile.am): Likewise.
69424         * modules/free (Makefile.am): Likewise.
69425         * modules/fsusage (Makefile.am): Likewise.
69426         * modules/ftruncate (Makefile.am): Likewise.
69427         * modules/fts (Makefile.am): Likewise.
69428         * modules/gc (Makefile.am): Likewise.
69429         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
69430         * modules/getaddrinfo (Makefile.am): Likewise.
69431         * modules/getcwd (Makefile.am): Likewise.
69432         * modules/getdelim (Makefile.am): Likewise.
69433         * modules/getdomainname (Makefile.am): Likewise.
69434         * modules/getgroups (Makefile.am): Likewise.
69435         * modules/gethostname (Makefile.am): Likewise.
69436         * modules/gethrxtime (Makefile.am): Likewise.
69437         * modules/getline (Makefile.am): Likewise.
69438         * modules/getloadavg (Makefile.am): Likewise.
69439         * modules/getlogin_r (Makefile.am): Likewise.
69440         * modules/getopt (Makefile.am): Likewise.
69441         * modules/getpass (Makefile.am): Likewise.
69442         * modules/getpass-gnu (Makefile.am): Likewise.
69443         * modules/getsubopt (Makefile.am): Likewise.
69444         * modules/gettime (Makefile.am): Likewise.
69445         * modules/gettimeofday (Makefile.am): Likewise.
69446         * modules/getugroups (Makefile.am): Likewise.
69447         * modules/getusershell (Makefile.am): Likewise.
69448         * modules/glob (Makefile.am): Likewise.
69449         * modules/group-member (Makefile.am): Likewise.
69450         * modules/hard-locale (Makefile.am): Likewise.
69451         * modules/hash (Makefile.am): Likewise.
69452         * modules/hmac-md5 (Makefile.am): Likewise.
69453         * modules/hmac-sha1 (Makefile.am): Likewise.
69454         * modules/human (Makefile.am): Likewise.
69455         * modules/idcache (Makefile.am): Likewise.
69456         * modules/imaxabs (Makefile.am): Likewise.
69457         * modules/imaxdiv (Makefile.am): Likewise.
69458         * modules/inet_ntop (Makefile.am): Likewise.
69459         * modules/inet_pton (Makefile.am): Likewise.
69460         * modules/inttostr (Makefile.am): Likewise.
69461         * modules/isapipe (Makefile.am): Likewise.
69462         * modules/lchown (Makefile.am): Likewise.
69463         * modules/long-options (Makefile.am): Likewise.
69464         * modules/lstat (Makefile.am): Likewise.
69465         * modules/malloc (Makefile.am): Likewise.
69466         * modules/mathl (Makefile.am): Likewise.
69467         * modules/mbchar (Makefile.am): Likewise.
69468         * modules/md2 (Makefile.am): Likewise.
69469         * modules/md4 (Makefile.am): Likewise.
69470         * modules/md5 (Makefile.am): Likewise.
69471         * modules/memcasecmp (Makefile.am): Likewise.
69472         * modules/memchr (Makefile.am): Likewise.
69473         * modules/memcmp (Makefile.am): Likewise.
69474         * modules/memcoll (Makefile.am): Likewise.
69475         * modules/memcpy (Makefile.am): Likewise.
69476         * modules/memmem (Makefile.am): Likewise.
69477         * modules/memmove (Makefile.am): Likewise.
69478         * modules/mempcpy (Makefile.am): Likewise.
69479         * modules/memrchr (Makefile.am): Likewise.
69480         * modules/memset (Makefile.am): Likewise.
69481         * modules/memxor (Makefile.am): Likewise.
69482         * modules/mkancesdirs (Makefile.am): Likewise.
69483         * modules/mkdir (Makefile.am): Likewise.
69484         * modules/mkdir-p (Makefile.am): Likewise.
69485         * modules/mkdtemp (Makefile.am): Likewise.
69486         * modules/mkstemp (Makefile.am): Likewise.
69487         * modules/mktime (Makefile.am): Likewise.
69488         * modules/modechange (Makefile.am): Likewise.
69489         * modules/mountlist (Makefile.am): Likewise.
69490         * modules/nanosleep (Makefile.am): Likewise.
69491         * modules/openat (Makefile.am): Likewise.
69492         * modules/pagealign_alloc (Makefile.am): Likewise.
69493         * modules/physmem (Makefile.am): Likewise.
69494         * modules/poll (Makefile.am): Likewise.
69495         * modules/posixtm (Makefile.am): Likewise.
69496         * modules/posixver (Makefile.am): Likewise.
69497         * modules/putenv (Makefile.am): Likewise.
69498         * modules/quote (Makefile.am): Likewise.
69499         * modules/quotearg (Makefile.am): Likewise.
69500         * modules/raise (Makefile.am): Likewise.
69501         * modules/read-file (Makefile.am): Likewise.
69502         * modules/readline (Makefile.am): Likewise.
69503         * modules/readlink (Makefile.am): Likewise.
69504         * modules/readtokens (Makefile.am): Likewise.
69505         * modules/readutmp (Makefile.am): Likewise.
69506         * modules/realloc (Makefile.am): Likewise.
69507         * modules/regex (Makefile.am): Likewise.
69508         * modules/rename (Makefile.am): Likewise.
69509         * modules/rename-dest-slash (Makefile.am): Likewise.
69510         * modules/rijndael (Makefile.am): Likewise.
69511         * modules/rmdir (Makefile.am): Likewise.
69512         * modules/rpmatch (Makefile.am): Likewise.
69513         * modules/safe-read (Makefile.am): Likewise.
69514         * modules/safe-write (Makefile.am): Likewise.
69515         * modules/same (Makefile.am): Likewise.
69516         * modules/save-cwd (Makefile.am): Likewise.
69517         * modules/savedir (Makefile.am): Likewise.
69518         * modules/setenv (Makefile.am): Likewise.
69519         * modules/settime (Makefile.am): Likewise.
69520         * modules/sha1 (Makefile.am): Likewise.
69521         * modules/sig2str (Makefile.am): Likewise.
69522         * modules/snprintf (Makefile.am): Likewise.
69523         * modules/stdlib-safer (Makefile.am): Likewise.
69524         * modules/stpcpy (Makefile.am): Likewise.
69525         * modules/stpncpy (Makefile.am): Likewise.
69526         * modules/strcase (Makefile.am): Likewise.
69527         * modules/strcasestr (Makefile.am): Likewise.
69528         * modules/strchrnul (Makefile.am): Likewise.
69529         * modules/strcspn (Makefile.am): Likewise.
69530         * modules/strdup (Makefile.am): Likewise.
69531         * modules/strerror (Makefile.am): Likewise.
69532         * modules/strftime (Makefile.am): Likewise.
69533         * modules/strndup (Makefile.am): Likewise.
69534         * modules/strnlen (Makefile.am): Likewise.
69535         * modules/strpbrk (Makefile.am): Likewise.
69536         * modules/strsep (Makefile.am): Likewise.
69537         * modules/strstr (Makefile.am): Likewise.
69538         * modules/strtod (Makefile.am): Likewise.
69539         * modules/strtoimax (Makefile.am): Likewise.
69540         * modules/strtok_r (Makefile.am): Likewise.
69541         * modules/strtol (Makefile.am): Likewise.
69542         * modules/strtoll (Makefile.am): Likewise.
69543         * modules/strtoul (Makefile.am): Likewise.
69544         * modules/strtoull (Makefile.am): Likewise.
69545         * modules/strtoumax (Makefile.am): Likewise.
69546         * modules/strverscmp (Makefile.am): Likewise.
69547         * modules/time_r (Makefile.am): Likewise.
69548         * modules/timegm (Makefile.am): Likewise.
69549         * modules/tmpfile-safer (Makefile.am): Likewise.
69550         * modules/unistd-safer (Makefile.am): Likewise.
69551         * modules/unlinkdir (Makefile.am): Likewise.
69552         * modules/userspec (Makefile.am): Likewise.
69553         * modules/utime (Makefile.am): Likewise.
69554         * modules/utimecmp (Makefile.am): Likewise.
69555         * modules/utimens (Makefile.am): Likewise.
69556         * modules/vasnprintf (Makefile.am): Likewise.
69557         * modules/vasprintf (Makefile.am): Likewise.
69558         * modules/vsnprintf (Makefile.am): Likewise.
69559         * modules/xalloc (Makefile.am): Likewise.
69560         * modules/xgetcwd (Makefile.am): Likewise.
69561         * modules/xnanosleep (Makefile.am): Likewise.
69562         * modules/xreadlink (Makefile.am): Likewise.
69563         * modules/xstrtod (Makefile.am): Likewise.
69564         * modules/xstrtol (Makefile.am): Likewise.
69565         * modules/xstrtold (Makefile.am): Likewise.
69566         * modules/yesno (Makefile.am): Likewise.
69567
69568 2006-10-12  Jim Meyering  <jim@meyering.net>
69569
69570         * m4/getloadavg.m4: Revert the change below.
69571
69572         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
69573         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
69574         fail with a symlink, which is what coreutils' ./bootstrap now
69575         creates by default.
69576
69577 2006-10-12  Bruno Haible  <bruno@clisp.org>
69578
69579         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
69580         mingw.
69581         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
69582         MSVC and mingw explicitly.
69583
69584 2006-10-11  Simon Josefsson  <jas@extundo.com>
69585             Bruno Haible  <bruno@clisp.org>
69586
69587         Add support for multiple gnulib-tool invocations in the scope of a
69588         single configure.ac file.
69589         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
69590         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
69591         with the same contents as the _LIBADD variable.
69592         (func_emit_initmacro_start, func_emit_initmacro_end,
69593         func_emit_initmacro_done): New functions.
69594         (func_import, func_create_testdir): Invoke them. Allow the identifiers
69595         gl_LIBOBJS and gl_LTLIBOBJS.
69596
69597 2006-10-11  Bruno Haible  <bruno@clisp.org>
69598
69599         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
69600         (func_create_testdir): Don't create po/Makefile.am, don't invoke
69601         autoreconf. Instead, invoke autopoint explicitly but move back the
69602         *.m4 files from gnulib.
69603
69604 2006-10-11  Bruno Haible  <bruno@clisp.org>
69605
69606         * gnulib-tool (func_usage): Make module names after --create-testdir
69607         optional.
69608         (func_create_testdir): If no module was specified, use nearly all
69609         modules.
69610
69611 2006-10-12  Jim Meyering  <jim@meyering.net>
69612
69613         Big performance improvement for fts-based tools that use FTS_NOSTAT.
69614         Avoid spurious inode-mismatch problems on non-POSIX file systems.
69615         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
69616         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
69617         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
69618         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
69619         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
69620         (fts_set_stat_required): New function.
69621         (fts_open): Defer the calls to fts_stat, if possible or requested.
69622         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
69623         into fts_stat itself.
69624         (fts_read): Perform any required (deferred) fts_stat call.
69625         (fts_build): Likewise, for the directory we're about to open and read.
69626         In the readdir loop, carefully decide whether each entry will require
69627         an eventual call to fts_stat, using dirent.d_type info if available.
69628         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
69629         a command line argument into this function.  Update all callers.
69630         Map a return value of FTS_DOT to FTS_D for a command line argument.
69631         * modules/fts (Depends-on): Add d-type.  Alphabetize.
69632         Thanks to Miklos Szeredi for his tenacity and for the initial
69633         bug report about "find" failing on a FUSE-based file system.
69634
69635         * lib/fts.c (fts_open): Use consistent indentation.
69636
69637 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
69638
69639         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
69640         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
69641         reported by Jim Meyering.  All uses of cache variables renamed
69642         to match Autoconf's.
69643         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
69644         the other one.
69645
69646         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
69647         Fix misspelling in diagnostic.
69648
69649 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69650
69651         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
69652         defined.  Problem reported by Matthew Woehlke.
69653
69654         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
69655         Add support for Tandem NonStop R series.
69656         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
69657         Use new macro.
69658
69659         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
69660         (has_trailing_slash): Omit size arg; all callers changed.
69661         Omit 'inline', since it doesn't help performance and we'd
69662         need to configure it.
69663         Don't count //, ///, etc. as having a trailing slash.
69664         As a side effect, this removes a C99ism reported by Matthew Woehlke.
69665         (rpl_rename_dest_slash): On failure, use rename's errno rather
69666         than (in some cases) an incorrect or junk errno.
69667         Simplify code by removing need to compute length; this does
69668         cause it to make two passes instead of one over the file name,
69669         but it's worth it.
69670
69671         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
69672         change, since Autoconf's version may no longer be appropriate now
69673         that we are using CVS Autoconf's version.  Add support for Tandem.
69674
69675 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
69676             Bruno Haible  <bruno@clisp.org>
69677
69678         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
69679         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
69680         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
69681         gl_AC_TYPE_LONG_LONG.
69682
69683         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
69684         instead of HAVE_LONG_LONG.
69685         * lib/printf-args.c (printf_fetchargs): Likewise.
69686         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
69687         * lib/vasnprintf.c (VASNPRINTF): Likewise.
69688         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
69689         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
69690         gl_AC_TYPE_LONG_LONG.
69691
69692 2006-10-11  Bruno Haible  <bruno@clisp.org>
69693
69694         * m4/longlong.m4: Add comments.
69695         * m4/ulonglong.m4: Likewise.
69696
69697 2006-10-10  Bruno Haible  <bruno@clisp.org>
69698
69699         Make it possible to #define stpcpy, strdup to aliases.
69700         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
69701         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
69702
69703 2006-10-10  Bruno Haible  <bruno@clisp.org>
69704
69705         Make it possible to #define gcd to an alias.
69706         * lib/gcd.c: Include config.h.
69707
69708 2006-10-10  Bruno Haible  <bruno@clisp.org>
69709
69710         Make it possible to #define c_isascii to an alias.
69711         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
69712         defined. Undefine the macros before defining them, to avoid gcc
69713         warnings.
69714         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
69715         define NO_C_CTYPE_MACROS early.
69716
69717 2006-10-10  Bruno Haible  <bruno@clisp.org>
69718
69719         Make it possible to #define set_program_name to an alias.
69720         * lib/progname.c: Don't undefine set_program_name; instead, undefine
69721         ENABLE_RELOCATABLE early.
69722
69723 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69724
69725         Port to Tandem NSK OSS, which has 64-bit signed int but at most
69726         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
69727         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
69728         More generally, don't assume that 64-bit signed int is available
69729         if unsigned int is, and vice versa.
69730         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
69731         unsigned symbols, not on their signed counterparts.
69732         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
69733         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
69734         (UINT64_C, UINTMAX_C):
69735         Likewise.
69736         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
69737         unsigned counterparts.
69738         (Have_long_long, Unsigned): New macros.
69739         (Int): Renamed from INT.
69740         (strtoimax): Use the new macros.
69741         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
69742         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
69743         * modules/inttypes (inttypes.h): Substitute
69744         HAVE_UNSIGNED_LONG_LONG_INT.
69745         * modules/stdint (stdint.h): Likewise.
69746         (Files): Add m4/ulonglong.m4.
69747
69748 2006-10-10  Bruno Haible  <bruno@clisp.org>
69749
69750         Fix a gcc -Wshadow warning.
69751         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
69752         to 'bucket'.
69753         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
69754         gl_linked_indexof_from_to): Likewise.
69755         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
69756         Likewise.
69757         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
69758         Likewise.
69759         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
69760         Reported by Eric Blake.
69761
69762 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
69763
69764         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
69765         for NetBSD.  Problem reported by Bruno Haible.
69766
69767 2006-10-09  Jim Meyering  <jim@meyering.net>
69768
69769         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
69770         Patch from Bruno Haible.
69771
69772 2006-10-09  Jim Meyering  <jim@meyering.net>
69773
69774         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
69775         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
69776         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
69777
69778 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69779
69780         Don't include <config.h> twice; this doesn't work in some cases,
69781         e.g., when config.h has "#define intmax_t long long int" and
69782         we include <config.h>, <inttypes.h>, <config.h> in that order.
69783         Problem reported by Matthew Woehlke in:
69784         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
69785         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
69786         * lib/fts-cycle.c: Don't include config.h.
69787         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
69788         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
69789         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
69790         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
69791         inttypes.h.
69792         * lib/xstrtoumax.c: Likewise.
69793         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
69794         __strtol and the like, so that this module is more like its siblings.
69795         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
69796         Remove; no longer needed now that we assume gnulib inttypes.h.
69797
69798 2006-10-08  Bruno Haible  <bruno@clisp.org>
69799
69800         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
69801         option.
69802
69803 2006-10-07  Jim Meyering  <jim@meyering.net>
69804
69805         * modules/inttypes (inttypes.h): Revert what seems to have been
69806         an inadvertent part of today's change: use "|", not "/" in the
69807         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
69808
69809 2006-10-07  Bruno Haible  <bruno@clisp.org>
69810
69811         * modules/sublist: New file.
69812
69813 2006-10-07  Bruno Haible  <bruno@clisp.org>
69814
69815         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
69816         * modules/argz (argz.h): Likewise.
69817         * modules/arpa_inet (arpa/inet.h): Likewise.
69818         * modules/byteswap (byteswap.h): Likewise.
69819         * modules/configmake (configmake.h): Likewise.
69820         * modules/fcntl (fcntl.h): Likewise.
69821         * modules/fnmatch (fnmatch.h): Likewise.
69822         * modules/getopt (getopt.h): Likewise.
69823         * modules/glob (glob.h): Likewise.
69824         * modules/inttypes (inttypes.h): Likewise.
69825         * modules/netinet_in (netinet/in.h): Likewise.
69826         * modules/poll (poll.h): Likewise.
69827         * modules/stdbool (stdbool.h): Likewise.
69828         * modules/stdint (stdint.h): Likewise.
69829         * modules/sys_select (sys/select.h): Likewise.
69830         * modules/sys_socket (sys/socket.h): Likewise.
69831         * modules/sys_stat (sys/stat.h): Likewise.
69832         * modules/sysexits (sysexits.h): Likewise.
69833         * modules/unistd (unistd.h): Likewise.
69834         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69835         Add a "DO NOT EDIT" comment to the generated file.
69836         (func_import): Likewise for gnulib-comp.m4.
69837
69838 2006-10-07  Bruno Haible  <bruno@clisp.org>
69839
69840         * lib/gl_sublist.h: New file.
69841         * lib/gl_sublist.c: New file.
69842
69843 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69844
69845         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
69846         name (relative to the original working directory) and the file
69847         name component (relative to the temporary working directory).  All
69848         callers changed.
69849         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
69850         * lib/mkdir-p.c (make_dir_parents): Likewise.
69851         * lib/mkdir-p.h (make_dir_parents): Likewise.
69852
69853 2006-10-06  Eric Blake  <ebb9@byu.net>
69854
69855         Define several macros for use by the clean-temp module.
69856         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
69857         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
69858         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
69859
69860         * lib/clean-temp.h (close_stream_temp): New declaration.
69861         * lib/clean-temp.c (includes): Pull in headers according to what
69862         other modules are in use.
69863         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
69864
69865 2006-10-06  Bruno Haible  <bruno@clisp.org>
69866
69867         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
69868         instead of fopen, fwriteerror.
69869
69870 2006-10-06  Bruno Haible  <bruno@clisp.org>
69871
69872         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
69873         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
69874         int.
69875         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
69876         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
69877         Return an error indicator.
69878         Suggested by Eric Blake.
69879
69880 2006-10-06  Bruno Haible  <bruno@clisp.org>
69881
69882         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
69883         Reported by Eric Blake.
69884
69885 2006-10-06  Bruno Haible  <bruno@clisp.org>
69886
69887         * modules/closeout (Description): Mention stderr too.
69888
69889 2006-10-06  Bruno Haible  <bruno@clisp.org>
69890         and Paul Eggert  <eggert@cs.ucla.edu>
69891
69892         * lib/closeout.c (close_stdout): Also close stderr.
69893         * lib/closeout.h: Update comment.
69894
69895 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
69896
69897         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
69898         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
69899         * lib/dirchownmod.c: Include lchown.h.
69900         * lib/lchown.c: Don't include files that lchown.h now includes.
69901         Don't declare chown, since lchown.h now does that.
69902         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
69903         (lchown): Define to rpl_chown if lchown is declared but
69904         does not exist.  Declare using a prototype if lchown is not
69905         declared.  Add a copyright notice.
69906         * lib/mkstemp.h: Include <unistd.h>.
69907         * lib/openat.c: Include lchown.h.
69908
69909         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
69910         we now test for that separately.
69911         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
69912         rather than O_NOFOLLOW, when testing whether it's possible to
69913         avoid a race condition reliably.
69914         * lib/savewd.c (savewd_chdir): Likewise.
69915
69916         Remove macros that are no longer needed now that stdint.h is
69917         reliable.
69918         * lib/fsusage.c (UINTMAX_MAX): Remove.
69919         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
69920         * lib/utimecmp.c (SIZE_MAX): Remove.
69921
69922         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
69923
69924         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
69925         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
69926         O_NOATIME works.
69927
69928 2006-10-05  Bruno Haible  <bruno@clisp.org>
69929
69930         * lib/gl_list.h (gl_sortedlist_search_from_to,
69931         gl_sortedlist_indexof_from_to): New declarations.
69932         (gl_list_implementation): New fields sortedlist_search_from_to,
69933         sortedlist_indexof_from_to.
69934         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
69935         inline functions.
69936         * lib/gl_list.c (gl_sortedlist_search_from_to,
69937         gl_sortedlist_indexof_from_to): New functions.
69938         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
69939         function.
69940         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
69941         (gl_array_sortedlist_search_from_to): New function.
69942         (gl_array_list_implementation): Update.
69943         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
69944         function.
69945         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
69946         (gl_carray_sortedlist_search_from_to): New function.
69947         (gl_carray_list_implementation): Update.
69948         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
69949         gl_linked_sortedlist_indexof_from_to): New functions.
69950         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
69951         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
69952         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
69953         gl_tree_sortedlist_indexof_from_to): New functions.
69954         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
69955         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
69956         Update.
69957         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
69958         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
69959         Update.
69960
69961 2006-10-05  Bruno Haible  <bruno@clisp.org>
69962
69963         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
69964         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
69965         (struct gl_list_implementation): Add fields search_from_to,
69966         indexof_from_to. Remove fields search, indexof.
69967         (gl_list_search): Use the search_from_to method.
69968         (gl_list_search_from, gl_list_search_from_to): New functions.
69969         (gl_list_indexof): Use the indexof_from_to method.
69970         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
69971         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
69972         (gl_list_search_from, gl_list_search_from_to): New functions.
69973         (gl_list_indexof): Use the indexof_from_to method.
69974         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
69975         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
69976         gl_array_indexof. Add start_index, end_index arguments.
69977         (gl_array_search_from_to): Renamed from gl_array_search. Add
69978         start_index, end_index arguments.
69979         (gl_array_remove, gl_array_list_implementation): Update.
69980         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
69981         gl_carray_indexof. Add start_index, end_index arguments.
69982         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
69983         start_index, end_index arguments.
69984         (gl_carray_remove, gl_carray_list_implementation): Update.
69985         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
69986         gl_linked_search. Add start_index, end_index arguments.
69987         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
69988         start_index, end_index arguments.
69989         (gl_linked_remove): Update.
69990         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
69991         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
69992         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
69993         field to 'size_t'.
69994         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
69995         gl_tree_search. Add start_index, end_index arguments.
69996         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
69997         start_index, end_index arguments.
69998         (gl_tree_remove): Update.
69999         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
70000         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
70001         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
70002         function.
70003         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
70004         gl_tree_search. Add start_index, end_index arguments.
70005         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
70006         start_index, end_index arguments.
70007         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
70008         Update.
70009         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
70010
70011 2006-10-05  Bruno Haible  <bruno@clisp.org>
70012
70013         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
70014
70015         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
70016         fwriteerror_temp): New declarations.
70017         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
70018         (descriptors): New variable.
70019         (cleanup): First, close the descriptors.
70020         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
70021         fclose_temp, fwriteerror_temp): New functions.
70022
70023 2006-10-04  Jim Meyering  <jim@meyering.net>
70024
70025         * lib/fts.c (fts_open): Tiny comment change.
70026
70027 2006-10-04  Bruno Haible  <bruno@clisp.org>
70028
70029         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
70030         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
70031         gl_LOCK_BODY.
70032         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
70033         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
70034         gl_LOCK_EARLY_BODY.
70035         (gl_LOCK): Require gl_LOCK_BODY.
70036
70037 2006-10-04  Bruno Haible  <bruno@clisp.org>
70038
70039         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
70040         (gl_oset_search_atleast): New declaration.
70041         (struct gl_oset_implementation): Add field 'search_atleast'.
70042         (gl_oset_search_atleast): New inline function.
70043         * lib/gl_oset.c (gl_oset_search_atleast): New function.
70044         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
70045         (gl_array_oset_implementation): Update.
70046         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
70047         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
70048         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
70049
70050 2006-10-04  Bruno Haible  <bruno@clisp.org>
70051
70052         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
70053
70054 2006-10-03  Bruno Haible  <bruno@clisp.org>
70055
70056         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
70057         from gl_avltreehash_list_implementation.
70058
70059 2006-10-03  Bruno Haible  <bruno@clisp.org>
70060
70061         * lib/gl_oset.c (gl_oset_add): Fix return type.
70062
70063 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
70064
70065         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
70066
70067 2006-10-02  Eric Blake  <ebb9@byu.net>
70068
70069         * modules/strnlen (Depends-on): Add extensions.
70070
70071 2006-10-02  Eric Blake  <ebb9@byu.net>
70072
70073         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
70074         definition in 2.60+.
70075
70076 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
70077
70078         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
70079         checks.
70080
70081 2006-10-02  Bruno Haible  <bruno@clisp.org>
70082
70083         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
70084         to the AUTOMAKE_OPTIONS.
70085         Reported by Jim Meyering.
70086
70087 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
70088
70089         Work around bug in Solaris 10 /proc file system:
70090         /proc/self/fd/NNN/.. isn't the parent directory of
70091         the directory whose file descriptor is NNN.  This needs to
70092         be worked around at run time, not compile time, since a
70093         program might be built on Solaris 8, where things work, and
70094         run on Solaris 10.
70095         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
70096         to use the following interface instead:
70097         (OPENAT_BUFFER_SIZE): New macro.
70098         (openat_proc_name): New function.
70099         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
70100         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
70101         Likewise.
70102         * lib/openat-proc.c: New file.
70103         * modules/openat (Files): Add lib/openat-proc.c.
70104         (Depends-on): Add same-inode, stdbool.
70105         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
70106
70107 2006-09-29  Bruno Haible  <bruno@clisp.org>
70108
70109         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
70110         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
70111         argument. Set stdout_closed before testing for ferror, not after.
70112         (fwriteerror, fwriteerror_no_ebadf): New functions.
70113
70114 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70115
70116         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
70117
70118 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
70119
70120         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
70121         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
70122
70123 2006-09-28  Jim Meyering  <jim@meyering.net>
70124
70125         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
70126         Include <unistd.h>.
70127
70128 2006-09-28  Bruno Haible  <bruno@clisp.org>
70129
70130         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
70131         * modules/linkedhash-list (Depends-on): Likewise.
70132         * modules/rbtreehash-list (Depends-on): Likewise.
70133
70134 2006-09-28  Bruno Haible  <bruno@clisp.org>
70135
70136         * lib/strndup.h: Simplify the redefinition of strndup.
70137         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
70138         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
70139
70140 2006-09-28  Bruno Haible  <bruno@clisp.org>
70141
70142         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
70143         * lib/gl_linkedhash_list.c: Likewise.
70144         * lib/gl_rbtreehash_list.c: Likewise.
70145
70146 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
70147
70148         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
70149         getaddrinfo.
70150
70151         * lib/__fpending.h: Don't include <stdio_ext.h> unless
70152         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
70153         it causes <stdio_ext.h> to cause a compile-time error.
70154         Problem reported by Nelson H. F. Beebe.
70155         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
70156         of HAVE_DECL___PENDING.
70157
70158         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
70159         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
70160         declaration.
70161
70162 2006-09-27  Jim Meyering  <jim@meyering.net>
70163
70164         This file could end up with a definition for a function
70165         named __strndup, rather than rpl_strndup on a system with
70166         incomplete weak_alias support.
70167         * lib/strndup.c (strndup): Rename from __strndup.
70168         Remove #defines that used to map __strndup to strndup.
70169         Don't use K&R prototypes.
70170         Remove LIBC-related code, since this file is not sync'd with glibc.
70171         * lib/strndup.h: Revamp, accordingly.
70172         * m4/strndup.m4: Modernize.
70173
70174 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
70175
70176         * modules/savewd (Depends-on): Add 'raise'.
70177         * lib/savewd.c: Include <signal.h>, for 'raise'.
70178
70179 2006-09-26  Jim Meyering  <jim@meyering.net>
70180
70181         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
70182         when we detect Darwin 8.7.0's acl_get_file bug.
70183         Rearrange to perform the new (below) run-test while $LIBS
70184         contains any acl-related library.  Set USE_ACL at the end.
70185         (gl_ACL_GET_FILE): New function.
70186
70187 2006-09-26  Eric Blake  <ebb9@byu.net>
70188
70189         * lib/verror.c: Include <config.h> unconditionally.
70190
70191 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
70192
70193         * modules/clock-time (Maintainer): Add self.
70194         * modules/getlogin_r (Depends-on): Add extensions.
70195
70196 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70197
70198         * modules/clock-time: New module.
70199         * modules/nanosleep (Depends-on): Add clock-time.
70200         * modules/gethrxtime (Depends-on): Likewise.
70201         * modules/gettime (Depends-on): Likewise.
70202         * modules/settime (Depends-on): Likewise.
70203
70204         * modules/fts-lgpl: Depend on openat.
70205         * modules/mkancesdirs: Depend on savewd.
70206         * modules/mkdir-p: Likewise.
70207
70208 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70209
70210         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
70211
70212         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
70213         `gl_have_arbitrary_file_name_length_limit' to
70214         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
70215         actually works between configure runs.
70216
70217 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70218             Bruno Haible  <bruno@clisp.org>
70219
70220         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
70221
70222 2006-09-25  Jim Meyering  <jim@meyering.net>
70223
70224         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
70225         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
70226
70227 2006-09-25  Eric Blake  <ebb9@byu.net>
70228
70229         * gnulib-tool (func_import, func_create_testdir): Fix typos in
70230         exec's in 2006-09-18 patch when shuffling fds.
70231
70232 2006-09-25  Bruno Haible  <bruno@clisp.org>
70233
70234         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
70235         Reported by Jim Meyering.
70236
70237 2006-09-24  Jim Meyering  <jim@meyering.net>
70238
70239         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
70240         compare a pointer against a literal "0".  That caused failures with
70241         at least HP-UX's hpcc.
70242
70243 2006-09-22  Simon Josefsson  <jas@extundo.com>
70244
70245         * modules/gc-sha1:
70246         * modules/gc-md4:
70247         * modules/gc-hmac-sha1:
70248         * modules/gc-hmac-md5:
70249         * modules/gc-des:
70250         * modules/gc-arcfour: Distribute more files.
70251
70252 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70253
70254         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
70255         (gl_linked_iterator_from_to): Initialize struct completely.
70256         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
70257         (gl_tree_iterator_from_to): Likewise
70258         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
70259         * lib/gl_array_list.c [lint] (gl_array_iterator)
70260         (gl_array_iterator_from_to): Likewise.
70261         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
70262         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
70263         (gl_carray_iterator_from_to): Likewise.
70264
70265         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
70266         * lib/md4.c (md4_process_block): Remove unused variable.
70267         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
70268         parentheses for clarity.
70269
70270 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70271
70272         * modules/bison-i18n (Depends-on): Add gettext.
70273
70274 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70275
70276         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
70277         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
70278         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
70279         also add missing comma that caused broken test.
70280         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
70281         stdlib.h, for `abort'.
70282         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
70283         variables.
70284         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
70285         include unistd.h if present, for `rmdir'.
70286         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
70287         variables.
70288         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
70289         in the process include standard headers for prototypes.
70290         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
70291         gets declared on GNU/Linux.
70292         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
70293         unistd.h, for `rmdir'.
70294         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
70295
70296         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
70297         always true.
70298         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
70299
70300         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
70301
70302 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70303
70304         * gnulib-tool (func_version): Create output all at once.  This
70305         may help avoid triggering unnecessary SIGPIPEs, and at any
70306         rate it doesn't hurt.
70307
70308 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70309             Bruno Haible  <bruno@clisp.org>
70310
70311         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
70312         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70313         * m4/signed.m4 (bh_C_SIGNED): Likewise.
70314
70315         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
70316         (gl_FUNC_VASPRINTF): Invoke it.
70317
70318 2006-09-22  Bruno Haible  <bruno@clisp.org>
70319
70320         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
70321         getloadavg.c as first argument.
70322
70323 2006-09-22  Bruno Haible  <bruno@clisp.org>
70324
70325         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
70326         at the beginning of the gl_INIT macro.
70327         * modules/getloadavg (configure.ac): Pass $gl_source_base to
70328         gl_GETLOADAVG.
70329
70330 2006-09-22  Bruno Haible  <bruno@clisp.org>
70331
70332         * gnulib-tool (func_create_megatestdir): Don't include the config-h
70333         module.
70334         Suggested by Ralf Wildenhues.
70335
70336 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
70337
70338         Import this patch from libc:
70339
70340         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
70341
70342         * lib/regex_internal.c (re_string_reconstruct): Handle
70343         offset < pstr->valid_raw_len && pstr->offsets_needed case.
70344         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
70345         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
70346         re_string_context_at.
70347
70348         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
70349         now requires it.
70350         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
70351         gl_REGEX now does it for us.
70352         (gl_REGEX): Add test taken from
70353         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
70354
70355         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
70356         Check that large offsets work.  Modernize Autoconf usages.
70357         Prefer "yes" to mean a good thing rather than a bad.
70358         Don't put "#define mkstemp" in config.h, as this might interfere
70359         with standard system headers that "#define mkstemp mkstemp64".
70360
70361         * modules/mkstemp (Depends-on): Add extensions, so that
70362         mkstemp is visible on some platforms.
70363         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
70364         (Include): Change to "mkstemp.h" from <stdlib.h>.
70365         (Files): Add mkstemp.h.
70366
70367         * lib/mkstemp.h: New file, since some standard headers
70368         #define mkstemp.
70369         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
70370         Include "mkstemp.h".
70371         Make the _LIBC code resemble glibc original more,
70372         e.g., use K&R style.
70373         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
70374         (mkstemp): Remove, since mkstemp.h does this for us.
70375         * lib/stdlib--.h: Include mkstemp.h.
70376
70377         Import this patch from libc:
70378
70379         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70380
70381         * lib/tempname.c (__gen_tempname): Change attempts_min
70382         into a macro.  Use preprocessor to decide how to initialize
70383         attempts [Coverity CID 67].
70384
70385 2006-09-20  Bruno Haible  <bruno@clisp.org>
70386
70387         * lib/mkdtemp.c: Import from libc.
70388         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
70389                 * sysdeps/posix/tempname.c (__gen_tempname): Change
70390                 attempts_min into a macro.  Use preprocessor to decide how to
70391                 initialize attempts [Coverity CID 67].
70392         2001-11-27  Paul Eggert  <eggert@twinsun.com>
70393                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
70394                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
70395
70396 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70397
70398         * gnulib-tool (func_exit): New function, to allow to pass the
70399         exit status portably through the trap.  Use everywhere.
70400         (--help, --version): Signal a write error.
70401         (trap): catch SIGPIPE, for write errors.
70402         Exit at the end of the trap, with the correct exit status.
70403
70404 2006-09-19  Karl Berry  <karl@gnu.org>
70405
70406         * doc/gnulib.texi: note about the license texinfo files.
70407
70408 2006-09-19  Eric Blake  <ebb9@byu.net>
70409
70410         * gnulib-tool: Avoid space-tab.
70411
70412 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70413
70414         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
70415         that prevented coreutils 6.1 from building.  Problem reported
70416         by Petter Reinholdtsen.
70417
70418 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
70419
70420         * gnulib-tool (avoidlist): Fix typo that broke options like
70421         --avoid=lock that are used by coreutils bootstrap.
70422
70423 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
70424
70425         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
70426         more systematically.
70427
70428 2006-09-18  Jim Meyering  <jim@meyering.net>
70429
70430         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
70431
70432 2006-09-18  Bruno Haible  <bruno@clisp.org>
70433
70434         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
70435
70436 2006-09-18  Bruno Haible  <bruno@clisp.org>
70437
70438         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
70439         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
70440         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
70441         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
70442         * m4/gettext.m4: Require autoconf >= 2.52.
70443         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
70444         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
70445         of gl_cv_header_inttypes_h.
70446
70447 2006-09-18  Bruno Haible  <bruno@clisp.org>
70448
70449         * lib/javaversion.c: Include configmake.h.
70450
70451 2006-09-18  Bruno Haible  <bruno@clisp.org>
70452
70453         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
70454         avoid that the while loops be executed in a subshell.
70455
70456 2006-09-18  Bruno Haible  <bruno@clisp.org>
70457
70458         * MODULES.html.sh (func_module): Break long lines.
70459         Suggested by Bruce Korb <bkorb@gnu.org>.
70460
70461 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70462
70463         Speed up by a factor of 1.12.
70464         * gnulib-tool (nl): New variable.
70465         (func_import): Rewrite include directive extraction to only read each
70466         directive once.
70467
70468 2006-09-17  Bruno Haible  <bruno@clisp.org>
70469
70470         * modules/javaversion (Makefile.am): Remove DEFS setting.
70471         (Depends-on): Add configmake, for PKGDATADIR definition.
70472
70473 2006-09-17  Bruno Haible  <bruno@clisp.org>
70474
70475         * gnulib-tool (func_create_testdir): Rewrite all files at once.
70476
70477 2006-09-17  Bruno Haible  <bruno@clisp.org>
70478
70479         * gnulib-tool (func_append): New function, stolen from libtool.m4.
70480         (func_modules_transitive_closure, func_modules_add_dummy,
70481         func_modules_to_filelist, func_import, func_create_testdir,
70482         func_create_megatestdir, ...): Use it wherever possible.
70483         Suggested by Ralf Wildenhues.
70484
70485 2006-09-16  Karl Berry  <karl@gnu.org>
70486
70487         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
70488         to avoid sectioning errors.
70489         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
70490         [ifinfo]: blank line after @center-ed titles.
70491         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
70492         Spell FSF address consistently with others.
70493         (These changes approved by rms.)
70494
70495 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70496
70497         Speed up by a factor of 1.61.
70498         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
70499         already checked module names again.
70500
70501 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70502
70503         Speed up by a factor of 1.13.
70504         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
70505         for new_files, and the input to func_add_or_update.
70506
70507 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70508
70509         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
70510         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
70511
70512 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70513
70514         * modules/mkancesdirs (Depends-on): Add fcntl.
70515         * modules/savewd: New file.
70516         * MODULES.html.sh (File system functions): Add savewd.
70517
70518         * modules/configmake (Makefile.am): Add support for the
70519         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
70520
70521 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70522
70523         * m4/savewd.m4: New file.
70524
70525 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70526
70527         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
70528         (dirchownmod): New arg FD.  All callers changed.
70529         Use FD rather than opening the directory ourself, as opening is
70530         now the caller's responsibility.
70531         * lib/dirchownmod.h: Likewise.
70532         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
70533         hosts that require <sys/types.h> before <sys/stat.h>.  Include
70534         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
70535         (test_dir): Remove.
70536         (mkancesdirs): Return length of prefix of FILE that has already
70537         been made, or -2 if there is a child doing the work.  Redo
70538         algorithm so that it is O(N) rather than O(N**2).  Optimize away
70539         ".", and treat ".." specially since it might stray back into
70540         already-created areas.  Use a subprocess if necessary.  New arg
70541         WD; all users changed.  MAKE_DIR function should now return 1
70542         if it creates a directory that is not readable.  Return -2 if
70543         a child process is spun off.
70544         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
70545         Adjust signature to match code.
70546         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
70547         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
70548         all users changed.
70549         * lib/savewd.c, lib/savewd.h: New files.
70550
70551 2006-09-15  Jim Meyering  <jim@meyering.net>
70552
70553         * modules/rename-dest-slash: New module.
70554         * MODULES.html.sh (posix_compat): Add it here.
70555
70556         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
70557
70558 2006-09-15  Jim Meyering  <jim@meyering.net>
70559
70560         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
70561         file.
70562
70563         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
70564
70565 2006-09-15  Jim Meyering  <jim@meyering.net>
70566
70567         * lib/rename-dest-slash.c (has_trailing_slash): Use
70568         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
70569         (rpl_rename_dest_slash): Perform the cheaper trailing slash
70570         test before testing whether SRC is a directory.
70571         Suggestions from Bruno Haible.
70572
70573         Avoid a warning about an unused variable.
70574         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
70575         into the #ifdef block where it's used.
70576
70577         * lib/rename-dest-slash.c: New file.
70578
70579 2006-09-14  Bruno Haible  <bruno@clisp.org>
70580
70581         * lib/allocsa.c: Include <config.h> unconditionally.
70582         * lib/asnprintf.c: Likewise.
70583         * lib/asprintf.c: Likewise.
70584         * lib/c-strcasecmp.c: Likewise.
70585         * lib/c-strcasestr.c: Likewise.
70586         * lib/c-strncasecmp.c: Likewise.
70587         * lib/c-strstr.c: Likewise.
70588         * lib/classpath.c: Likewise.
70589         * lib/clean-temp.c: Likewise.
70590         * lib/concatpath.c: Likewise.
70591         * lib/copy-file.c: Likewise.
70592         * lib/csharpcomp.c: Likewise.
70593         * lib/csharpexec.c: Likewise.
70594         * lib/execute.c: Likewise.
70595         * lib/fatal-signal.c: Likewise.
70596         * lib/findprog.c: Likewise.
70597         * lib/fwriteerror.c: Likewise.
70598         * lib/gl_array_list.c: Likewise.
70599         * lib/gl_array_oset.c: Likewise.
70600         * lib/gl_avltree_list.c: Likewise.
70601         * lib/gl_avltree_oset.c: Likewise.
70602         * lib/gl_avltreehash_list.c: Likewise.
70603         * lib/gl_carray_list.c: Likewise.
70604         * lib/gl_linked_list.c: Likewise.
70605         * lib/gl_linkedhash_list.c: Likewise.
70606         * lib/gl_list.c: Likewise.
70607         * lib/gl_oset.c: Likewise.
70608         * lib/gl_rbtree_list.c: Likewise.
70609         * lib/gl_rbtree_oset.c: Likewise.
70610         * lib/gl_rbtreehash_list.c: Likewise.
70611         * lib/imaxabs.c: Likewise.
70612         * lib/imaxdiv.c: Likewise.
70613         * lib/javacomp.c: Likewise.
70614         * lib/javaexec.c: Likewise.
70615         * lib/javaversion.c: Likewise.
70616         * lib/linebreak.c: Likewise.
70617         * lib/localcharset.c: Likewise.
70618         * lib/lock.c: Likewise.
70619         * lib/mbchar.c: Likewise.
70620         * lib/mbswidth.c: Likewise.
70621         * lib/mkdtemp.c: Likewise.
70622         * lib/pipe.c: Likewise.
70623         * lib/printf-args.c: Likewise.
70624         * lib/printf-parse.c: Likewise.
70625         * lib/progname.c: Likewise.
70626         * lib/progreloc.c: Likewise.
70627         * lib/readlink.c: Likewise.
70628         * lib/sh-quote.c: Likewise.
70629         * lib/stpcpy.c: Likewise.
70630         * lib/stpncpy.c: Likewise.
70631         * lib/strcasecmp.c: Likewise.
70632         * lib/strcasestr.c: Likewise.
70633         * lib/strcspn.c: Likewise.
70634         * lib/striconv.c: Likewise.
70635         * lib/strncasecmp.c: Likewise.
70636         * lib/strnlen1.c: Likewise.
70637         * lib/strstr.c: Likewise.
70638         * lib/strtok_r.c: Likewise.
70639         * lib/tls.c: Likewise.
70640         * lib/tmpdir.c: Likewise.
70641         * lib/unicodeio.c: Likewise.
70642         * lib/unsetenv.c: Likewise.
70643         * lib/vasnprintf.c: Likewise.
70644         * lib/vasprintf.c: Likewise.
70645         * lib/wait-process.c: Likewise.
70646         * lib/xallocsa.c: Likewise.
70647         * lib/xsetenv.c: Likewise.
70648         * lib/xstriconv.c: Likewise.
70649
70650 2006-09-13  Simon Josefsson  <jas@extundo.com>
70651
70652         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
70653         that internally, suggested by Ralf Wildenhues
70654         <Ralf.Wildenhues@gmx.de>.
70655
70656 2006-09-13  Simon Josefsson  <jas@extundo.com>
70657
70658         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
70659         @LIBOBJS@.
70660         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70661
70662 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
70663
70664         * lib/_fpending.c: Include <config.h> unconditionally, since we no
70665         longer worry about uses that don't define HAVE_CONFIG_H.
70666         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
70667         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
70668         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
70669         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
70670         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
70671         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
70672         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
70673         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
70674         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
70675         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
70676         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
70677         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
70678         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
70679         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
70680         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
70681         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
70682         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
70683         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
70684         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
70685         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
70686         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
70687         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
70688         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
70689         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
70690         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
70691         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
70692         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
70693         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
70694         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
70695         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
70696         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
70697         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
70698         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
70699         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
70700         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
70701         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
70702         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
70703         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
70704         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
70705         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
70706         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
70707         Likewise.
70708
70709 2006-09-13  Eric Blake  <ebb9@byu.net>
70710
70711         * lib/getopt.c: Fix typo in last commit.
70712
70713 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
70714
70715         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
70716         dgettext.
70717
70718 2006-09-12  Jim Meyering  <jim@meyering.net>
70719
70720         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
70721         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
70722         Reported by Nelson H. F. Beebe.
70723
70724 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
70725
70726         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
70727         program_invocation_name and program_invocation_short_name are
70728         initialized.
70729         * lib/argp-namefrob.h: Move declarations of program_invocation_name
70730         and program_invocation_short_name to argp.h, so they are visible
70731         to user programs.
70732         * lib/argp.h: Likewise
70733
70734 2006-09-10  Bruno Haible  <bruno@clisp.org>
70735
70736         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
70737         m4/inttypes_h.m4, m4/uintmax_t.m4.
70738
70739 2006-09-10  Bruno Haible  <bruno@clisp.org>
70740
70741         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
70742         gl_AC_TYPE_UINTMAX_T.
70743
70744 2006-09-10  Bruno Haible  <bruno@clisp.org>
70745
70746         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
70747
70748 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70749
70750         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
70751         convention.  Text proposed by Bruno Haible.
70752         (struct argp_option): Document the use of N_() wrappers.
70753
70754         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
70755         '\v', and translate the two parts separately, instead of feeding
70756         the whole string to gettext.  This allows to exclude
70757         '\v' from the strings visible to the translator by writing doc
70758         strings as N_("..") "\v" N_("..").
70759
70760 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
70761
70762         * config/srclist.txt: Undo latest change; the bug was fixed.
70763
70764 2006-09-09  Bruno Haible  <bruno@clisp.org>
70765
70766         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
70767         assignments if building a library without libtool.
70768         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
70769         in func_emit_lib_Makefile_am.
70770         (func_import): When building a static library libfoo.a, arrange to
70771         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
70772         (func_create_testdir): Likewise.
70773         * modules/gc (configure.ac, Makefile.am): If building statically,
70774         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
70775         * modules/iconvme (configure.ac, Makefile.am): Likewise.
70776         * modules/striconv (configure.ac, Makefile.am): Likewise.
70777         Based on a suggestion by Ralf Wildenhues.
70778
70779 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70780
70781         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
70782         Check for unistd.h too, since Autoconf doesn't assume POSIX.
70783         Also:
70784
70785         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70786         Add year_2050_test to catch glibc bug 2821
70787         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70788
70789         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70790         Prefer #ifdef to #if.
70791
70792         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
70793         Return from 'main' instead of calling 'exit'.
70794
70795 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70796
70797         * lib/mktime.c (guess_time_tm): Fix bug where mktime
70798         returned the maximum time_t value rather than (time_t) -1.
70799         Problem originally reported by William Bardwell
70800         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
70801
70802         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70803         Moved to here ...
70804         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
70805         ... from here.
70806
70807 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70808
70809         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
70810         2821 is fixed.
70811
70812 2006-09-08  Jim Meyering  <jim@meyering.net>
70813
70814         Don't make generated files read-only.  That would bother too many
70815         people.  However, do retain the ability to work when targets are
70816         read-only: remove the destination and temporary files before writing
70817         them (when generated via sed or echo), or by using the -f option for
70818         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
70819         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70820         * modules/byteswap, modules/configmake, modules/fcntl:
70821         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70822         * modules/localcharset, modules/netinet_in, modules/poll:
70823         * modules/stdbool, modules/stdint, modules/sys_select:
70824         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70825
70826 2006-09-08  Jim Meyering  <jim@meyering.net>
70827
70828         Avoid new build failure on FreeBSD 6.0.
70829         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
70830         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
70831         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
70832
70833 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70834
70835         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
70836
70837 2006-09-07  Jim Meyering  <jim@meyering.net>
70838
70839         Fix global typo in last change: use chmod u-w, not chmod u-x.
70840         Spotted by Paul Eggert and Bruce Korb.
70841         * modules/alloca-opt, modules/argz, modules/arpa_inet:
70842         * modules/byteswap, modules/configmake, modules/fcntl:
70843         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
70844         * modules/localcharset, modules/netinet_in, modules/poll:
70845         * modules/stdbool, modules/stdint, modules/sys_select:
70846         * modules/sys_socket, modules/sys_stat, modules/sysexits:
70847
70848 2006-09-06  Jim Meyering  <jim@meyering.net>
70849
70850         Make generated files be read-only.
70851         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
70852         Ensure that each generated file is now read-only.
70853         * modules/argz: Likewise.
70854         * modules/arpa_inet: Likewise.
70855         * modules/byteswap: Likewise.
70856         * modules/configmake: Likewise.
70857         * modules/fcntl: Likewise.
70858         * modules/fnmatch: Likewise.
70859         * modules/getopt: Likewise.
70860         * modules/glob: Likewise.
70861         * modules/inttypes: Likewise.
70862         * modules/netinet_in: Likewise.
70863         * modules/poll: Likewise.
70864         * modules/stdbool: Likewise.
70865         * modules/stdint: Likewise.
70866         * modules/sys_select: Likewise.
70867         * modules/sys_socket: Likewise.
70868         * modules/sys_stat: Likewise.
70869         * modules/sysexits: Likewise.
70870         * modules/localcharset: Same as above, but continue using temporary
70871         file named "t-$@" (why different?) rather than the "$@-t" used
70872         everywhere else.
70873
70874         * modules/sysexits (Makefile.am): Replace literal occurrences
70875         of "sysexit.h" more readable, and more consistent, "$@".
70876
70877 2006-09-06  Bruno Haible  <bruno@clisp.org>
70878
70879         * modules/striconv: New file.
70880         * modules/xstriconv: New file.
70881         * MODULES.html.sh (Internationalization functions): Add striconv,
70882         xstriconv.
70883
70884 2006-09-06  Bruno Haible  <bruno@clisp.org>
70885
70886         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
70887         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
70888         not using libtool correctly.
70889
70890 2006-09-06  Bruno Haible  <bruno@clisp.org>
70891
70892         * lib/striconv.h: New file.
70893         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
70894         iconvstring.c.
70895         * lib/xstriconv.h: New file.
70896         * lib/xstriconv.c: New file.
70897
70898 2006-09-06  Bruno Haible  <bruno@clisp.org>
70899
70900         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70901         lib_..._LDFLAGS.
70902
70903 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70904
70905         * lib/argz_.h: Sync from Libtool.
70906
70907         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
70908                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
70909
70910         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
70911
70912 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70913
70914         * modules/trim: New file.
70915
70916 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
70917
70918         * lib/trim.h: New file.
70919         * lib/trim.c: New file.
70920
70921 2006-09-05  Bruno Haible  <bruno@clisp.org>
70922
70923         * MODULES.html.sh (String handling): Add trim.
70924
70925 2006-09-04  Karl Berry  <karl@gnu.org>
70926
70927         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
70928         until next release.
70929
70930 2006-09-03  Bruno Haible  <bruno@clisp.org>
70931
70932         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
70933         correctly.
70934
70935 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70936
70937         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
70938         not gl_GETLOADAVG.  Omit unneeded semicolons.
70939         Problems reported by Ralf Wildenhues in
70940         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
70941         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
70942         at the end, which is the usual gnulib style.
70943
70944         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
70945         of doing all the work ourselves.
70946         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
70947         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
70948
70949 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70950
70951         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
70952         Problem reported by Ralf Wildenhues in
70953         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
70954
70955         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
70956         HAVE_STRUCT_STATFS_F_FSTYPENAME.
70957
70958 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70959
70960         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
70961         yesterday's patch by changing test -n to test -z.
70962
70963 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70964
70965         * modules/getloadavg (Files): Add m4/getloadavg.m4.
70966         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
70967         the former is now obsolescent.
70968
70969         * modules/chdir-long (Depends-on): Add fcntl.
70970
70971 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70972
70973         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
70974         obsolescent, and programs should use gnulib instead.
70975         * m4/getloadavg.m4: New file, with contents taken from Autoconf
70976         but with prefixes changed.
70977
70978 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70979
70980         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
70981         or stdbool.h, because they might not exist while configuring.
70982
70983         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
70984         Don't include unistd.h or limits.h; not needed, since chdir-long.h
70985         does that for us.
70986         (O_DIRECTORY): Remove.
70987
70988 2006-08-31  Eric Blake  <ebb9@byu.net>
70989
70990         * gnulib-tool: Don't let emacs change spaces to TAB.
70991
70992 2006-08-31  Bruno Haible  <bruno@clisp.org>
70993
70994         * gnulib-tool: When calling func_import more than once, do it in a
70995         subshell.
70996         Reported by Eric Blake <ebb9@byu.net>.
70997
70998 2006-08-31  Bruno Haible  <bruno@clisp.org>
70999
71000         * gnulib-tool (nl): Remove variable.
71001         (sed_transform_lib_file): Use more robust test for config-h module.
71002         (func_import): Fix typo in 2006-08-25 patch.
71003
71004 2006-08-31  Bruno Haible  <bruno@clisp.org>
71005
71006         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
71007         specified, augment Makefile.am variables instead of assigning them.
71008
71009 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71010
71011         Work around a bug in both the Linux and SunOS 64-bit kernels:
71012         nanosleep mishandles sleeps for longer than 2**31 seconds.
71013         Problem reported by Frank v Waveren in
71014         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71015         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
71016         Check for nanosleep bug.
71017         (LIB_NANOSLEEP): Append clock_gettime library if needed.
71018
71019 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71020
71021         Work around a bug in both the Linux and SunOS 64-bit kernels:
71022         nanosleep mishandles sleeps for longer than 2**31 seconds.
71023         Problem reported by Frank v Waveren in
71024         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
71025         * lib/nanosleep.c (BILLION): New constant.
71026         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
71027         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
71028         implementation.
71029
71030 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71031
71032         * modules/nanosleep (Depends-on): Add gettime.
71033
71034 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
71035         and Simon Josefsson  <jas@extundo.com>
71036         and Oskar Liljeblad  <oskar@osk.mine.nu>
71037
71038         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
71039         * gnulib-tool (func_import): New license type 'unmodifiable license
71040         text'.
71041         * modules/fdl: Use it.  Longer description.
71042         * module/gpl, module/lgpl: New files.
71043
71044 2006-08-30  Jim Meyering  <jim@meyering.net>
71045
71046         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
71047         shadowing the parameter.
71048
71049 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71050
71051         Sync from Libtool:
71052
71053         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71054
71055         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
71056         sharing with gnulib.  Report by Eric Blake.
71057
71058 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71059
71060         * modules/isapipe: New file.
71061         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
71062
71063 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71064
71065         * modules/configmake (Makefile.am): Add a comment, and omit
71066         the CONFIGMAKE_ prefix from generated macro names.  Suggested
71067         by Bruno Haible.
71068
71069 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71070
71071         * m4/isapipe.m4: New file.
71072
71073 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
71074
71075         * lib/isapipe.c, lib/isapipe.h: New files.
71076
71077 2006-08-29  Jim Meyering  <jim@meyering.net>
71078
71079         * modules/configmake (Makefile.am): Make configmake.h depend on
71080         Makefile.  Otherwise, a stale configmake.h could hang around.
71081
71082 2006-08-29  Eric Blake  <ebb9@byu.net>
71083
71084         * lib/error.c (error_at_line, print_errno_message): Match libc, after
71085         resolution of upstream bug 3044.
71086
71087 2006-08-29  Bruno Haible  <bruno@clisp.org>
71088
71089         * modules/localcharset (Depends-on): Add configmake.
71090         (Makefile.am): Remove setting of LIBDIR through DEFS.
71091
71092 2006-08-29  Bruno Haible  <bruno@clisp.org>
71093
71094         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
71095         defined.
71096
71097 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71098
71099         * modules/fcntl: New file.
71100         * modules/chdir-safer (Depends-on): Add fcntl.
71101         * modules/fts: Likewise.
71102         * modules/mkdir-p: Likewise.
71103
71104         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
71105         This undoes the most recent change, since we're now addressing the
71106         problem in a different way.
71107
71108         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
71109         into output, since the output might be called Makefile.am even
71110         if $makefile_name is something different.
71111         (func_import): Use $makefile_am rather than
71112         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
71113         empty.
71114
71115         * modules/inttypes (Files): Add m4/inttypes-h.m4.
71116
71117 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71118
71119         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
71120         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
71121         recent change to stdint.m4, since we're now addressing the problem in a
71122         different way.
71123
71124 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71125
71126         * m4/fcntl_h.m4: New file.
71127
71128 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
71129
71130         * lib/fcntl_.h: New file.
71131         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
71132         the fcntl module.
71133         * lib/dirchownmod.c: Likewise.
71134         * lib/fts.c: Likewise.
71135
71136         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
71137         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
71138         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
71139         just before including <inttypes.h>, to avoid circular inclusion.
71140
71141 2006-08-28  Jim Meyering  <jim@meyering.net>
71142
71143         * doc/visibility.texi: Actually read and correct the grammar of the
71144         sentence affected by yesterday's change.
71145
71146 2006-08-28  Eric Blake  <ebb9@byu.net>
71147
71148         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
71149         needs wrapper.
71150
71151 2006-08-28  Eric Blake  <ebb9@byu.net>
71152
71153         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
71154
71155 2006-08-28  Eric Blake  <ebb9@byu.net>
71156
71157         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
71158
71159 2006-08-28  Bruno Haible  <bruno@clisp.org>
71160
71161         * modules/c-strstr: New file, from GNU gettext.
71162         * MODULES.html.sh (String handling): Add c-strstr.
71163
71164 2006-08-28  Bruno Haible  <bruno@clisp.org>
71165
71166         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
71167         macros.
71168         Reported by Eric Blake.
71169
71170 2006-08-28  Bruno Haible  <bruno@clisp.org>
71171
71172         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
71173         (VASNPRINTF): Return a string of length > INT_MAX without failing.
71174         * lib/vasprintf.c: Include errno.h, limits.h.
71175         (EOVERFLOW): New fallback definition.
71176         (vasprintf): Test here whether the string length is > INT_MAX.
71177         * lib/vsnprintf.c: Include errno.h, limits.h.
71178         (EOVERFLOW): New fallback definition.
71179         (vsnprintf): Fix bug when generated string was too long for the buffer.
71180         Test here whether the string length is > INT_MAX.
71181
71182 2006-08-28  Bruno Haible  <bruno@clisp.org>
71183
71184         * lib/inttypes_.h (SCNX*): Remove definitions.
71185         Reported by Eric Blake.
71186
71187 2006-08-28  Bruno Haible  <bruno@clisp.org>
71188
71189         * lib/c-strstr.h: New file, from GNU gettext.
71190         * lib/c-strstr.c: New file, from GNU gettext.
71191
71192 2006-08-28  Bruno Haible  <bruno@clisp.org>
71193
71194         * gnulib-tool: Reorder some statements.
71195
71196 2006-08-28  Bruno Haible  <bruno@clisp.org>
71197
71198         * gnulib-tool: New option --makefile-name.
71199         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
71200         $makefile_name.
71201         (func_import): Write $makefile_name to the cache file, and read it from
71202         there unless explicitly specified. Use $makefile_name as file name
71203         instead of Makefile.am. Adjust the recommendations accordingly.
71204
71205 2006-08-28  Bruno Haible  <bruno@clisp.org>
71206
71207         * gnulib-tool (func_verify_module): Check against misapplying patch.
71208
71209 2006-08-28  Bruno Haible  <bruno@clisp.org>
71210
71211         * gnulib-tool (func_relativize, func_relconcat): New functions.
71212         Give an error if --local-dir is given with --update.
71213         Remove trailing slashes from $local_gnulib_dir.
71214         (func_import): Store the relativized $local_gnulib_dir in
71215         gnulib-cache.m4, and read it from there if not specified explicitly.
71216
71217 2006-08-28  Bruno Haible  <bruno@clisp.org>
71218
71219         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
71220         is the current directory. Respect also $local_gnulib_dir.
71221
71222 2006-08-28  Bruno Haible  <bruno@clisp.org>
71223             Simon Josefsson  <jas@extundo.com>
71224
71225         BeOS portability.
71226         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
71227
71228 2006-08-27  Jim Meyering  <jim@meyering.net>
71229
71230         * doc/visibility.texi: Remove duplicate word: "pointer".
71231
71232 2006-08-26  Bruno Haible  <bruno@clisp.org>
71233
71234         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
71235         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
71236         (Makefile.am): Create inttypes.h from inttypes_.h.
71237         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
71238
71239         * modules/imaxabs: New file.
71240
71241         * modules/imaxdiv: New file.
71242
71243 2006-08-26  Bruno Haible  <bruno@clisp.org>
71244
71245         * m4/inttypes.m4: New file.
71246         * m4/_inttypes_h.m4: Remove file.
71247         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
71248         PRI_MACROS_BROKEN.
71249         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
71250
71251         * m4/imaxabs.m4: New file.
71252
71253         * m4/imaxdiv.m4: New file.
71254
71255 2006-08-26  Bruno Haible  <bruno@clisp.org>
71256
71257         * lib/inttypes_.h: New file.
71258         * lib/inttypes.h: Remove file.
71259         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
71260
71261         * lib/imaxabs.c: New file.
71262
71263         * lib/imaxdiv.c: New file.
71264
71265 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71266
71267         New config-h module, so that "make" output needn't be cluttered
71268         by -DHAVE_CONFIG_H.
71269         * MODULES.html.sh (Support for building libraries and executables):
71270         Add config-h.
71271         * modules/config-h: New file.
71272         * gnulib-tool (nl, sed_transform_lib_file): New vars.
71273         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
71274         the config-h module is used.
71275
71276         New configmake module, so that "make" output needn't be cluttered
71277         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
71278         * MODULES.html.sh (Support for building libraries and executables):
71279         Add configmake.
71280         * modules/configmake: New file.
71281
71282 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71283
71284         * m4/config-h.m4: New file.
71285
71286 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71287
71288         * config/srclist.txt: Add elisp-comp.
71289
71290 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71291
71292         * MODULES.html.sh (Support for building libraries and executables):
71293         Add elisp-comp.
71294         * build-aux/elisp-comp: New file.
71295         * modules/elisp-comp: New file.
71296
71297 2006-08-24  Bruno Haible  <bruno@clisp.org>
71298
71299         * gnulib-tool (func_create_testdir): Use non-default values of
71300         sourcebase and m4base.
71301
71302 2006-08-24  Bruno Haible  <bruno@clisp.org>
71303
71304         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
71305         HTML structure.
71306
71307 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71308
71309         * modules/openat (Depends-on): Add lchown.
71310
71311 2006-08-23  Bruno Haible  <bruno@clisp.org>
71312
71313         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
71314         of gl_LOCK_EARLY instead of gl_LOCK.
71315
71316 2006-08-23  Bruno Haible  <bruno@clisp.org>
71317
71318         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
71319         on OSF/1 to no.
71320         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
71321
71322 2006-08-23  Bruno Haible  <bruno@clisp.org>
71323
71324         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
71325         as unusable.
71326
71327         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
71328         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
71329         (gl_LOCK): New macro.
71330
71331 2006-08-22  Simon Josefsson  <jas@extundo.com>
71332
71333         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
71334         to md5 module.
71335
71336 2006-08-22  Simon Josefsson  <jas@extundo.com>
71337
71338         * MODULES.html.sh: Add "Support for maintaining and release
71339         projects".
71340
71341         * build-aux/gnupload: New file, from coreutils.
71342
71343 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71344
71345         Avoid the need for AC_LIBSOURCES in m4 macros.
71346         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
71347         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
71348         * modules/check-version (EXTRA_DIST): Add check-version.h.
71349         * modules/crc (EXTRA_DIST): Add crc.h.
71350         * modules/des (EXTRA_DIST): Add des.h.
71351         * modules/gc (EXTRA_DIST): Add gc.h.
71352         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
71353         * modules/getline (EXTRA_DIST): Add getline.h.
71354         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
71355         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
71356         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
71357         * modules/md2 (EXTRA_DIST): Add md2.h.
71358         * modules/md4 (EXTRA_DIST): Add md4.h.
71359         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
71360         * modules/read-file (EXTRA_DIST): Add read-file.h.
71361         * modules/readline (EXTRA_DIST): Add readline.h.
71362         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
71363         rijndael-api-fst.h.
71364
71365 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71366
71367         * m4/rijndael.m4 (gl_ARCFOUR):
71368         * m4/arctwo.m4 (gl_ARCTWO):
71369         * m4/check-version.m4 (gl_CHECK_VERSION):
71370         * m4/crc.m4 (gl_CRC):
71371         * m4/des.m4 (gl_DES):
71372         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
71373         * m4/gc.m4 (gl_GC):
71374         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
71375         * m4/getline.m4 (gl_FUNC_GETLINE):
71376         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
71377         * m4/hmac-md5.m4 (gl_HMAC_MD5):
71378         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
71379         * m4/md2.m4 (gl_MD2):
71380         * m4/md4.m4 (gl_MD4):
71381         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
71382         * m4/read-file.m4 (gl_FUNC_READ_FILE):
71383         * m4/readline.m4 (gl_FUNC_READLINE):
71384         * m4/rijndael.m4 (gl_RIJNDAEL):
71385         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71386         to get the necessary .h files and whatnot.
71387
71388 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
71389
71390         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
71391         gnulib rather than the other way around.
71392         * config/srclistvars.sh (COREUTILS): Remove.
71393
71394 2006-08-22  Jim Meyering  <jim@meyering.net>
71395
71396         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
71397
71398         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
71399
71400 2006-08-22  Eric Blake  <ebb9@byu.net>
71401
71402         * modules/regexprops-generic: New file.
71403         * MODULES.html.sh (Support for building documentation): List it.
71404
71405 2006-08-22  Eric Blake  <ebb9@byu.net>
71406
71407         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
71408         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
71409         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
71410         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
71411
71412 2006-08-22  Bruno Haible  <bruno@clisp.org>
71413
71414         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
71415         and lib_LTLIBRARIES like the other lib_* variables.
71416
71417 2006-08-22  Bruno Haible  <bruno@clisp.org>
71418
71419         * build-aux/x-to-1.in: New file, from GNU gettext.
71420
71421 2006-08-22  Bruno Haible  <bruno@clisp.org>
71422
71423         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
71424         <utmpx.h> exists.
71425
71426 2006-08-22  Bruno Haible  <bruno@clisp.org>
71427
71428         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
71429         <utmpx.h> exists.
71430
71431 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71432
71433         BeOS portability.
71434         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
71435         exist.
71436         Problem reported by Bruno Haible.
71437
71438 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71439
71440         Avoid the need for AC_LIBSOURCES in m4 macros.
71441         * modules/acl (EXTRA_DIST): Add acl.h.
71442         * modules/argmatch (Files): Add m4/argmatch.m4.
71443         (configure.ac): Add gl_ARGMATCH.
71444         (EXTRA_DIST): Renamed from lib_SOURCES, for
71445         consistency with the other modules.  Remove argmatch.c.
71446         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
71447         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
71448         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
71449         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
71450         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
71451         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
71452         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
71453         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
71454         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
71455         * modules/closeout (EXTRA_DIST): Add closeout.h.
71456         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
71457         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
71458         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
71459         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
71460         dirname.h; remove basename.c and stripslash.c.
71461         * modules/exclude (EXTRA_DIST): Add exclude.h.
71462         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
71463         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
71464         * modules/file-type (EXTRA_DIST): Add file-type.h.
71465         * modules/filemode (EXTRA_DIST): Add filemode.h.
71466         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
71467         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71468         * modules/fpending (EXTRA_DIST): Add __fpending.h.
71469         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
71470         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
71471         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
71472         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
71473         * modules/getdate (EXTRA_DIST): Add getdate.c.
71474         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
71475         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
71476         * modules/getpass (EXTRA_DIST): Add getpass.h.
71477         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
71478         * modules/group-member (EXTRA_DIST): Add group-member.h.
71479         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
71480         * modules/hash (EXTRA_DIST): Add hash.h.
71481         * modules/human (EXTRA_DIST): Add human.h.
71482         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
71483         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
71484         * modules/lchown (EXTRA_DIST): Add lchown.h.
71485         * modules/long-options (EXTRA_DIST): Add long-options.h.
71486         * modules/lstat (EXTRA_DIST): Add lstat.h.
71487         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
71488         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
71489         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
71490         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
71491         * modules/memxor (EXTRA_DIST): Add memxor.h.
71492         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
71493         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
71494         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
71495         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
71496         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
71497         * modules/physmem (EXTRA_DIST): Add physmem.h.
71498         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
71499         * modules/posixver (EXTRA_DIST): Add posixver.h.
71500         * modules/quote (EXTRA_DIST): Add quote.h.
71501         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
71502         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
71503         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
71504         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
71505         regex_internal.h regexec.c.
71506         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
71507         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
71508         * modules/same (EXTRA_DIST): Add same.h.
71509         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
71510         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
71511         * modules/savedir (EXTRA_DIST): Add savedir.h.
71512         * modules/sha1 (EXTRA_DIST): Add sha1.h.
71513         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
71514         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
71515         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
71516         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
71517         * modules/strdup (EXTRA_DIST): Add strdup.h.
71518         * modules/strftime (EXTRA_DIST): Add strftime.h.
71519         * modules/strndup (EXTRA_DIST): Add strndup.h.
71520         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
71521         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
71522         * modules/time_r (EXTRA_DIST): Add time_r.h.
71523         * modules/timespec (EXTRA_DIST): Add timespec.h.
71524         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
71525         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
71526         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
71527         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
71528         * modules/userspec (EXTRA_DIST): Add userspec.h.
71529         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
71530         * modules/utimens (EXTRA_DIST): Add utimens.h.
71531         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
71532         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
71533         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
71534         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
71535         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
71536         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
71537         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
71538         * modules/yesno (EXTRA_DIST): Add yesno.h.
71539
71540 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
71541
71542         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
71543
71544         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
71545         * m4/dev-ino.m4, same-inode.m4: Remove.
71546
71547         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
71548         * m4/acl.m4 (AC_FUNC_ACL):
71549         * m4/backupfile.m4 (gl_BACKUPFILE):
71550         * m4/c-strtod.m4 (gl_C99_STRTOLD):
71551         * m4/canon-host.m4 (gl_CANON_HOST):
71552         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
71553         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
71554         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
71555         * m4/cloexec.m4 (gl_CLOEXEC):
71556         * m4/close-stream.m4 (gl_CLOSE_STREAM):
71557         * m4/closeout.m4 (gl_CLOSEOUT):
71558         * m4/dirfd.m4 (gl_FUNC_DIRFD):
71559         * m4/dirname.m4 (gl_DIRNAME):
71560         * m4/exclude.m4 (gl_EXCLUDE):
71561         * m4/exitfail.m4 (gl_EXITFAIL):
71562         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
71563         * m4/file-type.m4 (gl_FILE_TYPE):
71564         * m4/filemode.m4 (gl_FILEMODE):
71565         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
71566         * m4/fpending.m4 (gl_FUNC_FPENDING):
71567         * m4/fprintftime.m4 (gl_FPRINTFTIME):
71568         * m4/fts.m4 (gl_FUNC_FTS):
71569         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
71570         * m4/getdate.m4 (gl_GETDATE):
71571         * m4/gethrxtime.m4 (gl_GETHRXTIME):
71572         * m4/getpagesize.m4 (gl_GETPAGESIZE):
71573         * m4/getpass.m4 (gl_FUNC_GETPASS):
71574         * m4/gettime.m4 (gl_GETTIME):
71575         * m4/getugroups.m4 (gl_GETUGROUPS):
71576         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
71577         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
71578         * m4/hard-locale.m4 (gl_HARD_LOCALE):
71579         * m4/hash.m4 (gl_HASH):
71580         * m4/idcache.m4 (gl_IDCACHE):
71581         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
71582         * m4/lchown.m4 (gl_FUNC_LCHOWN):
71583         * m4/long-options.m4 (gl_LONG_OPTIONS):
71584         * m4/lstat.m4 (gl_FUNC_LSTAT):
71585         * m4/md5.m4 (gl_MD5):
71586         * m4/memcasecmp.m4 (gl_MEMCASECMP):
71587         * m4/memcoll.m4 (gl_MEMCOLL):
71588         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
71589         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
71590         * m4/memxor.m4 (gl_MEMXOR):
71591         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
71592         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
71593         * m4/modechange.m4 (gl_MODECHANGE):
71594         * m4/mountlist.m4 (gl_MOUNTLIST):
71595         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71596         * m4/openat.m4 (gl_FUNC_OPENAT):
71597         * m4/pathmax.m4 (gl_PATHMAX):
71598         * m4/physmem.m4 (gl_PHYSMEM):
71599         * m4/posixtm.m4 (gl_POSIXTM):
71600         * m4/posixver.m4 (gl_POSIXVER):
71601         * m4/quote.m4 (gl_QUOTE):
71602         * m4/quotearg.m4 (gl_QUOTEARG):
71603         * m4/readtokens.m4 (gl_READTOKENS):
71604         * m4/readutmp.m4 (gl_READUTMP):
71605         * m4/regex.m4 (gl_REGEX):
71606         * m4/safe-read.m4 (gl_SAFE_READ):
71607         * m4/safe-write.m4 (gl_SAFE_WRITE):
71608         * m4/same.m4 (gl_SAME):
71609         * m4/save-cwd.m4 (gl_SAVE_CWD):
71610         * m4/savedir.m4 (gl_SAVEDIR):
71611         * m4/settime.m4 (gl_SETTIME):
71612         * m4/sha1.m4 (gl_SHA1):
71613         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
71614         * m4/stat-macros.m4 (gl_STAT_MACROS):
71615         * m4/stat-time.m4 (gl_STAT_TIME):
71616         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
71617         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
71618         * m4/strdup.m4 (gl_FUNC_STRDUP):
71619         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
71620         * m4/strndup.m4 (gl_FUNC_STRNDUP):
71621         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
71622         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
71623         * m4/time_r.m4 (gl_TIME_R):
71624         * m4/timespec.m4 (gl_TIMESPEC):
71625         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
71626         * m4/unlinkdir.m4 (gl_UNLINKDIR):
71627         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
71628         * m4/userspec.m4 (gl_USERSPEC):
71629         * m4/utimecmp.m4 (gl_UTIMECMP):
71630         * m4/utimens.m4 (gl_UTIMENS):
71631         * m4/xalloc.m4 (gl_XALLOC):
71632         * m4/xgetcwd.m4 (gl_XGETCWD):
71633         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
71634         * m4/xreadlink.m4 (gl_XREADLINK):
71635         * m4/xstrtod.m4 (gl_XSTRTOD):
71636         * m4/yesno.m4 (gl_YESNO):
71637         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
71638         to get the necessary .h files and whatnot.
71639
71640 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
71641             Bruno Haible  <bruno@clisp.org>
71642
71643         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
71644         /bin/sh understanding of '!' conditional negation.
71645
71646 2006-08-21  Jim Meyering  <jim@meyering.net>
71647
71648         * modules/openat (Depends-on): Really alphabetize.
71649
71650         * modules/acl (Depends-on): Add error and quote.
71651
71652         * check-module (find_included_lib_files): Add at-func.c to the
71653         ok-to-include-more-than-once white list.
71654
71655         * modules/openat (Depends-on): Add lstat.  Alphabetize.
71656
71657 2006-08-21  Bruno Haible  <bruno@clisp.org>
71658
71659         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71660         Emit a pkgdata_DATA variable only if some snippets add contents to it.
71661         Reported by Martin Lambers <marlam@marlam.de>.
71662
71663 2006-08-21  Bruno Haible  <bruno@clisp.org>
71664
71665         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
71666         specify an installation location, don't emit a noinst_LIBRARIES or
71667         noinst_LTLIBRARIES assignment.
71668
71669 2006-08-21  Bruno Haible  <bruno@clisp.org>
71670
71671         BeOS portability.
71672         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
71673         BeOS has mbrtowc() but no <wctype.h>.
71674
71675 2006-08-21  Bruno Haible  <bruno@clisp.org>
71676
71677         BeOS portability.
71678         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
71679         exist.
71680
71681 2006-08-21  Bruno Haible  <bruno@clisp.org>
71682
71683         BeOS portability.
71684         * lib/mbchar.h: Include <wctype.h> only if it exists.
71685
71686 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71687
71688         Remove files that are no longer needed by their respective modules.
71689         * m4/obstack.m4: Remove.
71690         * m4/strerror_r.m4: Remove.
71691         * m4/uint32_t.m4: Remove.
71692         * m4/uintptr_t.m4: Remove.
71693         * m4/ullong_max.m4: Remove.
71694         * m4/xstrtoimax.m4: Remove.
71695         * m4/xstrtoumax.m4: Remove.
71696
71697         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
71698         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
71699         dependencies now capture this.
71700
71701         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
71702         Do not use AC_LIBSOURCES, since gnulib modules now do this.
71703         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
71704         * m4/human.m4 (gl_HUMAN): Likewise.
71705         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
71706         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
71707
71708         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
71709
71710         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
71711         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
71712         stdint.
71713         * m4/human.m4 (gl_HUMAN): Likewise.
71714         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
71715         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
71716         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71717         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71718         * m4/xstrtol (gl_XSTRTOL): Likewise.
71719
71720         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
71721         AC_TYPE_LONG_LONG_INT.
71722         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
71723         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
71724         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
71725         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
71726
71727         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
71728         on stdbool.
71729
71730         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
71731         (gl_PREREQ_XSTRTOUL): Remove.
71732
71733         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
71734
71735         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
71736         mode.
71737
71738 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71739
71740         Add and change modules to make it easier for coreutils to use
71741         gnulib-tool.
71742         * modules/backupfile (Files): Remove m4/d-ino.m4.
71743         (Depends-on): Add d-ino.
71744         * modules/cycle-check (Depends-on): Add stdint.
71745         (lib_SOURCES): Add cycle-check.h.
71746         * modules/d-ino: New module.
71747         * modules/d-type: New module.
71748         * modules/error (Files): Remove m4/strerror_r.m4.
71749         * modules/filemode (Files): Add m4/st_dm_mode.m4.
71750         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
71751         m4/inttypes_h.m4, m4/uintmax_t.m4.
71752         (Depends-on): Add stdint.
71753         (lib_SOURCES): Add fsusage.h.
71754         * modules/getcwd (Files): Remove d-ino.m4.
71755         (Depends-on): Add d-ino.
71756         * modules/getndelim2 (Depends-on): Add stdint.
71757         * modules/glob (Files): Remove m4/d-type.m4.
71758         (Depends-on): Add d-type.
71759         * modules/host-os: New module.
71760         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
71761         m4/inttypes_h.m4, m4/uintmax_t.m4.
71762         * Depends-on: Add stdint.
71763         (lib_SOURCES): Add human.h.
71764         * modules/inttostr (Files): Remove m4/intmax_t.m4,
71765         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
71766         m4/uintmax_t.m4, m4/ulonglong.m4.
71767         (Depends-on): Add stdint.
71768         (EXTRA_DIST): Add inttostr.h.
71769         * modules/lchmod: New module.
71770         * modules/link-follow: New module.
71771         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
71772         (Depends-on): Add lchmod.
71773         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
71774         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
71775         (Depends-on): Add stdint.
71776         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
71777         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
71778         (Depends-on): Add stdint.
71779         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
71780         * modules/perl: New module.
71781         * modules/regex (Depends-on): Add stdint.
71782         * modules/rmdir-errno: New module.
71783         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71784         m4/intmax_t.m4.
71785         (Depends-on): Add stdint.
71786         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
71787         m4/uintmax_t.m4.
71788         (Depends-on): Add stdint.
71789         * modules/unlink-busy: New module.
71790         * modules/utimecmp (Depends-on): Add stdint.
71791         * modules/uptime: New module.
71792         * modules/winsz-ioctl: New module.
71793         * modules/winsz-termios: New module.
71794         * modules/xnanosleep (Depends-on): Add nanosleep.
71795         * modules/ullong_max: Remove.
71796         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
71797         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
71798         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
71799         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
71800         (Depends-on): Add inttypes.
71801         (lib_SOURCES): Add xstrtol.h.
71802         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
71803         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
71804         * MODULES.html.sh: Move 'assert' into the assert section.
71805         Move 'dummy' into the linking section.
71806         Remove ullong_max.
71807         Add section for compatibility checks for POSIX:2001 functions,
71808         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
71809         winsz-ioctl, and winsz-termios into it.
71810         Add lchmod.
71811         Add top-level Misc section and put host-os, perl, and uptime
71812         into it.
71813
71814 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71815
71816         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
71817         now assume the stdint module.  Do not include inttypes.h.
71818         * lib/fsusage.h: Likewise.
71819         * lib/getndelim2.c: Likewise.
71820         * lib/human.h: Likewise.
71821         * lib/inttostr.h: Likewise.
71822         * lib/obstack.c: Likewise.
71823         * lib/regex_internal.h: Likewise.
71824         * lib/tempname.c: Likewise.
71825         * lib/utimecmp.c: Likewise.
71826         * lib/xstrtol.h: Likewise.
71827
71828         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
71829
71830         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
71831         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
71832         * lib/xtime.h: Likewise.
71833
71834 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71835
71836         * modules/openat (Files): Add lib/fchmodat.c.
71837         Fixes problem reported by Jay Youngman.
71838
71839 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71840
71841         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
71842         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
71843
71844 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
71845             Bruno Haible  <bruno@clisp.org>
71846
71847         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
71848         and is a script that invokes bison. Tighten the code. Add comments.
71849
71850 2006-08-18  Jim Meyering  <jim@meyering.net>
71851
71852         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
71853         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
71854         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
71855         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
71856
71857 2006-08-18  Bruno Haible  <bruno@clisp.org>
71858
71859         * modules/bison-i18n: New file.
71860         * MODULES.html.sh (Internationalization functions): Add it.
71861
71862 2006-08-18  Bruno Haible  <bruno@clisp.org>
71863
71864         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
71865         sys/statvfs.h. When getmntinfo was found, check its declaration and
71866         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
71867
71868 2006-08-18  Bruno Haible  <bruno@clisp.org>
71869
71870         * m4/bison-i18n.m4: New file, from bison.
71871
71872 2006-08-18  Bruno Haible  <bruno@clisp.org>
71873
71874         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
71875         (ME_DUMMY): Treat "kernfs" as a dummy.
71876         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
71877
71878 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71879
71880         Update from coreutils.
71881
71882         2006-08-15  Jim Meyering  <jim@meyering.net>
71883
71884         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
71885
71886         2006-01-17  Jim Meyering  <jim@meyering.net>
71887
71888         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
71889
71890         2006-01-11  Jim Meyering  <jim@meyering.net>
71891
71892         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
71893         Check for the lchmod function.
71894
71895 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71896
71897         Update from coreutils.
71898
71899         * lib/__fpending.h: Add copyright notice.
71900         * lib/fprintftime.h: Likewise.
71901         * lib/savedir.c: Use (C) in copyright notice.
71902         * lib/savedir.h: Likewise.
71903
71904         2006-08-15  Jim Meyering  <jim@meyering.net>
71905
71906         * lib/at-func.c: New file, with the logic of all emulated at-functions.
71907         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
71908         in support of the EXPECTED_ERRNO macro.
71909         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
71910         definitions.  Instead, define the appropriate symbols and include
71911         "at-func.c".
71912         * lib/mkdirat.c (mkdirat): Likewise.
71913         * lib/fchmodat.c (fchmodat): Likewise.
71914         (ENOSYS): Remove definition.
71915         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
71916         it.  Don't include "unistd--.h" -- it wasn't ever used.
71917
71918         2006-01-17  Jim Meyering  <jim@meyering.net>
71919
71920         Rewrite fts.c not to change the current working directory,
71921         by using openat, fstatat, fdopendir, etc..
71922
71923         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
71924         (HAVE_OPENAT_SUPPORT): Define.
71925         [_LIBC] (fchdir): Don't undef or define; no longer used.
71926         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
71927         Now, this `function' always succeeds, and consumes its file descriptor
71928         parameter -- so callers must not close such FDs.  Update callers.
71929         (diropen_fd, opendirat, cwd_advance_fd): New functions.
71930         (diropen): Add parameter, SP.  Adjust all callers.
71931         Implement using diropen_fd, rather than open.
71932         (fts_open): Initialize new member, fts_cwd_fd.
71933         Remove fts_rft-setting code.
71934         (fts_close): Close fts_cwd_fd, if necessary.
71935         (__opendir2): Define in terms of opendir or opendirat,
71936         depending on whether the FST_NOCHDIR flag is set.
71937         (fts_build): Since fts_safe_changedir consumes its FD, and since
71938         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
71939         and close the dup'd file descriptor upon failure.
71940         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
71941         (fts_safe_changedir): Tweak semantics to reflect that this function
71942         now calls cwd_advance_fd and hence consumes its FD argument.
71943         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
71944         [struct FTS] (fts_rft): Remove now-unused member.
71945         [struct FTS] (fts_cycle.state): Improve comment.
71946
71947         * lib/openat.c (openat_needs_fchdir): New function.
71948         * lib/openat.h (openat_needs_fchdir): Declare it.
71949
71950 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
71951
71952         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
71953         Problem and fix reported by Pádraig Brady in
71954         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
71955
71956 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71957
71958         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
71959
71960 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71961
71962         * lib/memcoll.c (memcoll): Optimize for the common case where the
71963         arguments are bytewise equal.
71964
71965 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71966
71967         * doc/regexprops-generic.texi: Add a copyright notice.
71968
71969 2006-08-15  Bruno Haible  <bruno@clisp.org>
71970
71971         * modules/tmpdir (License): Change to LGPL.
71972
71973 2006-08-15  Bruno Haible  <bruno@clisp.org>
71974
71975         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
71976         module.
71977
71978 2006-08-14  Simon Josefsson  <jas@extundo.com>
71979
71980         * config/srclist.txt: Add gnupload.
71981
71982 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
71983
71984         Change copyright notice from LGPL 2 to GPL 2, since that's the
71985         standard form used in the gnulib repository.
71986         * tests/test-lock.c: Likewise.
71987         * tests/test-stdint.c: Likewise.
71988         * tests/test-tls.c: Likewise.
71989
71990         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
71991         prelude-manager.  User shorter URLs for GNU projects, without '?'.
71992         Add copyright notice.
71993
71994         * check-module: Add copyright notice.  Output a copyright
71995         notice if "--version" is specified.
71996         * modules/COPYING: New file.
71997         * tests/test-getaddrinfo.c: Add copyright notice.
71998         * tests/test-verify.c: Likewise.
71999
72000 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72001
72002         Change copyright notice from LGPL 2 to GPL 2, since that's the
72003         standard form used in the gnulib repository.
72004         * lib/lock.c: LGPL -> GPL.
72005         * lib/lock.h: Likewise.
72006         * lib/strnlen1.c: Likewise.
72007         * lib/strnlen1.h: Likewise.
72008         * lib/tls.c: Likewise.
72009         * lib/tls.h: Likewise.
72010         * lib/tmpdir.c: Likewise.
72011
72012         * lib/TODO: Remove; this belongs only in coreutils.
72013
72014 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72015
72016         Add copyright notices to long-enough files that lack them, since
72017         otherwise the files aren't clearly free.  Use the same notice that
72018         getdate.texi already uses.
72019         * doc/alloca-opt.texi: Add copyright notice.
72020         * doc/alloca.texi: Likewise.
72021         * doc/ctime.texi: Likewise.
72022         * doc/functions.texi: Likewise.
72023         * doc/gcd.texi: Likewise.
72024         * doc/gnulib-tool.texi: Likewise.
72025         * doc/inet_ntoa.texi: Likewise.
72026         * doc/visibility.texi: Likewise.
72027
72028         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
72029         * doc/quote.texi: Add copyright notice.
72030
72031         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
72032         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
72033         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
72034         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
72035         is now obsolete, and give a pointer to the Sun list.
72036         Add copyright notice.
72037
72038 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
72039
72040         * config/srclistvars.sh: Add copyright notice.
72041
72042 2006-08-14  Eric Blake  <ebb9@byu.net>
72043
72044         Import the following change from libc:
72045
72046         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
72047
72048         Upstream bug 2997.
72049         * lib/misc/error.c: Add space between program name and message if file
72050         name is missing.
72051
72052 2006-08-12  Karl Berry  <karl@gnu.org>
72053
72054         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
72055         remove, these originate in gnulib now.
72056
72057 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72058
72059         * doc/Makefile (standards.info standards.html standards.dvi):
72060         Also depend on make-stds.texi.
72061
72062 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
72063
72064         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
72065         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
72066
72067         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
72068         in wchar_t.  Problem reported by Eric Blake.
72069
72070         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
72071         LEN is smaller than SIZE.  Suggested by Bruno Haible.
72072         Also, help the compiler to keep LEN in a register.
72073
72074 2006-08-11  Eric Blake  <ebb9@byu.net>
72075
72076         * users.txt: Sort.  Add tar.
72077
72078 2006-08-11  Bruno Haible  <bruno@clisp.org>
72079
72080         * users.txt: New file.
72081
72082 2006-08-11  Bruno Haible  <bruno@clisp.org>
72083
72084         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
72085         before <wchar.h>. Needed for OSF/1 and BSD/OS.
72086
72087 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72088
72089         * modules/snprintf (Depends-on): Remove minmax.
72090         (Maintainer): Add self and Bruno.
72091
72092 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
72093
72094         * lib/.cppi-disable: Add snprintf.h, socket_.h.
72095         * lib/snprintf.c: Include <errno.h> and <limits.h>.
72096         (EOVERFLOW): Define if the system does not.
72097         Do not include "minmax.h"; it wasn't used.
72098         (snprintf): Don't assume size_t promotes to an unsigned type.
72099         Fix bug when generated string was too long for the buffer: the
72100         buffer's contents are supposed to be the initial prefix of the
72101         output.  Don't assume vasnprintf returns EOVERFLOW if the size
72102         exceeds INT_MAX; do the check ourselves.
72103
72104         Import the following changes from libc:
72105
72106         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
72107
72108         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
72109         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
72110         set wc to the byte which couldn't be converted.
72111         (re_string_reconstruct): Don't clear valid_raw_len before calling
72112         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
72113         tip_context using re_string_context_at.
72114
72115         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
72116
72117         * lib/posix/regex.h: g++ still cannot handled [restrict].
72118
72119         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
72120
72121         * lib/posix/regex.h: Remove special handling for VMS.
72122
72123 2006-08-10  Jim Meyering  <jim@meyering.net>
72124
72125         * modules/same-inode: New module.
72126         * modules/dev-ino: New module.
72127         * modules/cycle-check: Depend on these modules, rather than simply
72128         including their .h files.
72129         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
72130         required via m4/cycle-check.m4.
72131         * modules/same: Depend on new same-inode module, rather than
72132         including same-inode.h.
72133         * modules/chdir-safer: New file.
72134
72135         * modules/chown (Depends-on): Add stat-macros.
72136
72137 2006-08-10  Jim Meyering  <jim@meyering.net>
72138
72139         * m4/cycle-check.m4: New file.
72140         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
72141         * m4/dev-ino.m4, m4/same-inode.m4: New files.
72142
72143 2006-08-10  Eric Blake  <ebb9@byu.net>
72144
72145         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
72146         in from original proposal.
72147
72148 2006-08-10  Eric Blake  <ebb9@byu.net>
72149         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72150
72151         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
72152         namespace.
72153
72154 2006-08-10  Bruno Haible  <bruno@clisp.org>
72155
72156         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
72157         as well.
72158
72159 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72160
72161         Sync from coreutils.
72162
72163         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
72164
72165         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
72166         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
72167
72168 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72169
72170         * modules/restrict: Remove; no longer needed now that we assume
72171         Autoconf 2.59 or later.
72172         * MODULES.html.sh: Remove 'restrict'.
72173         * modules/argp (Depends-on): Remove 'restrict'.
72174         * modules/base64 (Depends-on): Likewise.
72175         * modules/gc (Depends-on): Likewise.
72176         * modules/getaddrinfo (Depends-on): Likewise.
72177         * modules/glob (Depends-on): Likewise.
72178         * modules/inet_ntop (Depends-on): Likewise.
72179         * modules/inet_pton (Depends-on): Likewise.
72180         * modules/memxor (Depends-on): Likewise.
72181         * modules/regex (Depends-on): Likewise.
72182         * modules/strtok_r (Depends-on): Likewise.
72183         * modules/time_r (Depends-on): Likewise.
72184
72185 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
72186
72187         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
72188         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
72189         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
72190         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
72191         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
72192         * m4/memxor.m4 (gl_MEMXOR): Likewise.
72193         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
72194         gl_C_RESTRICT replaced by AC_C_RESTRICT.
72195
72196         Merge from coreutils.
72197         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
72198         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
72199         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
72200         * m4/time_r.m4 (gl_TIME_R): Likewise.
72201
72202 2006-08-09  Karl Berry  <karl@gnu.org>
72203
72204         * config/srclist.txt: no more gettext-tools, per Bruno.
72205
72206 2006-08-08  Eric Blake  <ebb9@byu.net>
72207
72208         * modules/verror: New module.
72209         * MODULES.html.sh: Document it.
72210
72211 2006-08-08  Eric Blake  <ebb9@byu.net>
72212
72213         * lib/verror.h, lib/verror.c: New files.
72214
72215 2006-08-08  Eric Blake  <ebb9@byu.net>
72216
72217         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
72218         verror_at_line output complies with GNU Coding Standards even when
72219         file is NULL.
72220
72221 2006-08-07  Bruno Haible  <bruno@clisp.org>
72222
72223         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
72224         versions of AIX.
72225         Reported by Ralf Wildenhues.
72226
72227 2006-08-07  Bruno Haible  <bruno@clisp.org>
72228
72229         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
72230         in an AC_DEFUN. Needed so that the autoconf snippets can use
72231         AC_REQUIRE.
72232
72233 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72234
72235         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72236         Initialize pkgdata_DATA.
72237         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
72238         overriding it.
72239
72240 2006-08-06  Eric Blake  <ebb9@byu.net>
72241
72242         * lib/error.h: Fold in some upstream changes from glibc.
72243         * lib/error.c: Likewise.
72244
72245 2006-08-04  Bruno Haible  <bruno@clisp.org>
72246
72247         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72248         Make the mostlyclean-local rule depend on mostlyclean-generic.
72249         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
72250
72251 2006-07-31  Bruno Haible  <bruno@clisp.org>
72252
72253         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
72254         <stdlib.h>, <string.h>.
72255
72256 2006-07-30  Bruno Haible  <bruno@clisp.org>
72257
72258         * modules/readlink (License): Change to LGPL.
72259
72260 2006-07-30  Bruno Haible  <bruno@clisp.org>
72261
72262         * modules/javaversion (Makefile.am): Distribute javaversion.java and
72263         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
72264         set PKGDATADIR to point to it.
72265
72266 2006-07-30  Bruno Haible  <bruno@clisp.org>
72267
72268         * modules/csharpexec (configure.ac): Comment out macro invocation.
72269         * modules/javaexec (configure.ac): Likewise.
72270         * modules/javacomp-script (configure.ac): Likewise.
72271
72272         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
72273
72274 2006-07-30  Bruno Haible  <bruno@clisp.org>
72275
72276         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
72277         linked-list.
72278
72279 2006-07-30  Bruno Haible  <bruno@clisp.org>
72280
72281         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
72282
72283 2006-07-30  Bruno Haible  <bruno@clisp.org>
72284
72285         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72286         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
72287         get removed.
72288
72289 2006-07-29  Bruno Haible  <bruno@clisp.org>
72290
72291         Make it possible for gnulib-tool to work with locally modified or
72292         augmented gnulib repositories.
72293         * gnulib-tool (func_usage): Document --local-dir option.
72294         (local_gnulib_dir): New variable.
72295         Handle --local-dir option.
72296         (func_lookup_file): New function.
72297         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
72298         (func_get_description, func_get_filelist, func_get_description,
72299         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
72300         func_get_automake_snippet, func_get_include_directive,
72301         func_get_license, func_get_maintainer): Use func_lookup_file.
72302         (func_import, func_create_testdir): Use func_lookup_file.
72303
72304 2006-07-29  Bruno Haible  <bruno@clisp.org>
72305
72306         * modules/setenv (Depends-on): Add unistd.
72307
72308 2006-07-29  Bruno Haible  <bruno@clisp.org>
72309
72310         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
72311
72312 2006-07-29  Bruno Haible  <bruno@clisp.org>
72313
72314         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
72315
72316 2006-07-29  Bruno Haible  <bruno@clisp.org>
72317
72318         * gnulib-tool (import, update): If there is no Makefile.am, look at
72319         aclocal.m4, instead of bailing out.
72320
72321 2006-07-29  Bruno Haible  <bruno@clisp.org>
72322
72323         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
72324         Categorize the options by when they are useful.
72325
72326 2006-07-29  Bruno Haible  <bruno@clisp.org>
72327
72328         * gnulib-tool (func_usage): Document option --no-libtool.
72329         Handle option --no-libtool.
72330         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
72331         for changed semantics of $libtool variable.
72332         (func_import): Likewise. If libtool is not used, show this through
72333         an option --no-libtool.
72334         (func_create_testdir): Update.
72335
72336 2006-07-29  Bruno Haible  <bruno@clisp.org>
72337
72338         * gnulib-tool (func_import): Extend error message about missing
72339         --doc-base.
72340
72341 2006-07-29  Bruno Haible  <bruno@clisp.org>
72342
72343         * gnulib-tool (func_import): Don't create the $docbase directory if
72344         there is no file to store there.
72345
72346 2006-07-29  Bruno Haible  <bruno@clisp.org>
72347
72348         * gnulib-tool (autoconf_minversion): If a --dir option is given and
72349         relevant, look for configure.ac there, not in the current directory.
72350         Also use a simple search for AC_PREREQ, not "autoconf --trace".
72351
72352 2006-07-29  Bruno Haible  <bruno@clisp.org>
72353
72354         * gnulib-tool (SORT): New variable.
72355         (func_usage): Undocument --assume-autoconf option.
72356         Remove --assume-autoconf option handling.
72357         (autoconf_minversion): Determine from the contents of configure.ac.
72358         (func_import): Remove autoconf_minversion handling.
72359         Suggested by Eric Blake.
72360
72361 2006-07-29  Bruno Haible  <bruno@clisp.org>
72362
72363         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
72364
72365 2006-07-29  Bruno Haible  <bruno@clisp.org>
72366
72367         * config/srclist.txt (*setenv.[ch]): Remove rules.
72368
72369 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72370
72371         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
72372
72373 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72374
72375         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
72376         arpa/inet.h.
72377
72378 2006-07-28  Simon Josefsson  <jas@extundo.com>
72379
72380         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
72381         * modules/inet_pton (Depends-on): Likewise.
72382
72383 2006-07-28  Simon Josefsson  <jas@extundo.com>
72384
72385         * m4/netinet_in_h.m4: New file.
72386
72387 2006-07-28  Simon Josefsson  <jas@extundo.com>
72388
72389         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
72390         #include's.
72391
72392 2006-07-28  Simon Josefsson  <jas@extundo.com>
72393
72394         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
72395         #include's.
72396
72397 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
72398
72399         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
72400         setgid on directories only if they set these bits.
72401         * lib/modechange.h: Remove obsolete comment about masks.
72402
72403 2006-07-28  Eric Blake  <ebb9@byu.net>
72404
72405         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
72406         macro expansion.
72407
72408 2006-07-28  Bruno Haible  <bruno@clisp.org>
72409
72410         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
72411
72412 2006-07-28  Bruno Haible  <bruno@clisp.org>
72413
72414         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
72415
72416 2006-07-28  Bruno Haible  <bruno@clisp.org>
72417
72418         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
72419         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
72420         Define fallbacks.
72421         Avoids link error on FreeBSD 4.x.
72422         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72423
72424         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
72425         encoding.
72426         * lib/mbswidth.c (iswcntrl): Likewise.
72427
72428 2006-07-27  Bruno Haible  <bruno@clisp.org>
72429
72430         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
72431         test.
72432
72433 2006-07-27  Bruno Haible  <bruno@clisp.org>
72434
72435         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
72436         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
72437         defined.
72438
72439 2006-07-26  Eric Blake  <ebb9@byu.net>
72440
72441         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
72442
72443 2006-07-26  Eric Blake  <ebb9@byu.net>
72444
72445         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
72446         like mingw that lack mkstemp.
72447         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
72448         avoid compilation warning on mingw.
72449
72450 2006-07-26  Bruno Haible  <bruno@clisp.org>
72451
72452         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
72453         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
72454         INT_FAST*_MIN, INTPTR_MIN.
72455
72456 2006-07-25  Bruno Haible  <bruno@clisp.org>
72457
72458         * modules/version-etc (Depends-on): Add stdarg.
72459
72460 2006-07-25  Bruno Haible  <bruno@clisp.org>
72461
72462         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
72463         complex commands.
72464
72465 2006-07-25  Bruno Haible  <bruno@clisp.org>
72466
72467         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
72468         defined in <stdarg.h> or config.h.
72469
72470 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72471
72472         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
72473         (gl_STDIO_SAFER): Remove.
72474
72475 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
72476
72477         * MODULES.html.sh (File stream based Input/Output):
72478         Add fopen-safer, tmpfile-safer; remove stdio-safer.
72479         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
72480         * modules/fopen-safer, modules/tmpfile-safer: New files.
72481         * modules/stdio-safer: Remove.
72482
72483 2006-07-24  Bruno Haible  <bruno@clisp.org>
72484
72485         * modules/tmpdir: New file.
72486         * MODULES.html.sh (File system functions): Add it.
72487
72488 2006-07-24  Bruno Haible  <bruno@clisp.org>
72489
72490         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
72491         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
72492
72493 2006-07-24  Bruno Haible  <bruno@clisp.org>
72494
72495         * modules/clean-temp: New file.
72496
72497 2006-07-24  Bruno Haible  <bruno@clisp.org>
72498
72499         * m4/tmpdir.m4: New file, from GNU gettext.
72500
72501 2006-07-24  Bruno Haible  <bruno@clisp.org>
72502
72503         * lib/tmpdir.h: New file, from GNU gettext.
72504         * lib/tmpdir.c: New file, from GNU gettext.
72505
72506 2006-07-24  Bruno Haible  <bruno@clisp.org>
72507
72508         * lib/clean-temp.h: New file, from GNU gettext.
72509         * lib/clean-temp.c: New file, from GNU gettext.
72510
72511 2006-07-23  Eric Blake  <ebb9@byu.net>
72512
72513         * modules/stdio-safer (Files): Add tmpfile-safer.c.
72514         (Depends-on): Add binary-io.
72515
72516 2006-07-23  Eric Blake  <ebb9@byu.net>
72517
72518         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
72519
72520 2006-07-23  Eric Blake  <ebb9@byu.net>
72521
72522         * lib/tmpfile-safer.c: New file.
72523         * lib/stdio-safer.h (fopen_safer): Add prototype.
72524         * lib/stdio--.h (tmpfile): Make safer.
72525
72526 2006-07-23  Bruno Haible  <bruno@clisp.org>
72527
72528         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
72529         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
72530         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
72531         gl_linked_remove_at): Use it.
72532
72533 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72534         and Simon Josefsson <jas@extundo.com>
72535
72536         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
72537
72538         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
72539
72540 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72541
72542         * modules/close-stream: New file.
72543         * modules/closeout (Description): Make it clear that it exits
72544         with a diagnostic on error.
72545         (Depends-on): Add close-stream.  Remove fpending, stdbool.
72546         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
72547
72548 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72549
72550         * m4/close-stream.m4: New file.
72551
72552 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
72553
72554         * lib/close-stream.c, lib/close-stream.h: New files.
72555
72556 2006-07-22  Bruno Haible  <bruno@clisp.org>
72557
72558         Merge from GNU gettext 0.15.
72559
72560         2006-05-01  Bruno Haible  <bruno@clisp.org>
72561
72562                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
72563
72564         2006-07-22  Bruno Haible  <bruno@clisp.org>
72565
72566                 * modules/javaversion: New file.
72567                 * MODULES.html.sh (Java): Add javaversion.
72568
72569         2006-03-12  Bruno Haible  <bruno@clisp.org>
72570
72571                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
72572
72573         2005-12-04  Bruno Haible  <bruno@clisp.org>
72574
72575                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
72576                 (untested).
72577
72578         2006-06-21  Bruno Haible  <bruno@clisp.org>
72579
72580                 Avoid warnings from recent versions of mcs.
72581                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
72582                 -o, -L, -r any more. Use options documented since mcs-1.0
72583                 instead. Similarly for -g.
72584
72585         2005-12-04  Bruno Haible  <bruno@clisp.org>
72586
72587                 * build-aux/csharpcomp.sh.in: Suffix for resources is
72588                 .resources, not .resource.
72589
72590         2005-07-09  Bruno Haible  <bruno@clisp.org>
72591
72592                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
72593                 add a .dll suffix.
72594                 Reported by Mark Junker <mjscod@gmx.de>.
72595
72596         2006-07-22  Bruno Haible  <bruno@clisp.org>
72597
72598                 * modules/gettext: Upgrade to gettext-0.15.
72599                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
72600                 m4/visibility.m4.
72601                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
72602
72603 2006-07-22  Bruno Haible  <bruno@clisp.org>
72604
72605         Merge from GNU gettext 0.15.
72606
72607         2006-03-25  Bruno Haible  <bruno@clisp.org>
72608
72609                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
72610
72611         2006-07-21  Bruno Haible  <bruno@clisp.org>
72612
72613                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
72614                 "1.1".
72615
72616         2006-05-09  Bruno Haible  <bruno@clisp.org>
72617
72618                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
72619                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
72620                 for the conftestver execution.
72621
72622         2006-05-01  Bruno Haible  <bruno@clisp.org>
72623
72624                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
72625                 optional target-version argument. Verify that the compiler
72626                 groks source of the specified source-version, or add -source
72627                 option as necessary. Verify that the compiler produces
72628                 bytecode in the specified target-version, or add -target and
72629                 -source options as necessary. Make the result of the test
72630                 available as variable CONF_JAVAC. Also log error output in
72631                 config.log.
72632
72633         2006-03-11  Bruno Haible  <bruno@clisp.org>
72634
72635                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
72636
72637         2006-05-09  Bruno Haible  <bruno@clisp.org>
72638
72639                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
72640                 CLASSPATH_SEPARATOR to a semicolon.
72641
72642         2006-03-12  Bruno Haible  <bruno@clisp.org>
72643
72644                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
72645                 available as variable CONF_JAVA, for subsequent autoconf
72646                 tests. Also log error output in config.log.
72647
72648         2006-07-19  Bruno Haible  <bruno@clisp.org>
72649
72650                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
72651                 that getline works on glibc2 systems. Needed to avoid trouble
72652                 in relocatable.c.
72653                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
72654
72655         2005-12-04  Bruno Haible  <bruno@clisp.org>
72656
72657                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
72658                 launcher (untested).
72659
72660         2005-12-04  Bruno Haible  <bruno@clisp.org>
72661
72662                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
72663
72664         2006-07-22  Bruno Haible  <bruno@clisp.org>
72665
72666                 * gettext.m4: Update from GNU gettext-0.15.
72667                 * nls.m4: Likewise.
72668                 * po.m4: Likewise.
72669                 * inttypes-pri.m4: Likewise.
72670                 * inttypes-h.m4: Renamed from inttypes.m4.
72671                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
72672
72673 2006-07-22  Bruno Haible  <bruno@clisp.org>
72674
72675         Merge from GNU gettext 0.15.
72676
72677         2005-07-05  Bruno Haible  <bruno@clisp.org>
72678
72679                 * printf-args.c (printf_fetchargs): Work around broken
72680                 definition of wint_t on mingw.
72681
72682         2005-02-12  Bruno Haible  <bruno@clisp.org>
72683
72684                 * xallocsa.h: Add extern "C" for C++.
72685
72686         2006-05-17  Bruno Haible  <bruno@clisp.org>
72687
72688                 Cygwin portability.
72689                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
72690
72691         2006-04-30  Bruno Haible  <bruno@clisp.org>
72692
72693                 * progreloc.c: Include <mach-o/dyld.h> if available.
72694                 (find_executable): Use _NSGetExecutablePath when possible.
72695
72696         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72697
72698                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
72699                 function.
72700
72701         2005-12-29  Bruno Haible  <bruno@clisp.org>
72702
72703                 * progreloc.c (set_program_name_and_installdir): Fix
72704                 compilation error.
72705
72706         2005-12-04  Bruno Haible  <bruno@clisp.org>
72707
72708                 Cygwin portability.
72709                 * progreloc.c: Include <windows.h> also on Cygwin.
72710                 (find_executable): Add support for Cygwin.
72711                 (set_program_name_and_installdir): Handle also platforms with
72712                 nonempty EXEEXT.
72713
72714         2006-07-11  Bruno Haible  <bruno@clisp.org>
72715
72716                 * javacomp.c: Fix a comment.
72717                 Reported by Jim Meyering.
72718
72719         2006-04-30  Bruno Haible  <bruno@clisp.org>
72720
72721                 * javacomp.h (compile_java_class): Add source_version,
72722                 target_version arguments.
72723                 * javacomp.c: Rewritten to choose only a compiler that
72724                 respects the specified source_version and target_version.
72725
72726         2006-06-27  Bruno Haible  <bruno@clisp.org>
72727
72728                 Assume correct S_ISDIR macro.
72729                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
72730
72731         2006-07-22  Bruno Haible  <bruno@clisp.org>
72732
72733                 * javaversion.h: New file, from GNU gettext.
72734                 * javaversion.c: New file, from GNU gettext.
72735                 * javaversion.java: New file, from GNU gettext.
72736                 * javaversion.class: New file, from GNU gettext.
72737
72738         2006-05-17  Bruno Haible  <bruno@clisp.org>
72739
72740                 Cygwin portability.
72741                 * javaexec.c (execute_java_class): Test for jview program
72742                 also on Cygwin.
72743
72744         2006-04-09  Bruno Haible  <bruno@clisp.org>
72745
72746                 * fatal-signal.c: Don't include string.h.
72747                 (at_fatal_signal): Use a copying loop instead of memcpy.
72748
72749         2005-12-04  Bruno Haible  <bruno@clisp.org>
72750
72751                 * csharpexec.c: Add support for 'clix' launcher (untested).
72752                 (execute_csharp_using_sscli): New function.
72753                 (execute_csharp_program): Call it.
72754
72755         2006-06-21  Bruno Haible  <bruno@clisp.org>
72756
72757                 Avoid warnings from recent versions of mcs.
72758                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
72759                 -o, -L, -r any more. Use options documented since mcs-1.0
72760                 instead. Similarly for -g.
72761
72762         2005-07-09  Bruno Haible  <bruno@clisp.org>
72763
72764                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
72765                 add a .dll suffix.
72766                 Reported by Mark Junker <mjscod@gmx.de>.
72767
72768         2006-06-17  Bruno Haible  <bruno@clisp.org>
72769
72770                 * config.charset: Update for NetBSD 3.0.
72771
72772         2006-05-17  Bruno Haible  <bruno@clisp.org>
72773
72774                 Cygwin portability.
72775                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
72776
72777         2006-05-16  Bruno Haible  <bruno@clisp.org>
72778
72779                 * localcharset.c [CYGWIN]: Include <windows.h>.
72780                 (get_charset_aliases): For Cygwin, return the same CPxxx
72781                 aliases list as under WIN32.
72782                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
72783                 the environment variables. Fall back to GetACP().
72784
72785         2006-04-05  Bruno Haible  <bruno@clisp.org>
72786
72787                 * config.charset: Update Juan Manuel Guerrero's address.
72788
72789         2005-02-12  Bruno Haible  <bruno@clisp.org>
72790
72791                 * allocsa.h: Add extern "C" for C++.
72792
72793         2005-02-10  Bruno Haible  <bruno@clisp.org>
72794
72795                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
72796                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
72797
72798         2006-07-22  Bruno Haible  <bruno@clisp.org>
72799
72800                 * gettext.h: Update to GNU gettext-0.15.
72801
72802 2006-07-22  Bruno Haible  <bruno@clisp.org>
72803
72804         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
72805         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
72806         lib-prefix.m4, longdouble.m4, ssize_t.m4.
72807
72808 2006-07-21  Eric Blake  <ebb9@byu.net>
72809
72810         * modules/stdlib-safer: New file.
72811         * MODULES.html.sh (File stream based Input/Output): Add
72812         stdlib-safer.
72813
72814 2006-07-21  Eric Blake  <ebb9@byu.net>
72815
72816         * lib/stdlib-safer.h: New file from coreutils, required by
72817         stdlib--.h.
72818
72819 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
72820
72821         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
72822
72823 2006-07-20  Bruno Haible  <bruno@clisp.org>
72824
72825         * gnulib-tool: Recognize new option --assume-autoconf.
72826         (autoconf_minversion): New variable.
72827         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
72828
72829 2006-07-20  Bruno Haible  <bruno@clisp.org>
72830
72831         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
72832
72833 2006-07-19  Derek R. Price  <derek@ximbiot.com>
72834
72835         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
72836         Reindent and repaginate.
72837
72838 2006-07-19  Derek Price  <derek@ximbiot.com>
72839
72840         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
72841         Correct grammar.
72842
72843 2006-07-17  Bruno Haible  <bruno@clisp.org>
72844
72845         * modules/list: New file.
72846         * modules/array-list: New file.
72847         * modules/carray-list, modules/carray-list-tests: New files.
72848         * modules/linked-list, modules/linked-list-tests: New files.
72849         * modules/avltree-list, modules/avltree-list-tests: New files.
72850         * modules/rbtree-list, modules/rbtree-list-tests: New files.
72851         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
72852         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
72853         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
72854         * modules/oset: New file.
72855         * modules/array-oset: New file.
72856         * modules/avltree-oset, modules/avltree-oset-tests: New files.
72857         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
72858         * tests/test-carray_list.c: New file.
72859         * tests/test-linked_list.c: New file.
72860         * tests/test-avltree_list.c: New file.
72861         * tests/test-rbtree_list.c: New file.
72862         * tests/test-linkedhash_list.c: New file.
72863         * tests/test-avltreehash_list.c: New file.
72864         * tests/test-rbtreehash_list.c: New file.
72865         * tests/test-avltree_oset.c: New file.
72866         * tests/test-rbtree_oset.c: New file.
72867         * MODULES.html.sh (Container data structures): New section.
72868
72869 2006-07-17  Bruno Haible  <bruno@clisp.org>
72870
72871         * m4/gl_list.m4: New file.
72872
72873 2006-07-17  Bruno Haible  <bruno@clisp.org>
72874
72875         * lib/gl_list.h: New file.
72876         * lib/gl_list.c: New file.
72877         * lib/gl_array_list.h: New file.
72878         * lib/gl_array_list.c: New file.
72879         * lib/gl_carray_list.h: New file.
72880         * lib/gl_carray_list.c: New file.
72881         * lib/gl_linked_list.h: New file.
72882         * lib/gl_linked_list.c: New file.
72883         * lib/gl_anylinked_list1.h: New file.
72884         * lib/gl_anylinked_list2.h: New file.
72885         * lib/gl_avltree_list.h: New file.
72886         * lib/gl_avltree_list.c: New file.
72887         * lib/gl_anyavltree_list1.h: New file.
72888         * lib/gl_anyavltree_list2.h: New file.
72889         * lib/gl_rbtree_list.h: New file.
72890         * lib/gl_rbtree_list.c: New file.
72891         * lib/gl_anyrbtree_list1.h: New file.
72892         * lib/gl_anyrbtree_list2.h: New file.
72893         * lib/gl_anytree_list1.h: New file.
72894         * lib/gl_anytree_list2.h: New file.
72895         * lib/gl_linkedhash_list.h: New file.
72896         * lib/gl_linkedhash_list.c: New file.
72897         * lib/gl_anyhash_list1.h: New file.
72898         * lib/gl_anyhash_list2.h: New file.
72899         * lib/gl_avltreehash_list.h: New file.
72900         * lib/gl_avltreehash_list.c: New file.
72901         * lib/gl_rbtreehash_list.h: New file.
72902         * lib/gl_rbtreehash_list.c: New file.
72903         * lib/gl_anytreehash_list1.h: New file.
72904         * lib/gl_anytreehash_list2.h: New file.
72905
72906         * lib/gl_oset.h: New file.
72907         * lib/gl_oset.c: New file.
72908         * lib/gl_array_oset.h: New file.
72909         * lib/gl_array_oset.c: New file.
72910         * lib/gl_avltree_oset.h: New file.
72911         * lib/gl_avltree_oset.c: New file.
72912         * lib/gl_rbtree_oset.h: New file.
72913         * lib/gl_rbtree_oset.c: New file.
72914         * lib/gl_anytree_oset.h: New file.
72915
72916 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72917
72918         * m4/mkancesdirs.m4: New file.
72919         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
72920         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
72921         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
72922         it.
72923
72924 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72925
72926         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
72927         * lib/mkancesdirs.h: New files.
72928         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
72929         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
72930         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
72931         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
72932         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
72933         callers changed.  Revamp internals significantly, by not
72934         attempting to create directories that are temporarily more
72935         permissive than the final results.  Do not attempt to use
72936         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
72937         This removes some race conditions, fixes some bugs, and simplifies
72938         things.  Use new dirchownmod function to do owner and mode changes.
72939         * lib/mkdir-p.h: Likewise.
72940         * lib/modechange.c (octal_to_mode): New function.
72941         (struct mode_change): New member mentioned.
72942         (make_node_op_equals): New arg mentioned.  All callers changed.
72943         (mode_compile): Keep track of which mode bits the user has explicitly
72944         mentioned.
72945         (mode_adjust): New arg DIR, so that we implement the X op correctly.
72946         New arg PMODE_BITS, to keep track of which mode bits the user
72947         mentioned; it treats S_ISUID and S_ISGID speciall.
72948         All callers changed.
72949         * lib/modechange.h: Likewise.
72950
72951 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
72952
72953         * MODULES.html.sh: Add mkancestors.
72954         * modules/mkancesdirs: New module.
72955         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
72956         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
72957         The chdir-safer and afs files are now orphans; I'll remove them
72958         unless someone speaks up.
72959         Add lib/dirchownmod.c, lib/dirchownmod.h.
72960         (Depends-on): Remove alloca, chown, save-cwd, dirname.
72961         Add lchown, mkancesdirs.
72962         (Maintainer): Add self.
72963
72964 2006-07-15  Karl Berry  <karl@gnu.org>
72965
72966         * gnulib-tool: help message wording/arrangement.
72967
72968 2006-07-14  Simon Josefsson  <jas@extundo.com>
72969
72970         * doc/gnulib.texi (Libtool and Windows): New section.
72971
72972 2006-07-12  Simon Josefsson  <jas@extundo.com>
72973
72974         * modules/gendocs (License): Fix license, approved by Karl.
72975
72976 2006-07-12  Eric Blake  <ebb9@byu.net>
72977
72978         * MODULES.html.sh: Add gendocs.
72979
72980 2006-07-11  Eric Blake  <ebb9@byu.net>
72981
72982         * modules/fdl: New module, to install doc/fdl.texi.
72983         * MODULES.html.sh: Add new section for documentation modules.
72984         * gnulib-tool: Avoid space-tab.
72985         (--doc-base): New option, to manage files from doc.
72986
72987 2006-07-11  Eric Blake  <ebb9@byu.net>
72988
72989         * m4/absolute-header.m4: Fix comments to match recent change.
72990
72991 2006-07-11  Eric Blake  <ebb9@byu.net>
72992
72993         * gnulib-tool: List --doc-base before --tests-base.
72994
72995 2006-07-11  Derek R. Price  <derek@ximbiot.com>
72996
72997         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
72998
72999 2006-07-11  Bruno Haible  <bruno@clisp.org>
73000
73001         * README: Mention where to put documentation.
73002
73003 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73004
73005         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
73006
73007 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73008
73009         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
73010         to stdint.m4.
73011
73012 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
73013
73014         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
73015         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
73016         "no/such/file/stdint.h" when there is no such file, so that
73017         the resulting C code can be parsed by dodgy compilers.
73018         Problems reported by Bob Proulx.
73019
73020 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73021
73022         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
73023         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73024         macros into the GNU _D_EXACT_NAMLEN.
73025         * lib/savedir.c:  Likewise.
73026         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
73027
73028 2006-07-10  Derek R. Price  <derek@ximbiot.com>
73029         and Paul Eggert  <eggert@cs.ucla.edu>
73030
73031         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
73032         * m4/savedir.m4:
73033         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
73034         macros into the GNU _D_EXACT_NAMLEN.
73035
73036 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73037
73038         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
73039         around the absolute name, to work around a problem with the HP-UX
73040         11.23 native C compiler, reported by Bob Proulx.
73041
73042 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73043
73044         * doc/maintain.texi, make-stds.texi: Sync from
73045         <http://savannah.gnu.org/projects/gnustandards>.
73046
73047 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73048
73049         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
73050
73051 2006-07-09  Jim Meyering  <jim@meyering.net>
73052
73053         * m4/glob.m4: Remove a doubled word in a comment.
73054
73055 2006-07-09  Jim Meyering  <jim@meyering.net>
73056
73057         * lib/argp-pv.c: Remove a doubled word in a comment.
73058         * lib/check-version.c (check_version): Likewise.
73059         * lib/javacomp.c (compile_java_class): Likewise.
73060
73061 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
73062
73063         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
73064         for the benefit of people using Autoconf 2.60.  If you want to
73065         support older Autoconf versions you can copy m4/onceonly_2_57.m4
73066         (or m4/onceonly.m4, if pre-2.57) manually.
73067
73068 2006-07-08  Jim Meyering  <jim@meyering.net>
73069
73070         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
73071         comment.
73072         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
73073         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
73074         comment.
73075
73076 2006-07-08  Jim Meyering  <jim@meyering.net>
73077
73078         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
73079
73080 2006-07-07  Simon Josefsson  <jas@extundo.com>
73081
73082         * tests/test-crc.c: Change expected crc value, the test vector
73083         were probably computed using the old broken crc.c?
73084
73085 2006-07-06  Simon Josefsson  <jas@extundo.com>
73086
73087         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
73088         now the canonical place for the M4 file).
73089
73090         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
73091         from the sys_socket dependency now.
73092
73093         * modules/inet_pton (Files): Ditto.
73094
73095         * modules/inet_ntop (Files): Ditto.
73096
73097 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
73098
73099         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
73100         not gl_PREREQ_GETUSERSHELL.
73101
73102 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73103
73104         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
73105         with only one argument, for Autoconf 2.60.
73106         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
73107         expand to nothing, so add a shell command to avoid syntax error.
73108         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
73109
73110 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73111
73112         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
73113
73114 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73115
73116         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
73117         no longer needed.  Check for isblank decl.
73118         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
73119         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
73120         of existence.
73121
73122 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73123
73124         * lib/getloadavg.c: Use __VMS, not VMS.
73125         * lib/getopt.c: Likewise.
73126         * lib/getpagesize.h: Likewise.
73127         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
73128         and probably does not work.
73129
73130 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
73131
73132         * lib/.cppi-disable: Add wcwidth.
73133         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
73134         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
73135         (ISGRAPH): Remove.  All uses changed to isgraph.
73136         (FOLD) [!defined _LIBC]: Remove special case.
73137         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
73138         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
73139         HAVE_ISBLANK.
73140         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
73141         case.
73142
73143 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73144
73145         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
73146         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
73147         brackets.  Other minor changes to suppress some compiler
73148         warnings.
73149
73150 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73151         and Paul Eggert  <eggert@cs.ucla.edu>
73152
73153         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
73154         of invoking obsolescent AC_HEADER_DIRENT macro.
73155         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
73156         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
73157         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
73158         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73159         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
73160         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73161         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
73162         * m4/readdir.m4: Remove; no longer needed.
73163
73164 2006-07-06  Derek R. Price  <derek@ximbiot.com>
73165         and Paul Eggert  <eggert@cs.ucla.edu>
73166
73167         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
73168         Don't worry about this obsolete case any more.
73169         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
73170         directories.
73171         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
73172         worry about this obsolete case any more.
73173         * lib/fts.c: Likewise.
73174         * lib/getcwd.c: Likewise.
73175         * lib/glob.h: Likewise.
73176         * lib/savedir.c: Likewise.
73177
73178 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73179
73180         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
73181         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
73182         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
73183         needed.
73184         All uses removed.
73185         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73186         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73187         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
73188         needed.
73189         * m4/getdate.m4 (gl_GETDATE): Likewise.
73190         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73191         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73192         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73193         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73194         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
73195         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73196         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
73197         needed.
73198
73199 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
73200
73201         * lib/memcasecmp.c: Include <limits.h>.
73202         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
73203         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
73204         Don't assume isdigit succeeds only on '0' through '9'.
73205
73206 2006-07-05  Eric Blake  <ebb9@byu.net>
73207
73208         * modules/getaddrinfo (Depends-on): Add snprintf.
73209
73210 2006-07-05  Eric Blake  <ebb9@byu.net>
73211
73212         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
73213         to avoid 'header present but could not be compiled' on cygwin.
73214
73215 2006-07-05  Eric Blake  <ebb9@byu.net>
73216
73217         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
73218         missing from netdb.h.
73219         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
73220
73221 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73222
73223         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
73224         no longer needed.
73225         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
73226         * m4/getdate.m4 (gl_GETDATE): Likewise.
73227         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
73228         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
73229         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
73230         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
73231         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73232
73233 2006-07-05  Derek R. Price  <derek@ximbiot.com>
73234
73235         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
73236         All uses of is_space replaced by isspace.
73237         * lib/exit.h: Don't talk about STDC_HEADERS.
73238         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
73239         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
73240         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
73241         replaced by isprint etc.
73242         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
73243         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73244         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
73245         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
73246         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
73247         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
73248
73249 2006-07-05  Bruno Haible  <bruno@clisp.org>
73250
73251         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
73252         the function exists, before testing against AIX.
73253         Reported by Martin Lambers <marlam@marlam.de>.
73254
73255 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73256
73257         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
73258         From Mark D. Baushke.
73259
73260 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
73261
73262         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
73263         to the absolute name, not just one, to bypass Sun C 5.8's
73264         "warning: #include of /usr/include/... may be non-portable".
73265
73266 2006-07-04  Eric Blake  <ebb9@byu.net>
73267
73268         * modules/dirname-tests: New test module.
73269         * tests/test-dirname.c: New file, replacing dirname.c
73270         TEST_DIRNAME section that was recently deleted.
73271
73272 2006-07-04  Bruno Haible  <bruno@clisp.org>
73273
73274         Assume ANSI C header files and <ctype.h> functions.
73275         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
73276         (mbsnwidth): Use isprint, iscntrl instead.
73277
73278 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73279
73280         Merge from coreutils.
73281         * MODULES.html.sh: Add xstrtold.
73282         * modules/xstrtold: New file.
73283         * modules/cycle-check (Files): Add lib/same-inode.h.
73284         * modules/dirname (Files): Add m4/double-slash-root.m4.
73285         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
73286         * modules/mkdir-p (Files): Add lib/same-inode.h.
73287         * modules/same (Files): Add lib/same-inode.h.
73288
73289 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73290
73291         * m4/absolute-header.m4: Renamed from full-header-path.m4.
73292         This is to keep the terminology clean; POSIX talks about
73293         "absolute pathnames", not "full pathnames", but the GNU
73294         Coding Standards say to use "path" for something else;
73295         so use "absolute" to keep both sides happy.
73296         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
73297         Set gl_absolute_header, not gl_full_header_path.
73298         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
73299         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
73300         All uses changed.
73301
73302         Merge from coreutils.
73303
73304         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73305
73306         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
73307         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
73308         want to require the building of c-strtod.o.
73309         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
73310         needs -lm directly.
73311         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
73312
73313         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73314
73315         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
73316         --as-needed option if available.  Problem reported by Albert Chin in
73317         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
73318         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
73319         cc merely issues a bunch of annoying warnings for --as-needed
73320         (this problem was reported by Bob Proulx).  Also, try linking with
73321         -lm to detect a bug in binutils 2.16 (this problem was reported
73322         by Ralf Wildenhues).
73323
73324         2006-06-18  Jim Meyering  <jim@meyering.net>
73325
73326         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
73327         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
73328         macro.
73329         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
73330         also check for glibc-2.4's abort-inducing bug.
73331
73332         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
73333         Low-probability clean-up should be to use rmdir to get rid of
73334         the just-created directory, not unlink.
73335
73336         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
73337         configure fail, and request a bug report to inform us about it.
73338         Add a comment that, barring reports to the contrary, in 2007 we'll
73339         assume ftruncate is universally available.
73340
73341         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73342
73343         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
73344
73345         2006-03-12  Jim Meyering  <jim@meyering.net>
73346
73347         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
73348         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
73349         * m4/same.m4 (gl_SAME): Likewise.
73350         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
73351
73352         2006-03-11  Eric Blake  <ebb9@byu.net>
73353
73354         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
73355         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
73356         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
73357         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
73358
73359 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
73360
73361         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
73362         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
73363         reported by Mark D. Baushke, one in
73364         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
73365
73366         Merge from coreutils.
73367
73368         * lib/.cppi-disable: Add stdint_.h.
73369         * lib/.cvsignore: Add stdint.h.
73370
73371         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
73372
73373         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
73374         both double and long double versions.
73375         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
73376         * lib/xstrtold.c: New file.
73377         * lib/xstrtod.h (xstrtold): New decl.
73378
73379         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
73380
73381         * lib/filemode.c (setst): Remove.
73382         (strmode): Rewrite to avoid setst.  This makes the code shorter,
73383         (arguably) clearer, and the generated code is a bit smaller on my
73384         Debian GNU/Linux stable x86 host.
73385
73386         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
73387
73388         * lib/filemode.c: Include "filemode.h" first, to test the interface.
73389         Assume that filemode.h includes sys/types.h and sys/stat.h.
73390         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
73391         (ftypelet): Reorder to put common cases first, for efficiency.
73392         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
73393         to do 'M'.
73394         (strmode): Renamed from mode_string, and now stores 12 bytes instead
73395         of 10, for compatibility with FreeBSD.  All callers changed.
73396         (filemodestring): Now stores 12 bytes instead of 10, and sets file
73397         types that can't be deduced solely from st_mode.  First arg is now a
73398         const pointer.
73399         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
73400         (strmode): Renamed from mode_string.
73401         (filemodestring): New decl.
73402         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
73403         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
73404         needed.
73405         (S_ISPORT, S_ISWHT): New macros, if not already defined.
73406
73407         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
73408
73409         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
73410         fsusage.h now does that.  Include fsusage.h first, to test interface.
73411         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
73412         at most one method (the old code could have generated decls that
73413         didn't conform to C89, not that this was ever exercised).
73414         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
73415
73416         2006-03-19  Jim Meyering  <jim@meyering.net>
73417
73418         Work even in a chroot where d_ino values for entries in "/"
73419         don't match the stat.st_ino values for the same names.
73420         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
73421         number, iterate through all entries again, using lstat instead.
73422         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
73423         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
73424
73425         * lib/getcwd.c (__getcwd): Clarify a comment.
73426         Use memcpy in place of a call to strcpy.
73427
73428         2006-03-12  Jim Meyering  <jim@meyering.net>
73429
73430         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
73431         matches that of the current directory (which we're about to chdir ".."
73432         out of), then save the dev-ino of the parent, instead.
73433
73434         * lib/same-inode.h (SAME_INODE): New file/macro.
73435         * lib/chdir-safer.c (SAME_INODE): Remove definition.
73436         Include "same-inode.h", instead.
73437         * lib/same.c: Likewise.
73438         * lib/cycle-check.h: Include "same-inode.h".
73439         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
73440         * lib/cycle-check.c (SAME_INODE): Remove definition.
73441         * lib/root-dev-ino.h: Include "same-inode.h".
73442
73443         2006-03-11  Eric Blake  <ebb9@byu.net>
73444
73445         * lib/same.c (same_name): s/base_name/last_component/
73446         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
73447         * lib/filenamecat.c (file_name_concat): Likewise.
73448
73449         2006-03-11  Eric Blake  <ebb9@byu.net>,
73450                     Paul Eggert  <eggert@cs.ucla.edu>
73451
73452         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
73453         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
73454         drive prefix.
73455         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
73456         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
73457         (last_component): New method.
73458         * lib/dirname.c (dir_len): Determine when drive letters need a
73459         subsequent slash.  Preserve // when it is special.
73460         (dir_name): Don't append dot when drive letter is absolute.
73461         [TEST_DIRNAME]: Move into a full-blown gnulib test.
73462         * lib/basename.c (base_name): New semantics - malloc the result.
73463         Preserve // when it is special.  Preserve relative files that look
73464         like drive letters.
73465         (base_len): Preserve // when it is special.
73466         (last_component): New method, similar to old base_name semantics.
73467         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
73468         base_name.  Strip redundant slashes from ///.
73469
73470 2006-07-03  Jim Meyering  <jim@meyering.net>
73471
73472         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
73473         macro is used before the first cycle_check call.
73474
73475 2006-07-03  Eric Blake  <ebb9@byu.net>
73476
73477         * modules/dirname (Depends-on): Add xstrndup.
73478
73479 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73480
73481         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
73482         test cases, so that config.log is a bit easier to follow.
73483
73484 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
73485
73486         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
73487         both are 64 bits, since this seems to be the tradition, and this
73488         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
73489         we ever run into a host that prefers long long to long in this
73490         case, we'll need another configure-time test.  Problem reported by
73491         Jim Meyering.
73492
73493 2006-07-02  Eric Blake  <ebb9@byu.net>
73494
73495         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
73496
73497 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73498
73499         * modules/inttypes (Depends-on): No longer depends on stdint.
73500         * modules/stdint (Description): Say more about assumptions.
73501         Say that the fast types might differ.  Say macros are used.
73502         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
73503         (Makefile.am): Revise list of substituted symbols to match
73504         new stdint.m4.
73505         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
73506         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
73507         * tests/test-stdint.c (verify_same_types)
73508         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
73509         the code conforms to C99/C89.
73510         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
73511         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
73512
73513 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73514
73515         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
73516         but fix a bug, by requiring at least 64 bits.
73517         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
73518         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
73519         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
73520         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
73521
73522         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
73523         changes.  Make 2.59 a prerequisite.  Check and substitute for
73524         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
73525         inttypes.h.  Do not use special include files; just use the
73526         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
73527         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
73528         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
73529         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
73530         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
73531         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
73532         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
73533         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
73534         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
73535         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
73536         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
73537         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
73538         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
73539         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
73540         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
73541         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
73542         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
73543         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
73544         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
73545         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
73546         WINT_MAX.  Check for C99 conformance more strictly, by detecting
73547         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
73548         not check for things that C99 does not require, e.g., int8_t.  If
73549         a test isn't needed unless <stdint.h> isn't working, and is
73550         unlikely to be needed for any other reason, then don't do it
73551         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
73552         size_t, since we assume C89 freestanding at least.  Do not check
73553         for sig_atomic_t, wchar_t, or wint_t, since the code now does
73554         the right thing even if the types are not defined.  Instead use:
73555         (gl_STDINT_TYPE_PROPERTIES): New macro.
73556         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
73557         testing whether <sys/types.h> clashes, as Autoconf does this for
73558         us now.  All uses removed.
73559         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
73560         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
73561         (gl_CHECK_TYPE_SAME):
73562         Remove; no longer needed.
73563         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
73564         exists, since we'll return 0 anyway in that case.
73565         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
73566
73567 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
73568
73569         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
73570         possible collision with system files.
73571         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
73572         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
73573         WCHAR_MIN and WCHAR_MAX in this case.
73574         (<stddef.h>): Do not include; no longer needed.
73575         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
73576         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
73577         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
73578         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
73579         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
73580         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
73581         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
73582         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
73583         !defined(__c99))]: Include in this case too, since it's harmless
73584         now.
73585         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
73586         dangerous to do so.
73587         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
73588         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
73589         (_STDINT_MIN, _STDINT_MAX): New macros.
73590         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
73591         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
73592         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
73593         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
73594         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
73595         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
73596         macros, not typedefs; this simplifies things quite a bit.
73597         Use long int for all types narrower than int64_t.
73598         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
73599         Define in terms of long long int or int64_t or long int,
73600         not int64_t or int32_t.  This saves some compile-time testing.
73601         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
73602         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
73603         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
73604         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
73605         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
73606         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
73607         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
73608         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
73609         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
73610         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
73611         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73612         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73613         undef any previous version and define our own version, for
73614         simplicity and consistency with the new macros for types.
73615         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
73616         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
73617         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
73618         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
73619         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
73620         @WINT_T_SUFFIX@ to keep things simple here.
73621         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
73622         Simplify by assuming typical 8/16/32/64 host, since we're
73623         already doing that elsewhere anyway.
73624         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
73625         and assume long long int is 64 bits if available.  This
73626         speeds up 'configure'.
73627
73628 2006-07-01  Eric Blake  <ebb9@byu.net>
73629
73630         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
73631         Reported by Andreas Buening.
73632
73633 2006-07-01  Eric Blake  <ebb9@byu.net>
73634
73635         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
73636
73637 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
73638
73639         * lib/getaddrinfo.c: fixed typo
73640
73641 2006-06-29  Jim Meyering  <jim@meyering.net>
73642
73643         * modules/strftime (Maintainer): Add my name, since with the
73644         FPRINTFTIME changes strftime.c has forked from glibc.
73645
73646 2006-06-29  Eric Blake  <ebb9@byu.net>
73647
73648         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
73649
73650 2006-06-29  Eric Blake  <ebb9@byu.net>
73651
73652         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
73653
73654 2006-06-29  Eric Blake  <ebb9@byu.net>
73655
73656         * lib/stat_.h: New file.
73657
73658 2006-06-29  Eric Blake  <ebb9@byu.net>
73659
73660         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
73661         unused static function.
73662
73663 2006-06-29  Eric Blake  <ebb9@byu.net>
73664
73665         * doc/functions.texi (Function Portability): Document missing lstat
73666         on mingw.
73667
73668 2006-06-29  Eric Blake  <ebb9@byu.net>
73669
73670         * MODULES.html.sh: Add sys_stat.
73671         * modules/sys_stat: New module.
73672         * modules/mkstemp (Depends-on): Add sys_stat.
73673
73674 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73675
73676         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
73677
73678 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73679
73680         * m4/c-bs-a.m4: Removed.
73681
73682 2006-06-29  Derek R. Price  <derek@ximbiot.com>
73683
73684         * lib/strftime.c: Assume strftime() exists.
73685
73686 2006-06-29  Derek Price  <derek@ximbiot.com>
73687
73688         * modules/c-bs-a: Removed - \a is C89.
73689         * MODULES.html.sh: Remove c-bs-a.
73690
73691 2006-06-29  Bruno Haible  <bruno@clisp.org>
73692
73693         * modules/wcwidth (License): Change to LGPL.
73694
73695 2006-06-28  Simon Josefsson  <jas@extundo.com>
73696
73697         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
73698         on _WIN32.
73699
73700         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
73701         getnameinfo.
73702
73703 2006-06-28  Simon Josefsson  <jas@extundo.com>
73704
73705         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
73706
73707 2006-06-28  Simon Josefsson  <jas@extundo.com>
73708
73709         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
73710         functions there.  It will succeed on Windows XP, but on Windows
73711         2000 and (presumably) earlier, it will fail, and use the internal
73712         re-implementation.
73713         (use_win32_p): New function.
73714         (getaddrinfo): Use strtoul on servname, to support numeric ports.
73715         Support AI_NUMERICSERV to disable getservbyname.
73716         (getnameinfo): New function, only supports
73717         NI_NUMERICHOST|NI_NUMERICSERV for now.
73718
73719         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
73720         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
73721         getnameinfo.
73722
73723 2006-06-28  Eric Blake  <ebb9@byu.net>
73724
73725         * modules/wcwidth: New file.
73726         * modules/mbchar (Depends-on): Add wcwidth.
73727         * modules/mbswidth (Depends-on): Add wcwidth.
73728         * MODULES.html.sh: Add wcwidth.
73729
73730 2006-06-28  Eric Blake  <ebb9@byu.net>
73731
73732         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
73733         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
73734
73735 2006-06-28  Eric Blake  <ebb9@byu.net>
73736
73737         * lib/xvasprintf.h: Fix comments.
73738
73739 2006-06-28  Eric Blake  <ebb9@byu.net>
73740
73741         * lib/mbchar.h (wcwidth): Include wcwidth.h.
73742         * lib/mbswidth.c (wcwidth): Move from here...
73743         * lib/wcwidth.h: ...to this new file.
73744
73745 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73746
73747         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
73748
73749         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
73750         it's obsolete.
73751         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
73752
73753 2006-06-28  Derek R. Price  <derek@ximbiot.com>
73754
73755         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
73756         Autoconf 2.60 says this stuff was obsolete.
73757
73758 2006-06-28  Bruno Haible  <bruno@clisp.org>
73759
73760         * modules/wcwidth (Files): Add m4/wchar_t.m4.
73761
73762 2006-06-28  Bruno Haible  <bruno@clisp.org>
73763
73764         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
73765         gt_TYPE_WCHAR_T.
73766
73767 2006-06-28  Bruno Haible  <bruno@clisp.org>
73768
73769         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
73770         declaration for wcwidth.
73771         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
73772
73773 2006-06-28  Bruno Haible  <bruno@clisp.org>
73774
73775         * lib/mkdtemp.c [MINGW]: Include <io.h>.
73776         (mkdir): Define using _mkdir.
73777
73778 2006-06-28  Bruno Haible  <bruno@clisp.org>
73779
73780         * lib/getaddrinfo.h: Fix POSIX URL.
73781         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
73782         _WIN32.
73783         (use_win32_p): Make static.
73784         (getaddrinfo): Reject service name if it is empty or does not consist
73785         solely of decimal digits, or if its value is > 65535.
73786         (getnameinfo): Remove useless casts.
73787
73788 2006-06-27  Simon Josefsson  <jas@extundo.com>
73789
73790         * modules/sys_select: New file, suggested by Bruno Haible, Paul
73791         Eggert and Martin Lambers.
73792
73793 2006-06-27  Simon Josefsson  <jas@extundo.com>
73794
73795         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
73796         Eggert and Martin Lambers.
73797
73798 2006-06-27  Bruno Haible  <bruno@clisp.org>
73799
73800         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
73801         result to 0, not to empty.
73802         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
73803
73804 2006-06-27  Bruno Haible  <bruno@clisp.org>
73805
73806         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
73807
73808 2006-06-26  Simon Josefsson  <jas@extundo.com>
73809
73810         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
73811         present.
73812
73813 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
73814
73815         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
73816         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
73817         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
73818
73819 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
73820
73821         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
73822
73823 2006-06-26  Bruno Haible  <bruno@clisp.org>
73824
73825         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
73826
73827 2006-06-26  Bruno Haible  <bruno@clisp.org>
73828
73829         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
73830
73831 2006-06-26  Bruno Haible  <bruno@clisp.org>
73832
73833         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
73834         SGI C compiler in pre-C99 mode.
73835         Suggested by Mark D. Baushke and Larry Jones.
73836
73837 2006-06-26  Bruno Haible  <bruno@clisp.org>
73838
73839         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
73840         WCHAR_MAX.
73841         Reported by Mark D. Baushke and Larry Jones.
73842
73843 2006-06-26  Bruno Haible  <bruno@clisp.org>
73844
73845         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
73846         in pre-C99 mode.
73847         Suggested by Mark D. Baushke and Larry Jones.
73848
73849 2006-06-23  Simon Josefsson  <jas@extundo.com>
73850             Bruno Haible  <bruno@clisp.org>
73851
73852         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
73853         Emit mostlyclean-local rule.
73854         (func_emit_tests_Makefile_am): Likewise.
73855         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
73856
73857 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
73858
73859         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
73860
73861 2006-06-23  Bruno Haible  <bruno@clisp.org>
73862
73863         * tests/test-stdint.c: Update to match ISO C 99 Technical
73864         Corrigendum 1.
73865
73866 2006-06-23  Bruno Haible  <bruno@clisp.org>
73867
73868         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
73869
73870 2006-06-23  Bruno Haible  <bruno@clisp.org>
73871
73872         * lib/stdint_.h: Treat IRIX like OpenBSD.
73873
73874 2006-06-23  Bruno Haible  <bruno@clisp.org>
73875
73876         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
73877         ISO C 99 Technical Corrigendum 1.
73878
73879 2006-06-22  Simon Josefsson  <jas@extundo.com>
73880
73881         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
73882         MinGW.
73883
73884 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73885
73886         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
73887         needed.  Some compiler complained about some of them.  Problem reported
73888         by Larry Jones in
73889         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
73890
73891 2006-06-21  Simon Josefsson  <jas@extundo.com>
73892
73893         * tests/test-getaddrinfo.c: New file.
73894
73895         * modules/getaddrinfo-tests: New file.
73896
73897         * MODULES.html.sh: Add inet_pton.
73898
73899         * modules/inet_pton: New file.
73900
73901 2006-06-21  Simon Josefsson  <jas@extundo.com>
73902
73903         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
73904         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
73905         of using the (limited) gnulib implementation on Windows XP.
73906
73907         * m4/inet_pton.m4: New file.
73908
73909 2006-06-21  Simon Josefsson  <jas@extundo.com>
73910
73911         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
73912         variable.
73913
73914         * lib/socket_.h: Don't define WINVER.
73915
73916         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
73917         slightly modified to work in gnulib.
73918
73919 2006-06-21  Simon Josefsson  <jas@extundo.com>
73920
73921         * doc/gnulib.texi (Windows sockets): Add.
73922
73923 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
73924
73925         * lib/read-file.c (fread_file): Start with buffer allocation of
73926         0 bytes rather than 1 byte; this simplifies the code.
73927         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
73928         code to free buffer and save/restore errno.
73929         (internal_read_file): Remove unused local.
73930
73931 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
73932
73933         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
73934         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
73935         Problem reported by Denis Excoffier in
73936         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
73937
73938 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73939
73940         * modules/sys_socket, modules/socklen: Include sys/types since
73941         FreeBSD 4.x's sys/socket.h needs it.
73942
73943 2006-06-19  Simon Josefsson  <jas@extundo.com>
73944
73945         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
73946
73947 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
73948
73949         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
73950
73951 2006-06-19  Bruno Haible  <bruno@clisp.org>
73952
73953         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
73954         and FULL_PATH_INTTYPES_H in angle brackets.
73955         Reported by Mark D. Baushke <mdb@gnu.org>.
73956
73957 2006-06-17  Eric Blake  <ebb9@byu.net>
73958
73959         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
73960         errno.
73961
73962 2006-06-17  Bruno Haible  <bruno@clisp.org>
73963
73964         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
73965         <sys/inttypes.h>.
73966
73967 2006-06-17  Bruno Haible  <bruno@clisp.org>
73968
73969         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
73970         whether errno is declared. Assume <errno.h> declares errno.
73971
73972 2006-06-17  Bruno Haible  <bruno@clisp.org>
73973
73974         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
73975
73976 2006-06-17  Bruno Haible  <bruno@clisp.org>
73977
73978         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
73979         problem on Solaris 2.5.1.
73980
73981 2006-06-16  Eric Blake  <ebb9@byu.net>
73982
73983         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
73984         * lib/unicodeio.c [!defined errno]: Likewise.
73985         * lib/strtol.c [!defined errno]: Likewise.
73986         * lib/strtod.c [!defined errno]: Likewise.
73987
73988 2006-06-15  Eric Blake  <ebb9@byu.net>
73989
73990         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
73991
73992 2006-06-15  Eric Blake  <ebb9@byu.net>
73993
73994         * config/srclist.txt (ssize_t.m4): Lose sync.
73995
73996 2006-06-15  Bruno Haible  <bruno@clisp.org>
73997
73998         * modules/stdint (Files): Include m4/full-header-path.m4,
73999         m4/size_max.m4, m4/wchar_t.m4.
74000         (Makefile.am): Many more substitutions.
74001         * modules/stdint-tests: New file.
74002         * tests/test-stdint.c: New file.
74003
74004 2006-06-15  Bruno Haible  <bruno@clisp.org>
74005
74006         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
74007         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
74008         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
74009         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
74010         gl_CHECK_TYPE_SAME): New macros.
74011
74012 2006-06-15  Bruno Haible  <bruno@clisp.org>
74013
74014         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
74015
74016 2006-06-15  Bruno Haible  <bruno@clisp.org>
74017
74018         * lib/stdint_.h: Rewritten to be fully auto-configured.
74019         Fixes bug on HP-UX/IA64.
74020
74021 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
74022
74023         * lib/getdate.y (__attribute__): Don't define if already defined.
74024         Problem reported by Larry Jones.
74025         * lib/utimens.c (__attribute__): Likewise.
74026
74027 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
74028
74029         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
74030         reported by Andreas Schwab.
74031
74032 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74033             Bruno Haible  <bruno@clisp.org>
74034
74035         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
74036         check for the declaration of strnlen and a run test that exposes the
74037         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
74038         rpl_strndup.
74039
74040 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74041             Bruno Haible  <bruno@clisp.org>
74042
74043         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
74044
74045 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74046
74047         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
74048         compile test, for Tru64 4.0D.
74049
74050 2006-05-28  Karl Berry  <karl@gnu.org>
74051
74052         * config/srclist.txt (printf-args.c): lose sync.
74053
74054 2006-05-26  Martin Lambers  <marlam@marlam.de>
74055
74056         * lib/getpass.c: Updates the test for the native W32 API, and adds
74057         missing includes, thus fixing compilation warnings.
74058
74059 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
74060
74061         * lib/exclude.c (exclude_fnmatch): New function.
74062         (excluded_file_name): Call exclude_fnmatch.
74063         * lib/exclude.h (excluded_file_name): New prototype
74064
74065 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
74066
74067         * lib/tempname.c (small_open, large_open): New macros.
74068         (__open, __open64) [!_LIBC]: Remove.
74069         (__gen_tempname): Use small_open and large_open instead of __open
74070         and __open64.  This fixes a portability bug on HP-UX 11.11i
74071         reported by Simon Wing-Tang in
74072         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
74073
74074 2006-05-24  Bruno Haible  <bruno@clisp.org>
74075
74076         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
74077         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
74078         Reported by Thorsten Maerz <torte@netztorte.de> via
74079         Aaron Stone <aaron@serendipity.cx>.
74080
74081 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74082
74083         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
74084         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
74085         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
74086         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
74087         not really conditional on the cache.
74088         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
74089
74090 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
74091
74092         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
74093         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
74094         (my_usleep): Don't mishandle maximum value.
74095
74096 2006-05-19  Jim Meyering  <jim@meyering.net>
74097
74098         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
74099
74100 2006-05-17  Bruno Haible  <bruno@clisp.org>
74101
74102         Cygwin portability.
74103         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
74104
74105 2006-05-17  Bruno Haible  <bruno@clisp.org>
74106
74107         * lib/stdint_.h: Fix recognition of Cygwin.
74108
74109 2006-05-15  Bruno Haible  <bruno@clisp.org>
74110
74111         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
74112         on libtool patch by Ralf Wildenhues.
74113
74114 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74115
74116         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
74117         test for C99 conformance; (bool) 0.5 is an integer constant
74118         expression, but (bool) -0.5 is not.  Problem reported by Fedor
74119         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
74120
74121 2006-05-11  Simon Josefsson  <jas@extundo.com>
74122
74123         * m4/xvasprintf.m4: Fix obvious typo.
74124
74125 2006-05-11  Jim Meyering  <jim@meyering.net>
74126
74127         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
74128         James Lemley.
74129
74130 2006-05-10  Simon Josefsson  <jas@extundo.com>
74131
74132         * lib/md4.c: Typo fix, update copyright years.
74133         (K1, K2): Don't use L because it turn computations into 64-bit on
74134         64-bit platforms.
74135
74136 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
74137
74138         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
74139         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
74140         unwanted sign propagation, e.g., on hosts with 64-bit int.
74141         There still are some problems with reeelly weird theoretical hosts
74142         (e.g., 33-bit int) but it's not worth worrying about now.
74143         * lib/sha1.c (rol): Likewise.
74144         (K1, K2, K3, K4): Remove unnecessary L suffix.
74145
74146 2006-05-10  Bruno Haible  <bruno@clisp.org>
74147
74148         * lib/des.c: Cast to avoid warnings.
74149
74150 2006-05-09  Bruno Haible  <bruno@clisp.org>
74151
74152         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
74153         (Depends-on): Depend also on xsize, stdarg.
74154         (configure.ac): Add gl_XVASPRINTF.
74155
74156 2006-05-09  Bruno Haible  <bruno@clisp.org>
74157
74158         * m4/xvasprintf.m4: New file.
74159
74160 2006-05-09  Bruno Haible  <bruno@clisp.org>
74161
74162         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
74163         (EOVERFLOW): Define fallback value.
74164         (xstrcat): New function.
74165         (xvasprintf): Recognize the special case of a string concatenation.
74166
74167 2006-05-08  Eric Blake  <ebb9@byu.net>
74168
74169         * gnulib-tool (func_version): Base copyright year on CVS date.
74170         (func_emit_copyright_notice): New function.
74171         (func_emit_lib_Makefile_am): Use it.
74172         (func_emit_tests_Makefile_am): Likewise.
74173         (func_import): Likewise.
74174
74175 2006-05-08  Bruno Haible  <bruno@clisp.org>
74176
74177         * modules/stdarg: New file.
74178         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
74179
74180 2006-05-08  Bruno Haible  <bruno@clisp.org>
74181
74182         * m4/stdarg.m4: New file, from GNU gettext.
74183
74184 2006-05-08  Bruno Haible  <bruno@clisp.org>
74185
74186         * config/srclist.txt (build-aux/config.rpath): different from latest
74187         release.
74188
74189 2006-05-08  Bruno Haible  <bruno@clisp.org>
74190
74191         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
74192
74193 2006-05-05  Jim Meyering  <jim@meyering.net>
74194
74195         * m4/warning.m4: New file, derived from bison's file by the same name.
74196
74197 2006-05-03  Bruno Haible  <bruno@clisp.org>
74198
74199         * lib/stdint_.h: Shorter URL.
74200         * lib/inttypes.h: Likewise.
74201
74202 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74203
74204         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
74205
74206 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74207
74208         * lib/verify.h: Document the internals better.  Most of this change
74209         was written by Bruno Haible.
74210
74211 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
74212
74213         * doc/verify.texi: New file, partly based on a proposal by
74214         Bruno Haible.
74215
74216 2006-05-02  Bruno Haible  <bruno@clisp.org>
74217
74218         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
74219         test from here...
74220         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
74221
74222 2006-04-29  Bruno Haible  <bruno@clisp.org>
74223
74224         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
74225         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
74226
74227 2006-04-29  Bruno Haible  <bruno@clisp.org>
74228
74229         * gnulib-tool: Make --update option actually work.
74230
74231 2006-04-29  Bruno Haible  <bruno@clisp.org>
74232
74233         * doc/gcd.texi: New file.
74234         * doc/gnulib.texi: Include it.
74235
74236 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
74237
74238         * lib/getdate.y (get_date): When adding relative date, start with the
74239         initial time, not with the result of the first mktime call.
74240
74241 2006-04-25  Bruno Haible  <bruno@clisp.org>
74242
74243         * gnulib-tool (func_import): Output the include directives in three
74244         blocks, sorted separately.
74245         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74246
74247 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74248
74249         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
74250         to define main with arguments, for C++.  Reported by Eric Blake.
74251         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
74252         Prefer 'int main ()' to 'int main (void)', for C++.
74253         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
74254         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
74255         for 'main', for C99 and C++.
74256
74257 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
74258
74259         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
74260         Don't assume that exit status -1 is valid.
74261         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74262         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
74263         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
74264         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
74265         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
74266         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
74267         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
74268         functions can be used without declaring them, or that you can
74269         exit with status -1.
74270         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
74271
74272 2006-04-24  Karl Berry  <karl@gnu.org>
74273
74274         * config/srclist.txt (longdouble.m4): sync lost.
74275
74276 2006-04-24  Eric Blake  <ebb9@byu.net>
74277
74278         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
74279
74280 2006-04-24  Bruno Haible  <bruno@clisp.org>
74281
74282         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
74283         poll() implementation in AIX.
74284         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74285
74286 2006-04-24  Bruno Haible  <bruno@clisp.org>
74287
74288         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
74289         assigned exactly once.
74290
74291 2006-04-23  Claudio Fontana  <claudio@gnu.org>
74292             Bruno Haible  <bruno@clisp.org>
74293
74294         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
74295         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
74296         for AM_CPPFLAGS.
74297
74298 2006-04-23  Bruno Haible  <bruno@clisp.org>
74299
74300         * modules/copy-file: Depend on unistd.
74301         * modules/execute: Likewise.
74302         * modules/fatal-signal: Likewise.
74303         * modules/findprog: Likewise.
74304         * modules/mkdtemp : Likewise.
74305         * modules/pipe: Likewise.
74306         * modules/wait-process: Likewise.
74307
74308 2006-04-23  Bruno Haible  <bruno@clisp.org>
74309
74310         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
74311         condition was already detected.
74312         Reported by Ben Pfaff <blp@cs.stanford.edu>.
74313
74314 2006-04-23  Bruno Haible  <bruno@clisp.org>
74315
74316         * lib/copy-file.c: Include <unistd.h> unconditionally.
74317         * lib/execute.c: Likewise.
74318         * lib/fatal-signal.c: Likewise.
74319         * lib/findprog.c: Likewise.
74320         * lib/mkdtemp.c: Likewise.
74321         * lib/pipe.h: Likewise.
74322         * lib/pipe.c: Likewise.
74323         * lib/wait-process.h: Likewise.
74324
74325 2006-04-23  Bruno Haible  <bruno@clisp.org>
74326
74327         * gnulib-tool (func_usage): Fix --import description. Document
74328         --update.
74329         (func_import): Create temporary file in a temporary directory, if
74330         --dry-run is specified. Silence errors from 'grep' when there are no
74331         m4 files in $m4dir.
74332         (func_create_testdir): Silence errors from 'grep' when there are no
74333         m4 files in $m4dir.
74334         Reported by Karl Berry <karl@freefriends.org>.
74335
74336 2006-04-20  Bruno Haible  <bruno@clisp.org>
74337
74338         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
74339         one argument, so that the code will be portable to Autoconf 2.60.
74340         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
74341         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74342         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
74343
74344 2006-04-19  Derek Price  <derek@ximbiot.com>
74345             Eric Blake  <ebb9@byu.net>
74346
74347         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
74348         rather than "/full/path.h".  Update comment to match.  Shorten &
74349         generalize m4_translit call via AS_TR_CPP.
74350
74351 2006-04-19  Derek Price  <derek@ximbiot.com>
74352             Eric Blake  <ebb9@byu.net>
74353
74354         * lib/inttypes.h: Correct grammar in comment.
74355
74356 2006-04-18  Derek Price  <derek@ximbiot.com>
74357             Paul Eggert  <eggert@cs.ucla.edu>
74358
74359         * modules/inttypes: New file.
74360         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
74361
74362 2006-04-18  Derek Price  <derek@ximbiot.com>
74363             Paul Eggert  <eggert@cs.ucla.edu>
74364
74365         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
74366         New files.
74367
74368 2006-04-18  Derek Price  <derek@ximbiot.com>
74369             Paul Eggert  <eggert@cs.ucla.edu>
74370
74371         * lib/inttypes.h: New file.
74372         * lib/strtoimax.c: Assume <inttypes.h>.
74373
74374 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
74375
74376         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
74377         isn't mounted.  Problem reported by Kir Kolyshkin.
74378
74379 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
74380
74381         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
74382         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
74383         Derek R. Price.
74384         * lib/regex.h (RE_DUP_MAX): Update comment to match current
74385         implementation.
74386
74387 2006-04-12  Eric Blake  <ebb9@byu.net>
74388
74389         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
74390         is now done automatically by the corresponding Autoconf macro.
74391
74392 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
74393
74394         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
74395         time_r.h.
74396
74397 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74398
74399         Merge regex changes from libc, removing some of our
74400         POSIX-conformance changes that were rejected and redoing them in a
74401         less-intrusive way.
74402
74403         * lib/regcomp.c (re_compile_internal, init_dfa):
74404         Length arg is now size_t, not Idx.  All uses changed.
74405         (peek_token): Forward decl now says internal_function.
74406         (__re_error_msgid, __re_error_msgid_idx):
74407         Now static rather than extern with attribute_hidden.
74408         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
74409         For some reason libc prefers K&R style defns for external functions.
74410         (regerror) [!defined _LIBC]: Likewise.
74411         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
74412         (seek_collating_symbol_entry, lookup_collation_sequence_value):
74413         (build_range_exp, build_collating_symbol):
74414         Use K&R-style defn.
74415         (re_compile_fastmap): Use '\0' to memset, not 0.
74416         (utf8_sb_map): Make the calculations more obvious.
74417         (init_dfa, parse_bracket_exp, build_charclass_op):
74418         Call calloc and cast result, as glibc does.
74419         (init_word_char, fetch_token, peek_token, peek_token_bracket):
74420         (build_range_exp, build_collating_symbol):
74421         Now internal functions.
74422
74423         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
74424
74425         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
74426         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
74427         Don't depend on VMS; depend on __VMS instead, for POSIX
74428         namespace cleanness.
74429         (regoff_t): Define to ssize_t, not long int.
74430
74431         Remove the REG_ macros named below.  Instead, make the old names
74432         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
74433         __USE_GNU_REGEX.
74434         (REG_BACKSLASH_ESCAPE_IN_LISTS):
74435         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
74436         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
74437         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
74438         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
74439         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
74440         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
74441         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
74442         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
74443         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
74444         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
74445         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
74446         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
74447         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
74448         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
74449         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
74450         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
74451         (REG_NREGS):
74452         Remove.  All uses replaced by the old RE_* names.
74453         (RE_BACKSLASH_ESCAPE_IN_LISTS):
74454         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
74455         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
74456         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
74457         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
74458         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
74459         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
74460         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
74461         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
74462         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
74463         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
74464         Don't bother having these macros be independent of each others'
74465         values, since they no longer exist in the POSIX name space.
74466
74467         Rename the following member names back to their old names,
74468         unless !__USE_GNU_REGEX.  All uses changed back.
74469         (buffer): Renamed from re_buffer.
74470         (allocated): Renamed from re_allocated.
74471         (used): Renamed from re_used.
74472         (syntax): Renamed from re_syntax.
74473         (fastmap): Renamed from re_fastmap.
74474         (translate): Renamed from re_translate.
74475         (can_be_null): Renamed from re_can_be_null.
74476         (regs_allocated): Renamed from re_regs_allocated.
74477         (fastmap_accurate): Renamed from re_fastmap_accurate.
74478         (no_sub): Renamed from re_no_sub.
74479         (not_bol): Renamed from re_not_bol.
74480         (not_eol): Renamed from re_not_eol.
74481         (newline_anchor): Renamed from re_newline_anchor.
74482         (num_regs): Renamed from rm_num_regs.
74483         (start): Renamed from rm_start.
74484         (end): Renamed from rm_end.
74485
74486         (free_state): Move up a bit.
74487
74488         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
74489         #define to be empty.
74490         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
74491         when that is what is intended.
74492         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
74493         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
74494         (MAX): New macro.
74495         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
74496         All uses changed back to re_malloc, etc.  It's now the caller's
74497         responsibility to check for overflow; all callers changed.
74498         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
74499         (re_x2nrealloc): Remove.
74500         (free_state): Remove decl.
74501
74502         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
74503         (re_set_registers, re_exec):
74504         Use K&R-style defn.
74505
74506         2006-01-31  Roland McGrath  <roland@redhat.com>
74507
74508         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
74509         Reported by Mike Frysinger <vapier@gentoo.org>.
74510
74511         2006-01-15  Andreas Jaeger  <aj@suse.de>
74512
74513         [BZ #1950]
74514         * lib/regex_internal.c (re_string_reconstruct): Adjust for
74515         build_wcs_upper_buffer change.
74516         (build_wcs_upper_buffer): Change return type.
74517
74518         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
74519
74520         * lib/regex_internal.h: Include <stdint.h> if available.
74521
74522         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
74523
74524         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
74525
74526         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74527
74528         * lib/regcomp.c: Adjust for changed secondary hash function.
74529
74530         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
74531
74532         * lib/regex.h: Pretty printing.
74533         Clean up namespace a bit.
74534
74535         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
74536
74537         * lib/regexec.c (update_cur_sifted_state, check_arrival,
74538         check_arrival_add_next_nodes): Avoid using uninitialized variable.
74539
74540         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
74541                     Ulrich Drepper  <drepper@redhat.com>
74542
74543         [BZ #1302]
74544         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
74545         changed.
74546         (bitset_word_t): Renamed from bitset_word.  All uses changed.
74547
74548         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
74549
74550         [BZ #281]
74551         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
74552         * lib/regcomp.c: Remove unnecessary uses of
74553         unsigned RE_TRANSLATE_TYPE.
74554         * lib/regex_internal.h: Likewise.
74555         * lib/regex_internal.c: Likewise.
74556         * lib/regexec.c: Likewise.
74557         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
74558
74559         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
74560
74561         * lib/regexec.c (find_recover_state): Remove unnecessary
74562         initialization.
74563         (transit_state_bkref): Make DFA a const pointer.
74564         (get_subexp): Likewise.
74565         (check_arrival): Likewise.
74566         (update_cur_sifted_state): Likewise.
74567         (re_search_internal): Likewise.
74568         (prune_impossible_nodes): Likewise.
74569         (acquire_init_state_context): Likewise.
74570         (proceed_next_node): Likewise.
74571         (set_regs): Likewise.
74572         (free_fail_stack_return): Likewise.
74573         (check_arrival_expand_ecl): Mark DFA parameter as const.
74574         (check_arrival_expand_ecl_sub): Likewise.
74575         (check_subexp_limits): Likewise.
74576         (sub_epsilon_src_nodes):  Likewise.
74577         (add_epsilon_src_nodes):  Likewise.
74578         (merge_state_array): Likewise.
74579         (update_regs): Likewise.
74580         (build_trtable): Likewise.
74581         (sift_states_backward): Mark MCTX parameter as const.
74582         (build_sifted_states): Likewise.
74583         (update_cur_sifted_state): Likewise.
74584         (sift_states_mkref): Likewise.
74585         (check_arrival_expand_ecl): Mark eclosure as const.
74586         (check_dst_limits_calc_pos_1): Likewise.
74587         * lib/regex_internal.h (re_match_context_t): Make dfa a const
74588         pointer.
74589
74590         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
74591
74592         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
74593         (transit_state_sb): Likewise.
74594         (transit_state_mb): Likewise.
74595         (sift_states_iter_mb): Likewise.
74596         (check_arrival_add_next_nodes): Likewise.
74597         (check_node_accept_bytes): Change first parameter to pointer-to-const.
74598         [_LIBC] (re_search_2_stub): Use mempcpy.
74599
74600         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
74601         mbrtowc for very simple UTF-8 case.
74602
74603         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
74604         a pointer-to-const.
74605         (re_acquire_state_context): Likewise.
74606         * lib/regex_internal.h: Adjust prototypes.
74607
74608         * lib/regex.c: Prevent using C++ compilers.
74609
74610         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
74611         (re_acquire_state_context): Likewise.
74612
74613 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74614
74615         * modules/regex (Depends-on): Add ssize_t.
74616
74617 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74618
74619         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
74620         translation table.
74621
74622 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
74623
74624         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
74625
74626 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
74627             Bruno Haible  <bruno@clisp.org>
74628
74629         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
74630         <sys/types.h> and <inttypes.h>.
74631
74632 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74633
74634         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
74635         `__error_t_defined', so argp.h will not typedef the former.
74636
74637 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
74638
74639         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
74640         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
74641         glibc names.  Even if glibc is changed to conform to POSIX, the
74642         traditional names will be available anyway, since regex depends on
74643         the extensions module.  Also, fix a longstanding typo in the
74644         implementation of Spencer ERE test #75 from grep 2.3.  Problems
74645         reported by Emanuele Giaquinta.  Also, change sense of cached
74646         variable, so that the message makes sense.
74647
74648 2006-03-24  Simon Josefsson  <jas@extundo.com>
74649
74650         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
74651         including some doc fixes.
74652         (base64_encode_alloc): Fix +1 bug on allocation failures.
74653
74654 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74655
74656         * lib/base64.c (base64_encode): Do not read past end of array with
74657         unsanitized input on systems with CHAR_BIT > 8.
74658
74659 2006-03-24  Eric Blake  <ebb9@byu.net>
74660
74661         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
74662
74663 2006-03-22  Karl Berry  <karl@gnu.org>
74664
74665         * config/srclist.txt (*setenv.[ch]): get from coreutils.
74666         * config/srclistvars.sh (COREUTILS): new var.
74667
74668 2006-03-17  Jim Meyering  <jim@meyering.net>
74669
74670         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
74671         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
74672
74673 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74674
74675         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
74676         no longer needs it.  Instead, check that regoff_t is as least
74677         as wide as ptrdiff_t.
74678
74679         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
74680         so that our regex.h stays compatible with the installed regex.
74681         This is helpful for installers who configure --without-included-regex.
74682         Problem reported by Emanuele Giaquinta.
74683
74684 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
74685
74686         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
74687         Typedef to long int, not to off_, as POSIX will likely change
74688         in that direction.
74689
74690 2006-03-15  Eric Blake  <ebb9@byu.net>
74691
74692         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
74693
74694 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
74695
74696         * lib/argp-help.c (validate_uparams): Fix typo
74697         * lib/argp-parse.c (argp_default_options): Consistently begin help
74698         messages with a lowercase letter.
74699
74700 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
74701
74702         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
74703         overrun buffers and shouldn't be used (much as gets shouldn't be
74704         used).
74705         * lib/time_r.c (asctime_r, ctime_r): Likewise.
74706
74707 2006-03-08  Simon Josefsson  <jas@extundo.com>
74708
74709         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
74710         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74711
74712 2006-03-08  Simon Josefsson  <jas@extundo.com>
74713
74714         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
74715         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74716
74717 2006-03-08  Simon Josefsson  <jas@extundo.com>
74718
74719         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
74720         signal that configure disabled the device.
74721
74722 2006-03-08  Simon Josefsson  <jas@extundo.com>
74723
74724         * build-aux/maint.mk: Fix refresh-po, to handle no translated
74725         languages.
74726
74727 2006-03-07  Simon Josefsson  <jas@extundo.com>
74728
74729         * modules/getopt (Depends-on): Add unistd.
74730
74731         * modules/unistd: New file.
74732
74733 2006-03-07  Simon Josefsson  <jas@extundo.com>
74734
74735         * modules/gc-random: New file.
74736
74737 2006-03-07  Simon Josefsson  <jas@extundo.com>
74738
74739         * m4/unistd_h.m4: New file.
74740
74741 2006-03-07  Simon Josefsson  <jas@extundo.com>
74742
74743         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
74744         test to be side-effect free by storing the result in the cache
74745         variable gl_cv_lib_readline, and moving the assignment of
74746         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
74747         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74748
74749 2006-03-07  Simon Josefsson  <jas@extundo.com>
74750
74751         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
74752         error on missing devices (the functions will return an error).
74753
74754         * m4/gc.m4: Move random stuff to gc-random.m4
74755
74756 2006-03-07  Simon Josefsson  <jas@extundo.com>
74757
74758         * lib/unistd_.h: New file.
74759
74760 2006-03-07  Simon Josefsson  <jas@extundo.com>
74761
74762         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
74763
74764 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74765
74766         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
74767         Problem reported by Juan Manuel Guerrero.
74768
74769 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74770
74771         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
74772         the unistd module.
74773         * lib/getlogin_r.c: Likewise.
74774         * lib/getlogin_r.h: Likewise.
74775         * lib/glob.c: Likewise.
74776         * lib/pagealign_alloc.c: Likewise.
74777         * lib/unistd_.h: Remove; no longer needed.
74778
74779 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
74780
74781         * MODULES.html.sh (Support for systems lacking POSIX:2001):
74782         Add unistd.
74783         * modules/c-stack (Depends-on): Add unistd.
74784         * modules/getlogin_r: Likewise.
74785         * modules/glob: Likewise.
74786         * modules/pagealign_alloc: Likewise.
74787         * modules/unistd (Files): Remove lib/unistd_.h.
74788         (EXTRA_DIST): Remove.
74789         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
74790         need unistd_.h.
74791         (MOSTLYCLEANFILES): Remove unistd.h-t.
74792
74793 2006-03-03  Simon Josefsson  <jas@extundo.com>
74794
74795         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
74796
74797 2006-03-03  Simon Josefsson  <jas@extundo.com>
74798
74799         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
74800         libidn and bison.
74801
74802 2006-03-03  Simon Josefsson  <jas@extundo.com>
74803
74804         * build-aux/maint.mk: Add indent target.
74805
74806 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
74807
74808         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
74809         our replacement poll.h in any case, to avoid a differing
74810         declaration from a system header.  Seen on AIX.
74811
74812 2006-03-01  Simon Josefsson  <jas@extundo.com>
74813
74814         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
74815         <kasal@ucw.cz>.
74816
74817 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74818
74819         * modules/gettime (Depends-on): Add extensions module.
74820         * modules/nanosleep (Depends-on): Likewise.
74821         * modules/settime (Depends-on): Likewise.
74822
74823 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74824
74825         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
74826         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
74827         pedantically.
74828         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74829         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
74830
74831         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
74832         not "==".  Reported by Ralf Wildenhues.
74833
74834 2006-03-01  Karl Berry  <karl@gnu.org>
74835
74836         * doc/Copyright/request-*: new files, synced from gnuorg.
74837
74838 2006-03-01  Karl Berry  <karl@gnu.org>
74839
74840         * config/srclist.txt (Copyright/*): new entries.
74841
74842 2006-02-28  Simon Josefsson  <jas@extundo.com>
74843
74844         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
74845
74846 2006-02-27  Simon Josefsson  <jas@extundo.com>
74847
74848         * lib/base64.h: Indent #define's.  From Jim Meyering
74849         <jim@meyering.net>.
74850
74851 2006-02-27  Jim Meyering  <jim@meyering.net>
74852
74853         Revert the change of 2006-02-24, so these files can continue
74854         to be sync'd from gettext.
74855         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
74856         of `config.h'.
74857
74858 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
74859
74860         * modules/intprops: New file.
74861         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74862         Add intprops.
74863         * modules/getloadavg (Files): Remove lib/intprops.h.
74864         (Depends-on): Add intprops.
74865         * modules/human: Likewise.
74866         * modules/inttostr: Likewise.
74867         * modules/openat: Likewise.
74868         * modules/sig2str: Likewise.
74869         * modules/userspec: Likewise.
74870         * modules/utimecmp: Likewise.
74871         * modules/xnanosleep: Likewise.
74872         * modules/xstrtol: Likewise.
74873
74874 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
74875
74876         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
74877         * modules/lock-tests (TESTS): Use $(EXEEXT).
74878         * modules/tls-tests: Likewise.
74879         * modules/argp-tests: Likewise.
74880         (check_PROGRAMS): New var, replacing...
74881         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
74882
74883 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74884
74885         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
74886         `config.h'.
74887
74888 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
74889
74890         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
74891
74892 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74893
74894         Sync from coreutils.
74895         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
74896         gl_CHDIR_SAFER.
74897
74898 2006-02-22  Jim Meyering  <jim@meyering.net>
74899
74900         Sync from coreutils.
74901         * m4/chdir-safer.m4: New file.
74902
74903 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
74904
74905         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
74906         AT_FDCWD exceeds INT_MAX.
74907         * lib/openat.h (AT_FDCWD): Likewise.
74908
74909 2006-02-17  Eric Blake  <address@hidden>
74910
74911         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
74912
74913 2006-02-16  Simon Josefsson  <jas@extundo.com>
74914
74915         * modules/getaddrinfo (Depends-on): Add sys_socket.
74916
74917 2006-02-15  Simon Josefsson  <jas@extundo.com>
74918
74919         * build-aux/maint.mk: Add dsyntax-check rule.
74920
74921 2006-02-15  Eric Blake  <ebb9@byu.net>
74922
74923         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
74924         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
74925         'present but cannot compile' warnings on cygwin.
74926         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
74927         use ws2tcpip.h if sys/socket.h works.
74928         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
74929         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
74930
74931 2006-02-14  Simon Josefsson  <jas@extundo.com>
74932
74933         * modules/maintainer-makefile (Files): Rename.
74934
74935         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
74936         and (the local) Makefile.cfg to maint-cfg.mk.
74937
74938         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
74939         to the latter.
74940
74941         * modules/maintainer-makefile: New module.
74942
74943         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
74944         severaly stripped to make it possible to build it up from scratch
74945         with reliable tests.
74946
74947         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
74948         fixes to permit overriding the default actions when configure and
74949         makefile are not available.
74950
74951 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
74952
74953         Sync from coreutils.
74954         * modules/lstat (Depends-on): Don't depend on xalloc.
74955         (License): Change from GPL to LGPL, since this is now simply a
74956         replacement for a libc function.
74957
74958 2006-02-14  Jim Meyering  <jim@meyering.net>
74959
74960         Sync from coreutils.
74961
74962         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
74963         failure on deficient systems, and simplify gnulib lgpl dependencies.
74964         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
74965         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
74966
74967         * lib/xalloc-die.c: Remove unused definition of N_.
74968
74969 2006-02-14  Jim Meyering  <jim@meyering.net>
74970
74971         Sync from coreutils.
74972         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
74973         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
74974         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
74975         double-quote uses of that variable, to accommodate the rare case in
74976         which getmntent is available in none of the libraries checked.  This
74977         happens at least on FreeBSD 5.0.
74978
74979 2006-02-13  Simon Josefsson  <jas@extundo.com>
74980
74981         * gnulib-tool (Usage): Fix --import, from
74982         karl@freefriends.org (Karl Berry).
74983
74984 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
74985
74986         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
74987
74988 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
74989
74990         * lib/argp-namefrob.h: Restore changes accidentally lost during the
74991         "autoupdate" on 2005-12-12.
74992
74993 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
74994
74995         * modules/closeout (Depends-on): Remove atexit.
74996
74997 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
74998
74999         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
75000         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
75001
75002 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
75003
75004         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
75005         __EXTENSIONS__ if this causes compilation to fail.  Problem
75006         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
75007         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
75008
75009 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
75010
75011         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
75012         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
75013         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
75014         All uses changed.
75015
75016 2006-01-26  Simon Josefsson  <jas@extundo.com>
75017
75018         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
75019         prototype is visible on mingw32.
75020
75021         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
75022         for mingw32.
75023
75024         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
75025         mingw32).
75026
75027 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
75028
75029         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
75030         attempt to open for write; this always fails, at least on POSIX
75031         hosts.  This reinstates the 2006-01-09 change, which was
75032         inadvertently removed.
75033
75034 2006-01-26  Bruno Haible  <bruno@clisp.org>
75035
75036         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
75037         Reported by Paul Eggert.
75038
75039 2006-01-26  Bruno Haible  <bruno@clisp.org>
75040             Paul Eggert  <eggert@cs.ucla.edu>
75041
75042         * lib/stdbool_.h (_Bool)
75043         [(! (defined __cplusplus || defined __BEOS__)
75044           && !defined __GNUC__
75045           && !(defined __HP_cc || defined __xlc__
75046                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
75047                || defined __sgi))]:
75048         #define to signed char in these cases too; this simplifies
75049         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
75050         etc., separately) and makes it more conservative.
75051
75052 2006-01-25  Simon Josefsson  <jas@extundo.com>
75053
75054         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
75055         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
75056         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
75057
75058 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75059
75060         * lib/argp-namefrob.h: Bugfix. Remove stray #
75061
75062 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
75063
75064         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
75065         so that we test the test.
75066         Check for yet another HP-UX cc bug involving *bool |= bool.
75067
75068 2006-01-25  Karl Berry  <karl@gnu.org>
75069
75070         * config/srclist.txt (vasnprintf.c): sync lost.
75071
75072 2006-01-25  Jim Meyering  <jim@meyering.net>
75073
75074         Sync from the stable (b5) branch of coreutils:
75075
75076         * lib/fts.c (fts_children): Don't let close() clobber errno from
75077         failed fchdir().
75078
75079         * lib/fts.c (fts_stat): When following a symlink-to-directory,
75080         don't necessarily interpret stat-fails+lstat-succeeds as indicating
75081         a dangling symlink.  That can also happen at least for ELOOP.
75082         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
75083         FYI, this bug predates the inclusion of fts.c in coreutils.
75084
75085         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
75086         in their own block, so pre-c99 compilers don't object.
75087
75088         Avoid the double-free (first in fts_read, second in fts_close) that
75089         would occur when an `active' directory is made inaccessible (e.g.,
75090         via chmod a-x) during a traversal.
75091         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75092         before returning.  Reproduce this failure by
75093         mkdir -p a/b; cd a; chmod a-x . b
75094         Reported by Stavros Passas.
75095
75096 2006-01-25  Jim Meyering  <jim@meyering.net>
75097
75098         * lib/fileblocks.c: Remove more useless parentheses.
75099         * lib/readutmp.h: Likewise.
75100
75101 2006-01-25  Bruno Haible  <bruno@clisp.org>
75102
75103         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
75104         warnings.
75105         Reported by Paul Eggert.
75106
75107 2006-01-25  Bruno Haible  <bruno@clisp.org>
75108
75109         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
75110         rid of a trap command. For Solaris sh.
75111         Reported by Mark D. Baushke <mdb@gnu.org>.
75112
75113 2006-01-24  Simon Josefsson  <jas@extundo.com>
75114
75115         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
75116         Bruno.
75117
75118 2006-01-24  Karl Berry  <karl@gnu.org>
75119
75120         * config/srclist.txt (argp-namefrob.h): sync lost.
75121
75122 2006-01-24  Jim Meyering  <jim@meyering.net>
75123
75124         * modules/openat (Files): Add lib/intprops.h.
75125         From Mark D. Baushke.
75126
75127 2006-01-24  Jim Meyering  <jim@meyering.net>
75128
75129         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
75130         Reported by Mark D. Baushke.
75131
75132 2006-01-24  Jim Meyering  <jim@meyering.net>
75133
75134         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
75135
75136 2006-01-24  Bruno Haible  <bruno@clisp.org>
75137
75138         * modules/strnlen (Maintainer): Change from glibc to all.
75139
75140 2006-01-24  Bruno Haible  <bruno@clisp.org>
75141
75142         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
75143         Patch by Paul Eggert.
75144
75145 2006-01-24  Bruno Haible  <bruno@clisp.org>
75146
75147         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
75148         already has it.
75149         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
75150         2005-11-26.
75151
75152         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
75153         'signed char' to avoid problems with the built-in _Bool type.
75154         Reported by Paul Eggert on 2005-11-26.
75155
75156 2006-01-24  Bruno Haible  <bruno@clisp.org>
75157
75158         * gnulib-tool (func_import): Avoid constructing complicated sed
75159         expressions inside backquote.
75160         Report and solution by Mark D. Baushke <mdb@gnu.org>.
75161
75162 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
75163
75164         These changes imported from libc.
75165         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
75166         test and two separate function calls.
75167         * lib/strndup.c (__strndup): Add libc_hidden_def.
75168
75169 2006-01-23  Simon Josefsson  <jas@extundo.com>
75170
75171         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
75172         Remove the test_*_SOURCES variable: automake infers it by default.
75173         * modules/tls-tests: Likewise.
75174
75175 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75176
75177         Work around porting bugs reported by Dieter in
75178         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
75179         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
75180         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
75181         Include "getopt.h" first, to check interface.
75182         (getenv): Declare only if defined HAVE_DECL_GETENV &&
75183         !HAVE_DECL_GETENV.
75184         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
75185         (__strndup): Revert to K&R-style function dfns, the glibc style.
75186         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
75187         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
75188         Include strnlen.h first, to get prototype properly.
75189         (strnlen): Renamed from __strnlen.
75190         Remove weak alias.
75191
75192 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75193
75194         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
75195
75196 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
75197
75198         * config/srclist.txt: Adjust to reflect glibc reorganization.
75199         This affects only comments.
75200
75201 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75202
75203          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
75204          Reported by Bruce Korb <bkorb@gnu.org>.
75205
75206 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
75207
75208         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
75209         to pacify gcc -Wswitch-default.
75210
75211 2006-01-22  Bruno Haible  <bruno@clisp.org>
75212
75213         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
75214         temporary buffer for sprintf, take into account the precision also
75215         for 'd', 'i', 'u', 'o', 'x', 'X'.
75216
75217 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75218
75219         * modules/argp-tests: New module
75220         * tests/test-argp.c: New file
75221         * tests/test-argp-2.sh: New file
75222
75223 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
75224
75225         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
75226         (__argp_base_name): Removed
75227         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
75228         typo.
75229         (__argp_base_name): Provide macro definition or extern declaration
75230         depending on the configuration
75231
75232 2006-01-20  Simon Josefsson  <jas@extundo.com>
75233
75234         * modules/inet_ntop (Depends-on): Depend on sys_socket.
75235
75236 2006-01-20  Simon Josefsson  <jas@extundo.com>
75237
75238         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
75239
75240 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
75241
75242         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
75243         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
75244         Suggested by Bruno Haible.
75245
75246 2006-01-20  Karl Berry  <karl@gnu.org>
75247
75248         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
75249         until changes propagate, I guess.
75250
75251 2006-01-19  Simon Josefsson  <jas@extundo.com>
75252
75253         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
75254
75255 2006-01-19  Simon Josefsson  <jas@extundo.com>
75256
75257         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
75258
75259 2006-01-19  Simon Josefsson  <jas@extundo.com>
75260
75261         * gnulib-tool: Set check_PROGRAMS.
75262
75263         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75264         modules/des-tests, modules/gc-arcfour-tests,
75265         modules/gc-arctwo-tests, modules/gc-des-tests,
75266         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75267         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75268         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75269         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75270         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75271         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
75272         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
75273         test_*_SOURCES.
75274
75275 2006-01-18  Simon Josefsson  <jas@extundo.com>
75276
75277         * modules/socklen (Depends-on): Depend on sys_socket.
75278
75279 2006-01-18  Simon Josefsson  <jas@extundo.com>
75280
75281         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
75282         modules/des-tests, modules/gc-arcfour-tests,
75283         modules/gc-arctwo-tests, modules/gc-des-tests,
75284         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
75285         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
75286         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
75287         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
75288         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
75289         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
75290         $(EXEEXT) to automake TESTS variable, for mingw32.
75291
75292 2006-01-17  Simon Josefsson  <jas@extundo.com>
75293
75294         * modules/socklen (Include): Need sys/socket.h.
75295
75296 2006-01-17  Bruno Haible  <bruno@clisp.org>
75297
75298         * modules/ssize_t (Include): Add <sys/types.h>.
75299
75300 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
75301
75302         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
75303         it's not portable and it doesn't work with cross-compiles.
75304         Problem reported by Bruno Haible.  Fix missing-$ typo in
75305         'test "gl_cv_ignore_unused_libraries" ...' that prevented
75306         -zignore from being used with Sun's C compiler.
75307
75308 2006-01-12  Simon Josefsson  <jas@extundo.com>
75309
75310         * lib/base64.c: Fix warning, reported by Bruno Haible
75311         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
75312
75313 2006-01-12  Bruno Haible  <bruno@clisp.org>
75314
75315         * modules/ldd: New file.
75316         * build-aux/ldd.sh.in: New file.
75317         * MODULES.html.sh (Support for building libraries and executables): Add
75318         ldd.
75319
75320 2006-01-12  Bruno Haible  <bruno@clisp.org>
75321
75322         * m4/ldd.m4: New file.
75323
75324 2006-01-12  Bruno Haible  <bruno@clisp.org>
75325
75326         * gnulib-tool (func_import, func_create_testdir): Don't go into an
75327         endless loop while replacing $auxdir with build-aux.
75328
75329 2006-01-11  Simon Josefsson  <jas@extundo.com>
75330
75331         * lib/stdint_.h (SIZE_MAX): Add missing (.
75332
75333 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
75334
75335         Sync from coreutils.
75336         * lib/md5.c: Fix commentary typos.
75337         (alignof, UNALIGNED_P): No need for a GCC-specific version.
75338         * lib/md5.h (__attribute__): Remove; unused.
75339         * lib/sha1.c: Fix commentary to match md5 better.
75340         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
75341         so that we don't need to worry about alignment.  All uses changed.
75342         This merges the 2005-10-28 md5 change into sha1.
75343
75344 2006-01-11  Jim Meyering  <jim@meyering.net>
75345
75346         Sync from coreutils.
75347         * lib/md5.c (OP): Fix spacing.
75348
75349 2006-01-11  Bruno Haible  <bruno@clisp.org>
75350
75351         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75352         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
75353         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
75354
75355 2006-01-11  Bruno Haible  <bruno@clisp.org>
75356
75357         Ensure automatic ordering between gl_LOCK and gl_ARGP.
75358         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
75359         the "early" section as well.
75360
75361 2006-01-11  Bruno Haible  <bruno@clisp.org>
75362
75363         Avoid "ar: no archive members specified" error on MacOS X.
75364         * gnulib-tool (func_modules_add_dummy): New function.
75365         (func_import, func_create_testdir): Invoke it.
75366
75367 2006-01-11  Bruno Haible  <bruno@clisp.org>
75368
75369         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
75370         with $auxdir in AC_CONFIG_FILES statements.
75371
75372 2006-01-11  Bruno Haible  <bruno@clisp.org>
75373
75374         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75375         Initialize also noinst_HEADERS to empty.
75376
75377 2006-01-11  Bruno Haible  <bruno@clisp.org>
75378
75379         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
75380         variables.
75381         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
75382         autoreconf.
75383
75384 2006-01-11  Bruno Haible  <bruno@clisp.org>
75385
75386         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
75387         overridable by the user.
75388         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75389
75390 2006-01-10  Simon Josefsson  <jas@extundo.com>
75391
75392         * modules/sys_socket: New file.
75393
75394 2006-01-10  Simon Josefsson  <jas@extundo.com>
75395
75396         * m4/sys_socket_h.m4: New file.
75397
75398 2006-01-10  Simon Josefsson  <jas@extundo.com>
75399
75400         * lib/socket_.h: New file.
75401
75402 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75403
75404         * modules/readutmp (Maintainer): Add myself.
75405
75406 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75407
75408         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
75409         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
75410         People who are still concerned with buggy memcmp implementations
75411         can invoke gl_FUNC_MEMCMP themselves.
75412
75413 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75414
75415         * lib/regex_internal.h (BITSET_WORD_BITS):
75416         Work around a bug in 64-bit PGC (before version 6.1-2), where the
75417         preprocessor mishandles large unsigned values as if they were signed.
75418         Problem reported by Claudio Fontana in
75419         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
75420
75421 2006-01-10  Jim Meyering  <jim@meyering.net>
75422
75423         Avoid the double-free (first in fts_read, second in fts_close) that
75424         would occur when an `active' directory is made inaccessible (e.g.,
75425         via chmod a-x) during a traversal.
75426         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
75427         before returning.  Reproduce this failure by
75428         mkdir -p a/b; cd a; chmod a-x . b
75429         Reported by Stavros Passas.
75430
75431         Sync from coreutils.
75432         * lib/sha1.c: Tweak grammar in a comment.
75433
75434 2006-01-10  Jim Meyering  <jim@meyering.net>
75435
75436         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
75437         Patch by Joerg Sonnenberger.
75438
75439 2006-01-10  Bruno Haible  <bruno@clisp.org>
75440
75441         * modules/readutmp: Depend on module free.
75442         * modules/strtok_r: Depend on module restrict.
75443
75444 2006-01-10  Bruno Haible  <bruno@clisp.org>
75445
75446         * modules/gettext (configure.ac): Add an invocation of
75447         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
75448
75449 2006-01-10  Bruno Haible  <bruno@clisp.org>
75450
75451         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
75452         Reported by Werner Lemberg <wl@gnu.org>.
75453
75454 2006-01-10  Bruno Haible  <bruno@clisp.org>
75455
75456         * lib/localcharset.c: Update from GNU gettext.
75457
75458 2006-01-10  Bruno Haible  <bruno@clisp.org>
75459
75460         * lib/argp.h (__const): Remove macro. Use const instead.
75461         * lib/argp-fmtstream.h (__const): Likewise.
75462         * lib/glob_.h (__const): Remove macro.
75463         * lib/glob-libc.h: Use const instead of __const.
75464
75465 2006-01-10  Bruno Haible  <bruno@clisp.org>
75466
75467         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
75468         variable.
75469         Needed to avoid an automake error regarding the 'gettext' module.
75470
75471 2006-01-09  Simon Josefsson  <jas@extundo.com>
75472
75473         * modules/inet_ntop (Depends-on): Add restrict.
75474
75475 2006-01-09  Simon Josefsson  <jas@extundo.com>
75476
75477         * modules/gc-rijndael-tests (License): Put under LGPL.
75478
75479         * modules/gc-des-tests (License): Likewise.
75480
75481         * modules/gc-arcfour-tests (License): Likewise.
75482
75483         * modules/gc-arctwo-tests (License): Likewise.
75484
75485         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
75486
75487         * modules/gc-hmac-sha1-tests (Files): Likewise.
75488
75489         * modules/gc-hmac-md5-tests (License): Likewise.
75490
75491         * modules/gc-sha1-tests (License): Likewise.
75492
75493         * modules/gc-md5-tests (License): Likewise.
75494
75495         * modules/gc-md4-tests (License): Likewise.
75496
75497         * modules/gc-md2-tests (License): Likewise.
75498
75499         * modules/gc-tests (License): Likewise.
75500
75501         * modules/des-tests (License): Likewise.
75502
75503         * modules/md4-tests (License): Likewise.
75504
75505         * modules/md2-tests (License): Likewise.
75506
75507 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75508
75509         Sync from coreutils:
75510
75511         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
75512         * modules/lib-ignore: New file.
75513         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
75514         chdir-safer.m4, lchmod.m4.
75515         * modules/openat: Add mkdirat.c, openat-priv.h.
75516
75517 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75518
75519         Sync from coreutils.
75520         * m4/lib-ignore.m4: New file.
75521         * m4/lchmod.m4: New file.
75522
75523 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75524
75525         Sync from coreutils.
75526         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
75527         for write access: POSIX says that must fail.
75528         * lib/fts.c (diropen): Likewise.
75529         * lib/save-cwd.c (save_cwd): Likewise.
75530         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
75531         well, for minor improvements on hosts that lack O_DIRECTORY.
75532         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
75533         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
75534         Fall back on chown if open failed with EACCES.
75535
75536         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
75537         Report an error at compile-time if only a 1-second nominal clock
75538         resolution is found.
75539
75540         * lib/lchmod.h: New file.
75541         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
75542         (make_dir_parents): Use lchown rather than chown, and
75543         lchmod rather than chmod.
75544
75545         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
75546         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
75547         "proc" reported by n0dalus.
75548
75549         * lib/mountlist.c: Include <limits.h>.
75550         (dev_from_mount_options)
75551         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
75552         New function.  It no longer assumes "dev=" has the System V meaning
75553         on Linux (since it doesn't).  It also parses "dev=" more carefully.
75554         (read_file_system_list)
75555         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
75556         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
75557         dev= in that case.
75558
75559         * lib/posixtm.h (PDS_PRE_2000): New macro.
75560         * lib/posixtm.c (year): Arg is now syntax_bits rather than
75561         allow_century.  All usages changed.  Reject dates outside the range
75562         1969-1999 if PDS_PRE_2000 is used.
75563
75564 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
75565
75566         Sync from coreutils.
75567         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
75568         (Time of day items): Mention the possibility of leap seconds.
75569         Problem reported by Dr. David Alan Gilbert.
75570
75571 2006-01-09  Jim Meyering  <jim@meyering.net>
75572
75573         Sync from coreutils.
75574
75575         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
75576
75577         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
75578
75579         * lib/modechange.c (mode_compile): Reject an invalid mode string
75580         that starts with an octal digit.  From Andreas Gruenbacher.
75581
75582         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
75583         and dup to open_safer and dup_safer, respectively.
75584         (openat_permissive): Fix typo in comment.
75585
75586         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
75587         "gettext.h"; either no longer needed or are guaranteed by openat.h.
75588         (_): Remove; no longer needed.
75589         (openat): Renamed from rpl_openat; no need for rpl_openat
75590         since openat.h renames openat for us.
75591         Replace most of the body with a call to openat_permissive,
75592         to avoid duplicate code.
75593         Port to (probably hypothetical) environments were mode_t is
75594         wider than int.
75595         (openat_permissive): Require mode arg, so that we can check
75596         types better.  Put it just after flags.  Change cwd failure
75597         indicator from pointer-to-bool to pointer-to-errno-value.
75598         All callers changed.
75599         Invoke openat_save_fail and/or openat_restore_fail if
75600         cwd_errno is null, so that openat can call us.
75601         (openat_permissive, fdopendir, fstatat, unlinkat):
75602         Simplify errno handling to avoid some duplicate code,
75603         as it's OK to set errno on success.
75604         * lib/openat.h: Revamp code so that function macros depend on
75605         __OPENAT_PREFIX only, not also on AT_FDCWD.
75606         (openat_ro): Remove.  Caller changed to use openat_permissive.
75607         (openat_permissive): Now a macro, if not a function.
75608         (openat_restore_fail, openat_save_fail): Now always functions,
75609         since mkdirat needs them even if __OPENAT_PREFIX is defined.
75610
75611         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
75612         and openat.c.
75613         * lib/mkdirat.c: Include openat-priv.h.
75614         Remove definitions of macros defined therein.
75615         * lib/openat.c: Likewise.
75616
75617         * lib/mkdirat.c (mkdirat): New file and function.
75618         * lib/openat.h (mkdirat): Declare.
75619
75620         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
75621
75622         * lib/openat.h (openat_permissive): Declare.
75623         (openat_ro): Define.
75624
75625         * lib/openat.c (EXPECTED_ERRNO): New macro.
75626         (openat_permissive): New function -- used in remove.c rewrite.
75627         (all functions): Set errno just before returning, only if there
75628         was an actual failure.
75629         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
75630
75631         Emulate openat-family functions using Linux's procfs, if possible.
75632         Idea and some code based on Ulrich Drepper's glibc changes.
75633
75634         * lib/openat.c: (BUILD_PROC_NAME): New macro.
75635         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
75636         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
75637         before falling back on save_cwd and restore_cwd.
75638         (fdopendir, fstatat, unlinkat): Likewise.
75639
75640         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
75641         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
75642
75643         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
75644         as second argument to va_arg.  Otherwise, some versions of gcc
75645         warn that `if this code is reached, the program will abort'.
75646
75647 2006-01-09  Jim Meyering  <jim@meyering.net>
75648
75649         Sync from coreutils.
75650         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
75651         Require openat-priv.h.
75652
75653 2006-01-09  Bruno Haible  <bruno@clisp.org>
75654
75655         * modules/strnlen (Include): Use strnlen.h.
75656
75657 2006-01-09  Bruno Haible  <bruno@clisp.org>
75658
75659         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
75660
75661 2006-01-09  Bruno Haible  <bruno@clisp.org>
75662
75663         * lib/sysexit_.h (EX_OK): New macro.
75664         Suggested by Martin Lambers <marlam@marlam.de>.
75665
75666 2006-01-09  Bruno Haible  <bruno@clisp.org>
75667
75668         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
75669         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
75670
75671 2006-01-09  Bruno Haible  <bruno@clisp.org>
75672
75673         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
75674         numbers.
75675
75676 2006-01-09  Bruno Haible  <bruno@clisp.org>
75677
75678         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
75679         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
75680         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
75681         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
75682
75683 2006-01-09  Bruno Haible  <bruno@clisp.org>
75684
75685         * build-aux/javacomp.sh.in: New file, moved from lib/.
75686         * modules/javacomp-script (Files): Update.
75687         (configure.ac): Add AC_CONFIG_FILES invocation.
75688         (EXTRA_DIST): Remove variable.
75689
75690         * build-aux/javaexec.sh.in: New file, moved from lib/.
75691         * modules/javaexec (Files): Update.
75692         (configure.ac): Add AC_CONFIG_FILES invocation.
75693         (EXTRA_DIST): Remove javaexec.sh.in.
75694
75695         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
75696         * modules/csharpcomp-script (Files): Update.
75697         (configure.ac): Add AC_CONFIG_FILES invocation.
75698         (EXTRA_DIST): Remove variable.
75699
75700         * build-aux/csharpexec.sh.in: New file, moved from lib/.
75701         * modules/csharpexec (Files): Update.
75702         (configure.ac): Add AC_CONFIG_FILES invocation.
75703         (EXTRA_DIST): Remove csharpexec.sh.in.
75704
75705 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75706
75707         Sync from coreutils.
75708
75709         Add POSIX ACL support
75710         * lib/acl.h (copy_acl, set_acl): Add declarations.
75711         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
75712         systems other than Linux.
75713         (chmod_or_fchmod): New function: use fchmod when possible,
75714         and chmod otherwise.
75715         (file_has_acl): Add a POSIX ACL implementation, with a
75716         Linux-specific subcase.
75717         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
75718         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
75719         acls are unsupported.
75720         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
75721         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
75722         are unsupported.
75723
75724 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
75725
75726         Sync from coreutils.
75727         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
75728
75729 2006-01-07  Bruno Haible  <bruno@clisp.org>
75730
75731         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
75732         gl_EARLY.
75733
75734 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75735
75736         * lib/strftime.c (tzname): Don't declare if it is already #defined.
75737         Problem reported for Mingw by Mark Junker.
75738
75739 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75740
75741         * README: Gnulib normally doesn't generate a tarball.
75742
75743 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
75744
75745         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
75746         long int, not int, for nanosecond counts, so that people who are
75747         used to POSIX struct timespec won't be surprised.  Reported by Jim
75748         Meyering.
75749
75750 2005-12-28  Bruno Haible  <bruno@clisp.org>
75751
75752         * build-aux/config.rpath: Update from GNU gettext.
75753
75754 2005-12-16  Jim Meyering  <jim@meyering.net>
75755
75756         * modules/fprintftime: New module.
75757         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
75758
75759 2005-12-16  Jim Meyering  <jim@meyering.net>
75760
75761         * m4/fprintftime.m4: New file.
75762
75763 2005-12-16  Jim Meyering  <jim@meyering.net>
75764
75765         * lib/fprintftime.c, lib/fprintftime.h: New files.
75766
75767 2005-12-15  Simon Josefsson  <jas@extundo.com>
75768
75769         * modules/socklen (configure.ac): Fix M4 macro name, to align with
75770         new m4/socklen.m4.
75771
75772 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75773
75774         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
75775         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
75776
75777 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75778
75779         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
75780         * lib/argp-help.c (fill_in_uparams): Check if the constructed
75781         struct uparams is valid. Fall back to the default values if it is
75782         not.
75783
75784 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75785
75786         * modules/argp (Files): Add argp-pin.c
75787         (Depends-on): dirname
75788         (lib_SOURCES): Add argp-pin.c
75789
75790 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75791
75792         * m4/argp.m4:  Check if program_invocation_name and
75793         program_invocation_short_name are declared and define appropriate
75794         macros if they are not.
75795
75796 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75797
75798         * lib/argp-help.c (__argp_base_name): New function
75799         (__argp_short_program_name): Rewrite using __argp_base_name
75800         * lib/argp-namefrob.h: Define program_invocation_name and
75801         program_invocation_short_name if requested
75802         (__argp_base_name): Add prototype
75803         * lib/argp-parse.c (argp_def): Use gettext wrappers
75804         (argp_default_parser): Use __argp_base_name
75805         * lib/argp-pin.c: New file. Defines program_invocation_name and
75806         program_invocation_short_name on systems that lack them.
75807
75808 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75809
75810         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
75811         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75812         porting problem reported by Georg Schwarz in
75813         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75814
75815 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
75816
75817         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
75818         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
75819         porting problem reported by Georg Schwarz in
75820         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
75821
75822 2005-12-05  Bruno Haible  <bruno@clisp.org>
75823
75824         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
75825         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
75826         Reported by Mark Junker <mjscod@gmx.de>.
75827
75828 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
75829
75830         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
75831         Use implementation from Albert Chin, with some
75832         comments/corrections by Stepan Kasal and myself.
75833
75834 2005-12-02  Bruno Haible  <bruno@clisp.org>
75835
75836         * gnulib-tool (func_import): Accept GPLed build tool modules when
75837         --lgpl is given.
75838         * modules/csharpcomp-script: New file.
75839         * modules/csharpcomp: Depend on it.
75840         * modules/javacomp-script: New file.
75841         * modules/javacomp: Depend on it.
75842         Suggested by Simon Josefsson.
75843
75844 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
75845
75846         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
75847         statement, to work around an HP-UX 10.20 compiler bug reported by
75848         Peter O'Gorman.
75849
75850 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75851
75852         * modules/savedir (Depends-on): Add openat.
75853
75854 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
75855
75856         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
75857         (uintmax_t) [defined uintmax_t]: Do not declare.
75858         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
75859         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
75860         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
75861         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
75862         sake of portability to weird hosts that C allows (though we don't
75863         know of any practical examples).
75864
75865         * lib/savedir.h (fdsavedir): New decl.
75866         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
75867         contains most of the former guts of savedir.
75868         (savedir): Use savedirstream.
75869         Include "openat.h".
75870
75871 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
75872
75873         * modules/obstack (Files): Add m4/ulonglong.m4.
75874         Problem reported by Davide Angelocola.
75875
75876 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
75877
75878         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
75879         coreutils no longer futzes with rounding modes.
75880
75881 2005-11-14  Jim Meyering  <jim@meyering.net>
75882
75883         * lib/mkstemp-safer.c: Include <config.h>, required for possible
75884         replacement of mkstemp.
75885
75886 2005-11-10  Simon Josefsson  <jas@extundo.com>
75887
75888         * lib/readline.c: Remove EOL.
75889
75890 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75891
75892         * modules/gethrxtime (Depends-on): Add gettime.
75893
75894 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75895
75896         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
75897         or gettimeofday; no longer needed.
75898
75899 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75900
75901         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
75902         time business.
75903         (gethrxtime) [! (HAVE_NANOUPTIME
75904         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
75905         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
75906         our own approximation.
75907
75908 2005-11-08  Eric Blake  <ebb9@byu.net>
75909
75910         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75911
75912 2005-11-08  Eric Blake  <ebb9@byu.net>
75913
75914         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
75915
75916 2005-11-04  Bruno Haible  <bruno@clisp.org>
75917
75918         * gnulib-tool: Implement --update mode.
75919
75920 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75921
75922         Fix porting problem reported by Theodoros V. Kalamatianos.
75923         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
75924         Don't assume that futimes failing means we must fail.
75925
75926 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
75927
75928         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
75929         variables to suggest the intended function of the PATH_MAX check.
75930
75931 2005-10-30  Kean Johnston  <jkj@sco.com>
75932
75933         Trivial changes to support SCO systems.
75934         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
75935         as PATH_MAX.
75936         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
75937         where __ptr is null when no I/O is pending.
75938
75939 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75940
75941         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
75942         leave errno alone.  Problem reported by Dmitry V. Levin.
75943
75944 2005-10-28  Simon Josefsson  <jas@extundo.com>
75945
75946         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
75947         Test more.
75948
75949         * tests/test-gc-md2.c, tests/test-md2.c: New files.
75950
75951         * modules/md2, modules/md2-tests: New files.
75952
75953 2005-10-28  Simon Josefsson  <jas@extundo.com>
75954
75955         * m4/inet_ntop.m4: More tests.
75956
75957         * m4/gc-md2.m4, md2.m4: New file.
75958
75959 2005-10-28  Simon Josefsson  <jas@extundo.com>
75960
75961         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
75962         "restrict" keywords, as per POSIX.  Protect the function
75963         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
75964         Don't use K&R prototypes.  Check the sprintf return values.
75965         Re-define EAFNOSUPPORT if not present.  Indent.
75966
75967         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
75968         suggested by Bruno Haible <bruno@clisp.org>.
75969
75970         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
75971
75972         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
75973
75974         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
75975         libgcrypt).
75976
75977         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
75978
75979         * lib/md2.h, lib/md2.c: New files.
75980
75981 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
75982
75983         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
75984         errno alone.  Problem reported by Frederic Jolliton.
75985
75986 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
75987
75988         * modules/verify (License): Change from GPL to LGPL.  This is a
75989         tiny module and there are apparently near-equivalents that are
75990         under the BSD license.
75991
75992 2005-10-24  Simon Josefsson  <jas@extundo.com>
75993
75994         * modules/sha1: Relicense to LGPL.
75995
75996 2005-10-24  Simon Josefsson  <jas@extundo.com>
75997
75998         * lib/md4.h: Shrink buffer size, now that we changed the type.
75999
76000 2005-10-23  Simon Josefsson  <jas@extundo.com>
76001
76002         * gnulib-tool (func_import): Fix --tests-base.
76003
76004 2005-10-22  Simon Josefsson  <jas@extundo.com>
76005
76006         * modules/arcfour (Depends-on): Need stdint.
76007
76008 2005-10-22  Simon Josefsson  <jas@extundo.com>
76009
76010         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
76011         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
76012
76013 2005-10-22  Simon Josefsson  <jas@extundo.com>
76014
76015         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
76016         suggested by Bruno Haible <bruno@clisp.org>.
76017
76018 2005-10-22  Simon Josefsson  <jas@extundo.com>
76019
76020         * lib/crc.h: Include stddef.h, for size_t.
76021
76022 2005-10-22  Simon Josefsson  <jas@extundo.com>
76023
76024         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
76025         arcfour_context struct (simplify test vector testing in GNU
76026         Shishi).
76027
76028 2005-10-21  Simon Josefsson  <jas@extundo.com>
76029
76030         * modules/des, modules/des-tests: New files.
76031
76032         * modules/gc-des, modules/gc-des-tests: New files.
76033
76034         * tests/test-des.c, tests/test-gc-des.c: New file.
76035
76036 2005-10-21  Simon Josefsson  <jas@extundo.com>
76037
76038         * modules/arctwo, modules/arctwo-tests: New files.
76039
76040         * tests/test-arctwo.c: New file.
76041
76042         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
76043
76044         * tests/test-gc-arctwo.c: New file.
76045
76046 2005-10-21  Simon Josefsson  <jas@extundo.com>
76047
76048         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
76049         Bruno Haible <bruno@clisp.org>.
76050
76051         * m4/gc-des.m4: New file.
76052
76053 2005-10-21  Simon Josefsson  <jas@extundo.com>
76054
76055         * m4/arctwo.m4: New file.
76056
76057         * m4/gc-arctwo.m4: New file.
76058
76059 2005-10-21  Simon Josefsson  <jas@extundo.com>
76060
76061         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
76062         block.
76063
76064 2005-10-21  Simon Josefsson  <jas@extundo.com>
76065
76066         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
76067         <bruno@clisp.org>.
76068
76069         * lib/hmac-sha1.c (hmac_sha1): Likewise.
76070
76071         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
76072         Bruno Haible <bruno@clisp.org>.
76073
76074         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
76075         <bruno@clisp.org>.
76076
76077 2005-10-21  Simon Josefsson  <jas@extundo.com>
76078
76079         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
76080
76081 2005-10-21  Simon Josefsson  <jas@extundo.com>
76082
76083         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
76084
76085 2005-10-21  Simon Josefsson  <jas@extundo.com>
76086
76087         * lib/des.h, lib/des.c: New files.
76088
76089         * lib/gc-gnulib.c: Support DES.c
76090
76091 2005-10-21  Simon Josefsson  <jas@extundo.com>
76092
76093         * lib/arctwo.h, lib/arctwo.c: New files.
76094
76095         * lib/gc-gnulib.c: Support ARCTWO.
76096
76097 2005-10-21  Simon Josefsson  <jas@extundo.com>
76098
76099         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
76100         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76101
76102 2005-10-21  Simon Josefsson  <jas@extundo.com>
76103
76104         * gnulib-tool (func_import, func_create_testdir): Define automake
76105         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
76106         Makefile.am snippet),
76107         suggested by Bruno Haible <bruno@clisp.org>.
76108
76109         * modules/gc (Makefile.am): Use it.
76110
76111 2005-10-21  Bruno Haible  <bruno@clisp.org>
76112
76113         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
76114         patch.
76115
76116 2005-10-19  Simon Josefsson  <jas@extundo.com>
76117
76118         * tests/test-gc-rijndael.c: New file.
76119
76120         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
76121
76122 2005-10-19  Simon Josefsson  <jas@extundo.com>
76123
76124         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
76125         interface too.
76126
76127 2005-10-19  Simon Josefsson  <jas@extundo.com>
76128
76129         * tests/test-gc-arcfour.c: New file.
76130
76131         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
76132
76133 2005-10-19  Simon Josefsson  <jas@extundo.com>
76134
76135         * modules/gc-md4, modules/gc-md4-tests: New file.
76136
76137         * tests/test-gc-md4.c: New file.
76138
76139 2005-10-19  Simon Josefsson  <jas@extundo.com>
76140
76141         * m4/gc-md4.m4: New file.
76142
76143 2005-10-19  Simon Josefsson  <jas@extundo.com>
76144
76145         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
76146         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
76147         <kasal@ucw.cz>.
76148
76149 2005-10-19  Simon Josefsson  <jas@extundo.com>
76150
76151         * m4/gc-arcfour.m4: New file.
76152
76153         * m4/gc-rijndael.m4: New file.
76154
76155 2005-10-19  Simon Josefsson  <jas@extundo.com>
76156
76157         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
76158
76159 2005-10-19  Simon Josefsson  <jas@extundo.com>
76160
76161         * lib/gc-gnulib.c: Support ARCFOUR.
76162
76163 2005-10-19  Simon Josefsson  <jas@extundo.com>
76164
76165         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
76166         support.
76167
76168         * lib/gc.h: Add ECB enum type.
76169
76170         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
76171
76172 2005-10-18  Simon Josefsson  <jas@extundo.com>
76173
76174         * tests/test-md5.c: New file.
76175
76176         * modules/md5-tests: New file.
76177
76178 2005-10-18  Simon Josefsson  <jas@extundo.com>
76179
76180         * tests/test-md4.c: New file.
76181
76182         * modules/md4, modules/md4-tests: New files.
76183
76184 2005-10-18  Simon Josefsson  <jas@extundo.com>
76185
76186         * m4/md4.m4: New file.
76187
76188 2005-10-18  Simon Josefsson  <jas@extundo.com>
76189
76190         * lib/md4.h, lib/md4.c: New files, based on md5.?.
76191
76192 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
76193
76194         * gnulib-tool (func_create_testdir): Omit the second check whether
76195         BUILT_SOURCES in nonempty.
76196
76197 2005-10-17  Simon Josefsson  <jas@extundo.com>
76198
76199         * tests/test-rijndael.c: New file.
76200
76201 2005-10-17  Simon Josefsson  <jas@extundo.com>
76202
76203         * modules/sha1: Depend on stdint instead of md5.
76204
76205         * modules/md5: Depend on stdint, remove uint32_t.
76206
76207 2005-10-17  Simon Josefsson  <jas@extundo.com>
76208
76209         * modules/gc-sha1-tests: New file.
76210
76211         * tests/test-gc-sha1.c: New file.
76212
76213 2005-10-17  Simon Josefsson  <jas@extundo.com>
76214
76215         * m4/md5.m4: Remove call to uint32_t.m4.
76216
76217 2005-10-17  Simon Josefsson  <jas@extundo.com>
76218
76219         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
76220
76221         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
76222         md5.h.
76223
76224         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
76225
76226         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
76227
76228 2005-10-17  Simon Josefsson  <jas@extundo.com>
76229
76230         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
76231
76232 2005-10-17  Simon Josefsson  <jas@extundo.com>
76233
76234         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
76235
76236 2005-10-17  Simon Josefsson  <jas@extundo.com>
76237
76238         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
76239
76240         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
76241
76242 2005-10-17  Bruno Haible  <bruno@clisp.org>
76243
76244         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
76245         that it can also be used in a test.
76246
76247 2005-10-16  Bruno Haible  <bruno@clisp.org>
76248
76249         * gnulib-tool (func_emit_tests_Makefile_am): Also define
76250         TESTS_ENVIRONMENT, so that individual tests can augment it.
76251
76252         * gnulib-tool (func_create_testdir): Use an intermediate target for
76253         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
76254         macros, like $(ALLOCA_H), which cannot be passed through the command
76255         line.
76256
76257 2005-10-15  Simon Josefsson  <jas@extundo.com>
76258
76259         * modules/rijndael-tests: New file.
76260
76261         * modules/rijndael: New file.
76262
76263 2005-10-15  Simon Josefsson  <jas@extundo.com>
76264
76265         * m4/rijndael.m4: New file.
76266
76267 2005-10-15  Simon Josefsson  <jas@extundo.com>
76268
76269         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
76270
76271         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
76272
76273 2005-10-14  Simon Josefsson  <jas@extundo.com>
76274
76275         * tests/test-arcfour.c: New file.
76276
76277         * modules/arcfour, modules/arcfour-tests: New files.
76278
76279 2005-10-14  Simon Josefsson  <jas@extundo.com>
76280
76281         * m4/arcfour.m4: New file.
76282
76283 2005-10-14  Simon Josefsson  <jas@extundo.com>
76284
76285         * lib/arcfour.h, lib/arcfour.c: New files.
76286
76287 2005-10-14  Roland McGrath  <roland@redhat.com>
76288
76289         Import from libc.  [BZ #1331]
76290         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
76291         macro argument.
76292         Reported by Matej Vela <vela@debian.org>.
76293
76294 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76295
76296         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
76297         include <wchar.h>; no longer needed.
76298
76299 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76300
76301         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
76302
76303 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
76304         and  Ulrich Drepper  <drepper@redhat.com>
76305
76306         Import from libc.
76307         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
76308         instead of inline stream orientation test and two separate
76309         function calls.  Pay no attention to USE_IN_LIBIO.
76310
76311 2005-10-13  Simon Josefsson  <jas@extundo.com>
76312
76313         * modules/gc-hmac-md5-tests: New file.
76314
76315         * tests/test-gc-hmac-sha1.c: New file.
76316
76317         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
76318
76319         * modules/gc-hmac-md5-tests: New file.
76320
76321         * tests/test-gc-md5.c: New file.
76322
76323         * modules/gc-md5-tests: New file.
76324
76325 2005-10-13  Simon Josefsson  <jas@extundo.com>
76326
76327         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
76328         Move memory allocation outside of loop.
76329
76330 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
76331
76332         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
76333         intermediate directory is in a read-only file system.  Problem
76334         reported by Eric Blake.
76335
76336 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
76337
76338         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
76339
76340 2005-10-12  Simon Josefsson  <jas@extundo.com>
76341
76342         * tests/test-hmac-sha1.c: New file.
76343
76344         * modules/hmac-sha1-tests: New file.
76345
76346         * modules/hmac-sha1: New file.
76347
76348 2005-10-12  Simon Josefsson  <jas@extundo.com>
76349
76350         * modules/gc-sha1: New file.
76351
76352 2005-10-12  Simon Josefsson  <jas@extundo.com>
76353
76354         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
76355
76356         * tests/test-gc-pbkdf2-sha1.c: New file.
76357
76358 2005-10-12  Simon Josefsson  <jas@extundo.com>
76359
76360         * modules/gc-md5, modules/gc-hmac-md5: New files.
76361
76362         * modules/gc (Files): Remove md5, memxor and hmac files.
76363
76364 2005-10-12  Simon Josefsson  <jas@extundo.com>
76365
76366         * m4/gc-pbkdf2-sha1.m4: New file.
76367
76368         * m4/gc-hmac-sha1.m4: New file.
76369
76370         * m4/gc-sha1: New file.
76371
76372         * m4/hmac-sha1.m4: New file.
76373
76374 2005-10-12  Simon Josefsson  <jas@extundo.com>
76375
76376         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
76377
76378         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
76379
76380 2005-10-12  Simon Josefsson  <jas@extundo.com>
76381
76382         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
76383         suggested by Bruno Haible <bruno@clisp.org>.
76384
76385 2005-10-12  Simon Josefsson  <jas@extundo.com>
76386
76387         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
76388
76389 2005-10-12  Simon Josefsson  <jas@extundo.com>
76390
76391         * lib/gc-pbkdf2-sha1.c: New file.
76392
76393         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
76394
76395 2005-10-12  Simon Josefsson  <jas@extundo.com>
76396
76397         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
76398
76399         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
76400
76401 2005-10-12  Simon Josefsson  <jas@extundo.com>
76402
76403         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
76404         GC_USE_HMAC_MD5, respectively.
76405
76406         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
76407         (gc_md5): Fix typo.
76408
76409         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
76410
76411         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
76412
76413         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
76414
76415 2005-10-12  Bruno Haible  <bruno@clisp.org>
76416
76417         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
76418         Reported by Stepan Kasal <kasal@ucw.cz>.
76419
76420 2005-10-11  Simon Josefsson  <jas@extundo.com>
76421
76422         * tests/test-crc.c: New file.
76423
76424         * modules/crc, modules/crc-tests: New files.
76425
76426 2005-10-11  Simon Josefsson  <jas@extundo.com>
76427
76428         * m4/crc.m4: New file.
76429
76430 2005-10-11  Simon Josefsson  <jas@extundo.com>
76431
76432         * lib/gc.h: Add gc_hash and gc_hash_buffer.
76433
76434         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
76435
76436         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
76437
76438 2005-10-11  Simon Josefsson  <jas@extundo.com>
76439
76440         * lib/crc.h, lib/crc.c: New files.
76441
76442         * lib/gc.h (gc_hash_buffer): Add doc.
76443
76444 2005-10-11  Bruno Haible  <bruno@clisp.org>
76445
76446         * modules/c-strcasestr: New file.
76447         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
76448
76449 2005-10-11  Bruno Haible  <bruno@clisp.org>
76450
76451         * modules/c-strcase: New file.
76452         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
76453
76454 2005-10-11  Bruno Haible  <bruno@clisp.org>
76455
76456         * lib/strcasecmp.c: Include limits.h.
76457         (strcasecmp): Avoid integer overflow on exotic platforms.
76458         * lib/strncasecmp.c: Include limits.h.
76459         (strncasecmp): Avoid integer overflow on exotic platforms.
76460         Reported by Paul Eggert.
76461
76462 2005-10-11  Bruno Haible  <bruno@clisp.org>
76463
76464         * lib/c-strcasestr.h: New file, from GNU gettext.
76465         * lib/c-strcasestr.c: New file, from GNU gettext.
76466
76467 2005-10-11  Bruno Haible  <bruno@clisp.org>
76468
76469         * lib/c-strcase.h: New file, from GNU gettext.
76470         * lib/c-strcasecmp.c: New file, from GNU gettext.
76471         * lib/c-strncasecmp.c: New file, from GNU gettext.
76472
76473 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76474
76475         * modules/mempcpy (License): GPL -> LGPL.
76476         * modules/strchrnul (License): Likewise.
76477         * modules/sysexits (License): Likewise.
76478
76479 2005-10-08  Simon Josefsson  <jas@extundo.com>
76480
76481         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
76482
76483 2005-10-07  Simon Josefsson  <jas@extundo.com>
76484
76485         * m4/memxor.m4: Remove gl_C_RESTRICT call.
76486
76487 2005-10-06  Simon Josefsson  <jas@extundo.com>
76488
76489         * tests/test-hmac-md5.c: New file.
76490
76491         * modules/hmac-md5-tests: New file.
76492
76493         * modules/hmac-md5: New file.
76494
76495 2005-10-06  Simon Josefsson  <jas@extundo.com>
76496
76497         * m4/hmac-md5.m4: New file.
76498
76499         * m4/memxor.m4: Require gl_C_RESTRICT.
76500
76501 2005-10-06  Simon Josefsson  <jas@extundo.com>
76502
76503         * lib/memxor.c (memxor): Avoid casts and warnings.
76504
76505 2005-10-06  Simon Josefsson  <jas@extundo.com>
76506
76507         * lib/hmac-md5.c: New file.
76508
76509         * lib/hmac.h: New file.
76510
76511 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76512
76513         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
76514         promotes to int, not unsigned int, to catch the AIX 5.3
76515         compiler bug.
76516
76517 2005-10-05  Simon Josefsson  <jas@extundo.com>
76518
76519         * modules/memxor: New file.
76520
76521         * modules/iconv (Files): Move config.rpath to havelib, it is used
76522         there.
76523
76524         * modules/havelib (Files): Add config.rpath.
76525
76526 2005-10-05  Simon Josefsson  <jas@extundo.com>
76527
76528         * m4/memxor.m4: New file.
76529
76530 2005-10-05  Simon Josefsson  <jas@extundo.com>
76531
76532         * lib/memxor.c (memxor): Fix compiler error.
76533
76534         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
76535         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
76536
76537         * lib/memxor.h, lib/memxor.c: New files.
76538
76539         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
76540         we assume all systems have it, suggested by Jim Meyering
76541         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
76542         any systems lack sys/socket.h; mingw32 is known to lack it, but we
76543         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
76544         same reasons.
76545
76546 2005-10-05  Simon Josefsson  <jas@extundo.com>
76547
76548         * config/srclist.txt: Add glibc bug 1423 for md5.h.
76549
76550 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
76551
76552         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
76553         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
76554         needed, since the source code now assumes these .h files.
76555
76556 2005-10-05  Derek Price  <derek@ximbiot.com>
76557
76558         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
76559
76560 2005-10-05  Bruno Haible  <bruno@clisp.org>
76561
76562         * modules/stdint (License): Change to LGPL.
76563
76564 2005-10-04  Simon Josefsson  <jas@extundo.com>
76565
76566         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
76567         D. Baushke" <mdb@gnu.org>.
76568
76569 2005-10-04  Bruno Haible  <bruno@clisp.org>
76570
76571         * lib/verify.h (verify_true): Provide alternative definition for C++.
76572
76573 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
76574
76575         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
76576         (SSIZE_MAX): New macro, if not already defined.
76577         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
76578         than 2 GiB.
76579
76580 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76581
76582         Sync from coreutils.
76583         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
76584         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
76585         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
76586         ULLONG_MAX doesn't work with 2.7.2.1.
76587
76588 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76589
76590         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
76591         From Ben Pfaff.
76592
76593         * modules/exclude (Depends-on): Depend on verify.
76594         * modules/strtoimax (Depends-on): Likewise.
76595         * modules/utimecmp (Depends-on): Likewise.
76596
76597 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
76598
76599         * lib/exclude.c: Include verify.h.
76600         (verify): Remove.  All callers changed to use verify.h's version.
76601         * lib/strtoimax.c: Likewise.
76602         * lib/utimecmp.c: Likewis.e
76603
76604         Sync from coreutils.
76605         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
76606         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
76607         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
76608         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
76609         bother returning ENOSYS if settimeofday or stime fails; just let
76610         them return whatever errno they want to return.
76611         * lib/utimens.c: Include unistd.h, for dup2.
76612         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
76613         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
76614
76615 2005-10-02  Jim Meyering  <jim@meyering.net>
76616
76617         Sync from coreutils.
76618         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
76619         from glibc-2.2.5 that fails for read-only files.
76620
76621 2005-10-02  Jim Meyering  <jim@meyering.net>
76622
76623         Sync from coreutils.
76624         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
76625         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
76626         `#if HAVE_CONFIG_H'.
76627         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
76628         Remove AT_FDCWD test.
76629         Do not consume the fd unless successful.
76630         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
76631         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
76632         block, so that we don't even try to compile it if settimeofday is
76633         available.  This works around a compilation failure on OSF1 V5.1,
76634         due to stime requiring a `long int*' while tv_sec is `int'.
76635
76636 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
76637
76638         Sync from coreutils.
76639         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
76640         against `yes', rather than just testing for nonempty.
76641
76642 2005-10-01  Simon Josefsson  <jas@extundo.com>
76643
76644         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
76645         and Darwin.
76646
76647         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
76648         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
76649         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
76650         freeaddrinfo and gai_strerror are declared by the POSIX headers.
76651         Check if struct addrinfo is declared.
76652
76653 2005-10-01  Simon Josefsson  <jas@extundo.com>
76654
76655         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
76656         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
76657         AI_* and EAI_* definitions.  Protect function declarations.
76658
76659 2005-10-01  Jim Meyering  <jim@meyering.net>
76660
76661         Sync from coreutils.
76662
76663         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
76664         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
76665         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
76666         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76667         in the inet and nsl libraries.  Required on Solaris 5.7.
76668
76669 2005-10-01  Jim Meyering  <jim@meyering.net>
76670
76671         Sync from coreutils.
76672         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
76673         in the inet and nsl libraries.  Required on Solaris 5.7.
76674
76675 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
76676
76677         * lib/getdelim.c (getdelim): Remove unused variables.
76678
76679 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
76680
76681         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
76682         so that the code works even with ancient cpp.  Portability problem
76683         with GCC 2.7.2.1 reported by Thomas M.Ott.
76684
76685 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
76686
76687         * modules/regex (Depends-on): Add strcase.
76688
76689         * modules/gethostname (Licence): Change from GPL to LGPL, since
76690         gethostname.c is a trivial implementation of a standard library
76691         function.
76692         * modules/poll (License): Change from GPL to LGPL, since it's
76693         derived from LGPL code.
76694
76695 2005-09-27  Jim Meyering  <jim@meyering.net>
76696
76697         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
76698         HAVE_CONFIG_H.
76699
76700         * lib/intprops.h (signed_type_or_expr__): Define.
76701         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
76702         for unsigned types.
76703
76704 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
76705
76706         * lib/verify.h (verify_expr): Remove, replacing with:
76707         (verify_true): New macro that returns true instead of void.
76708         (verify_type__): Remove.
76709         (verify): Use verify_true rather than verify_type__.
76710
76711 2005-09-26  Bruno Haible  <bruno@clisp.org>
76712
76713         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
76714         is necessary.
76715         (lib_SOURCES): Remove mbchar.c.
76716         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
76717         (Files): Add m4/mbrtowc.m4.
76718         * modules/mbiter: Likewise.
76719         * modules/mbuiter: Likewise.
76720
76721 2005-09-26  Bruno Haible  <bruno@clisp.org>
76722
76723         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
76724         compile mbchar.c if they are not both present.
76725         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
76726         * m4/mbiter.m4 (gl_MBITER): Likewise.
76727         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
76728         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
76729         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
76730
76731 2005-09-25  Jim Meyering  <jim@meyering.net>
76732
76733         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
76734         also uses socklen_t.
76735
76736 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
76737
76738         * lib/utimens.c (ENOSYS): Define if not already defined.
76739         (futimens): Support having a null PATH if the file descriptor
76740         is nonnegative.
76741
76742         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
76743         Remove.
76744         (__attribute): Define to empty unless GCC 3.1 or later.
76745         This works around a core dump on OpenBSD 3.4, which has GCC
76746         2.95.3, which dumps core when given __attribute__(()).  It also
76747         simplifies other tests, since we really don't want to bother with
76748         worrying about which ancient version of GCC supported what.
76749         Original problem reported by Yoann Vandoorselaere, with part of
76750         the fix suggested by Derek Price.
76751
76752 2005-09-24  Jim Meyering  <jim@meyering.net>
76753
76754         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
76755         so we can once again use a positive bitfield width of 1 -- now we
76756         don't have to explain why we were using a bitfield width of 2.
76757
76758 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76759
76760         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
76761         and similarly for the other external symbols.  Problem reported
76762         by James Gallager.
76763
76764         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
76765         bug reported by Jim Meyering.
76766
76767         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
76768         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
76769         not needed, since socklen is a prerequisite module.
76770
76771 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
76772
76773         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
76774         Problem reported by Eric Blake.
76775         (getaddrinfo): Initialize se so that it's not garbage.
76776         Redo internal storage allocation so that it doesn't make unportable
76777         assumptions about alignment.
76778         Fix a memory leak.
76779
76780         * lib/utimens.c (futimens): Use futimesat if available.
76781         Prefer it to futimes since it doesn't have the futimes bug.
76782
76783         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
76784         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
76785         Instead, declare a function that returns a pointer to an array,
76786         and use verify_type__ to declare the size of the array.
76787         Problem and germ of a solution reported by Bruno Haible.
76788         (verify_type__): Use 2, not 1, for bitfield size, to avoid
76789         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
76790
76791 2005-09-23  Jim Meyering  <jim@meyering.net>
76792
76793         Sync from coreutils.
76794         Correct build failure (socklen_t not defined) on at least
76795         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
76796         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
76797
76798 2005-09-23  Jim Meyering  <jim@meyering.net>
76799
76800         * modules/getaddrinfo (Depends-on): Add socklen.
76801
76802 2005-09-23  Bruno Haible  <bruno@clisp.org>
76803
76804         * tests/test-verify.c: New file.
76805
76806 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         Sync from coreutils.
76809
76810         * modules/argmatch (Depends-on): Add verify.
76811         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
76812         unistd-safer.
76813         * modules/save-cwd (Depends-on): Likewise.
76814
76815         * modules/openat (Files): Add lib/openat-die.c.
76816         (Depends-on): Remove error, exitfail.
76817         Add dirname.
76818
76819         * modules/verify: New file.
76820         * MODULES.html.sh (Diagnostics <assert.h>): New section,
76821         with "verify" module.
76822
76823 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76824
76825         Sync from coreutils.
76826
76827         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
76828         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
76829         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
76830         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
76831         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
76832         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
76833         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
76834         Don't bother checking for string.h, stdlib.h, unistd.h.
76835         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
76836         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
76837         module's job.
76838         * m4/jm-macros.m4 (gl_MACROS): Likewise.
76839         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
76840
76841         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
76842         (gl_GETDATE): Use it.
76843
76844         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
76845
76846 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76847
76848         Sync from coreutils.
76849
76850         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
76851         stat-time.h.
76852         * lib/argmatch.h: Include verify.h
76853         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
76854         (ARGMATCH_ASSERT): Remove; unused.
76855         * lib/canonicalize.c: Assume STDC_HEADERS.
76856         * lib/exclude.c: Include "strcase.h".
76857         * lib/regex_internal.h [!defined _LIBC]: Likewise.
76858         * lib/getusershell.c: Include stdio--.h rather than stdio.h
76859         and stdio-safer.h.
76860         (getusershell): Call fopen, not fopen_safer.
76861         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
76862         Do not include unistd-safer.h.
76863         (save_cwd): Don't call fd_safer; no longer needed
76864         now that we include fcntl--.h.
76865
76866         * lib/getdate.y (relative_time): New type.
76867         (RELATIVE_TIME_0): New constant.
76868         (parser_control): Use relative_time instead of doing it ourselves.
76869         (%union): Add new relative_time rel member.
76870         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
76871         Now typeless.
76872         (relunit, relunit_snumber): Now of type rel.
76873         (zone, rel, relunit, get_date): Adjust to above changes.
76874
76875         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
76876         Do not include unistd-safer.h.
76877         (getloadavg): Don't call fd_safer; no longer needed
76878         now that we include fcntl--.h.
76879
76880         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
76881         (make_dir_parents): Treat ENOSYS like EEXIST.
76882
76883         Improve quality of diagnostics on restore_cwd failure.
76884         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
76885         (make_dir_parents): Last arg is now int * (for errno), not bool *.
76886         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
76887         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
76888         each time through the loop.  Do not diagnose restore_cwd failure;
76889         that is the caller's job (and perhaps the caller does not care).
76890
76891         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
76892         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
76893         If the file already exists but is not a directory, don't bother
76894         to try to make its parents.
76895         Close potential file descriptor leak if we can't chdir("/") (!).
76896         Don't always return true if chdir($PWD) fails; return true only
76897         if the requested action was done successfully (except for the
76898         chdir($PWD)).
76899         Don't log final directory unless we actually made it.
76900         Refactor to avoid duplicate code to fix up permissions.
76901         Don't attempt to fix up parent permissions if chdir($PWD) fails.
76902
76903         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
76904         to make it a bit faster and (I hope) clearer.
76905         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
76906         Fix bug in formats like %2N.
76907
76908         * lib/verify.h: New file.
76909
76910 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
76911
76912         Sync from coreutils.
76913         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
76914
76915 2005-09-22  Jim Meyering  <jim@meyering.net>
76916
76917         Sync from coreutils.
76918
76919         * m4/lstat.m4 (gl_FUNC_LSTAT):
76920         Use AC_LIBSOURCES to require lstat.c and lstat.h.
76921         Remove obsolete comment.
76922         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
76923         * m4/xstrtod.m4: Likewise.
76924
76925         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
76926
76927 2005-09-22  Jim Meyering  <jim@meyering.net>
76928
76929         Sync from coreutils.
76930
76931         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
76932
76933         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
76934         the .tm_year member, since otherwise gcc-4.0 would now warn about
76935         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
76936
76937         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
76938         order to avoid an unsuppressible warning from gcc on 64-bit systems.
76939
76940         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
76941         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
76942         when run in a time zone for which daylight savings time is in effect
76943         for the starting date.
76944
76945         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
76946         stop us from restricting permissions of just-created absolute-named
76947         directories.
76948         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
76949         to restore initial working directory.
76950         * lib/mkdir-p.c (make_dir_parents): New parameter:
76951         different_working_dir, to tell caller if/when we change the working
76952         directory and are unable to return to the initial one.
76953         * lib/mkdir-p.h (make_dir_parents): Update prototype.
76954         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
76955         `return false'.  This fixes a bug introduced on 2004-07-30.
76956
76957         * lib/openat.c (fdopendir): Be sure to close the supplied
76958         file descriptor before returning.  This makes our replacement
76959         implementation a little closer to Solaris's, where fdopendir
76960         ties the file descriptor to the returned DIR* pointer.
76961         * lib/openat.c (unlinkat): New function.
76962         * lib/openat.h (unlinkat): Add prototype.
76963         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
76964         (openat_restore_fail): Rename from openat_restore_die.
76965         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
76966
76967         Provide an alternative to exiting immediately upon save_cwd or
76968         restore_cwd failure.  Now, an application can arrange e.g.,
76969         to perform a longjump in that case.
76970         * lib/openat.c: Include dirname.h.
76971         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
76972         (rpl_openat, fdopendir, fstatat): Call openat_save_die
76973         and openat_restore_die rather than calling error directly.
76974         Don't include "error.h" or "exitfail.h"; they're no longer needed.
76975
76976         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
76977         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
76978         define.
76979
76980         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
76981         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
76982                             int utc, int nanoseconds);
76983         Background:
76984         date should not have to allocate a megabyte of virtual memory to
76985         handle a format argument like +%1048575T.  When implemented with
76986         strftime, it must allocate such a buffer, use strftime to fill it
76987         in, print it, then free it.
76988         With fprintftime, it simply prints everything and exits.
76989         With no need for memory allocation, that's one fewer way to fail.
76990         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
76991         optional field width, not before, so we accept %9:z, not %:9z.
76992         (my_strftime): Be sure to use L_('x') for literals.
76993
76994         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
76995         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
76996         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
76997         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
76998         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
76999         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
77000         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
77001         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
77002         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
77003         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
77004         * lib/xgethostname.c, lib/xreadlink.c:
77005         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
77006
77007         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
77008         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
77009         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
77010         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
77011         and don't include <sys/file.h>).
77012
77013 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
77014
77015         Sync from coreutils.
77016
77017         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
77018         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
77019         [!LDAV_DONE]: Avoid unused variable warning.
77020
77021 2005-09-21  Bruno Haible  <bruno@clisp.org>
77022
77023         * lib/unicodeio.h (unicode_to_mb): New declaration.
77024
77025 2005-09-20  Derek Price  <derek@ximbiot.com>
77026
77027         * lib/getaddrinfo.c: Don't include <netdb.h> included from
77028         getaddrinfo.h.
77029
77030 2005-09-20  Bruno Haible  <bruno@clisp.org>
77031
77032         * gnulib-tool: Remove trailing slashes from the values specified for
77033         --source-base, --m4-base, --tests-base, --aux-dir.
77034         Suggested by Simon Josefsson <jas@extundo.com>.
77035
77036 2005-09-20  Bruno Haible  <bruno@clisp.org>
77037
77038         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
77039         func_modules_to_filelist, func_import, func_create_testdir): Make all
77040         sorting results locale-independent, so that gnulib-cache.m4 doesn't
77041         change when gnulib-tool is invoked in a different locale.
77042
77043 2005-09-19  Simon Josefsson  <jas@extundo.com>
77044
77045         * m4/socklen.m4: Fix typo.
77046
77047 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77048
77049         Use a consistent style for including <config.h>.
77050         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
77051         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
77052         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
77053         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
77054         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
77055         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
77056         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
77057         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
77058         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
77059         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
77060         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
77061         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
77062         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
77063         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
77064         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
77065         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
77066         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
77067         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
77068         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
77069         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
77070         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
77071         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
77072         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
77073         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
77074         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
77075         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
77076         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
77077         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
77078         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
77079         lib/xstrtoumax.c, lib/yesno.c:
77080         Standardize inclusion of config.h.
77081         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
77082         lib/inttostr.h:  Removed inclusion of config.h from header files.
77083         * lib/inttostr.c:  Adjusted in-tree users.
77084         * lib/timespec.h: Remove superfluous warning to include config.h.
77085         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
77086         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
77087         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
77088         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
77089         config.h with HAVE_CONFIG_H.
77090
77091 2005-09-19  Jim Meyering  <jim@meyering.net>
77092
77093         * modules/pathmax (License): Change to LGPL.
77094
77095 2005-09-19  Derek Price  <derek@ximbiot.com>
77096
77097         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
77098
77099 2005-09-19  Bruno Haible  <bruno@clisp.org>
77100
77101         * gnulib-tool (import): Provide default for --tests-base.
77102
77103 2005-09-19  Bruno Haible  <bruno@clisp.org>
77104
77105         * doc/quote.texi: New file, extracted from gnulib.texi.
77106         * doc/ctime.texi: New file, extracted from gnulib.texi.
77107         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
77108         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
77109         * doc/gnulib.texi: Include them.
77110
77111 2005-09-18  Bruno Haible  <bruno@clisp.org>
77112
77113         Portability fix.
77114         * gnulib-tool (func_readlink): New function.
77115         (func_ln_if_changed): Use it.
77116
77117 2005-09-18  Bruno Haible  <bruno@clisp.org>
77118
77119         * gnulib-tool: Support --with-tests also with --import.
77120         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
77121         (func_import): Use variables $testsbase and $inctests. Emit a
77122         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
77123         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
77124         SUBDIRS += $testsdir.
77125         (func_create_testdir): Update.
77126
77127 2005-09-18  Bruno Haible  <bruno@clisp.org>
77128
77129         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
77130         instead of $dry_run.
77131         (func_cp_if_changed, func_mv_if_changed): Remove functions.
77132         (func_ln_if_changed): Don't handle dry-run here.
77133         (func_import): In dry-run mode, detect more precisely which actions
77134         would be performed, and don't use "...ing" verbs.
77135
77136 2005-09-18  Bruno Haible  <bruno@clisp.org>
77137
77138         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
77139         (func_import): Use join on two temporary files instead of three nested
77140         loops, in order to determine which files are new or old.
77141
77142 2005-09-18  Bruno Haible  <bruno@clisp.org>
77143
77144         * gnulib-tool (func_import): Comment out code that spits out the
77145         new files with --dry-run.
77146
77147 2005-09-18  Bruno Haible  <bruno@clisp.org>
77148
77149         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
77150
77151 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77152
77153         * lib/stat-time.h: New file.
77154         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
77155         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
77156         in a different way.
77157         (timespec_cmp): New function.
77158         * lib/utimecmp.c: Include stat-time.h.
77159         (SYSCALL_RESOLUTION): Depend on whether various struct stat
77160         members exist, not on the obsolescent ST_MTIM_NSEC.
77161         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
77162
77163 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77164
77165         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
77166
77167 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
77168
77169         * MODULES.html.sh (File system functions): Add stat-time.
77170         * modules/stat-time: New file.
77171         * modules/timespec (Files): Remove m4/st_mtim.m4; this
77172         is now done in a different way, by the stat-time module.
77173         * modules/utimecmp (Depends-on): Add stat-time.
77174
77175 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77176
77177         * m4/st_mtim.m4: Remove.  Superseded by...
77178         * m4/stat-time.m4: New file.
77179         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
77180         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
77181
77182 2005-09-15  Derek Price  <derek@ximbiot.com>
77183
77184         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
77185
77186 2005-09-15  Derek Price  <derek@ximbiot.com>
77187
77188         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
77189         * lib/regex_internal.c: Ditto, using this...
77190         (__GNUC_PREREQ): ...new macro.
77191         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
77192         using...
77193         (__GNUC_PREREQ): ...this new macro.
77194
77195         * lib/strstr.h: Include string.h. Define strstr as a macro here.
77196
77197 2005-09-15  Derek Price  <derek@ximbiot.com>
77198             Paul Eggert  <eggert@cs.ucla.edu>
77199
77200         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
77201         changes, consolidating in...
77202         * lib/regex_internal.h: ...this file.
77203
77204 2005-09-13  Jim Meyering  <jim@meyering.net>
77205
77206         * lib/canon-host.c: Filter through gnu indent and reword comments
77207         slightly.
77208         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
77209
77210 2005-09-13  Derek Price  <derek@ximbiot.com>
77211
77212         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
77213         failure.
77214         Reported by Jim Meyering  <jim@meyering.net>.
77215
77216 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77217
77218         * lib/base64.c: Typo.
77219         (base64_encode): Put b64str in initialized data section.
77220
77221 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
77222
77223         Merge glibc and coreutils changes into gnulib, plus a few
77224         extra fixes.
77225         * lib/md5.c: Use #error rather than a string.
77226         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
77227         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
77228         (__attribute__): Define to empty for non recent-GCC.
77229         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
77230         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
77231         Renamed from their non-__ counterparts, with new macros replacing
77232         them if not _LIBC.  Add __THROW attribute.
77233         (rol): Remove.
77234         (struct md5_ctx): Align buffer if using GCC.
77235         * lib/sha1.h (struct sha1_ctx): Likewise.
77236         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
77237         The old name was backwards.
77238         (NOTSWAP): Remove; not used.
77239         (rol): New macro, moved here from md5.h.
77240         (sha1_process_block): Remove a FIXME that doesn't make sense.
77241
77242 2005-09-12  Derek Price  <derek@ximbiot.com>
77243
77244         Return usable errors from canon-host.
77245         * lib/canon-host.h: New file.
77246         * lib/canon-host.c (canon_host): Wrap...
77247         (canon_host_r): ...this new function, which now relies exclusively on
77248         getaddrinfo.
77249         (ch_strerror): New function.
77250         (last_cherror): New global.
77251         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
77252         interface.
77253         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
77254         void *.
77255         (freeaddrinfo): Free ai->ai_canonname when set.
77256
77257 2005-09-12  Derek Price  <derek@ximbiot.com>
77258
77259         Make canon-host require getaddrinfo.
77260         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
77261         AC_LIBSOURCE canon-host.h.  Call...
77262         (gl_PREREQ_CANON_HOST): ...this new function, which requires
77263         gl_GETADDRINFO.
77264         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
77265
77266 2005-09-12  Derek Price  <derek@ximbiot.com>
77267
77268         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
77269         LGPL.
77270         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
77271
77272 2005-09-12  Derek Price  <derek@ximbiot.com>
77273
77274         * lib/gai_strerror.c: Include config.h when available.  Include
77275         getaddrinfo.h before other headers to test interface.
77276         Reported by Larry Jones <lawrence.jones@ugs.com>.
77277
77278 2005-09-12  Derek Price  <derek@ximbiot.com>
77279             Paul Eggert  <eggert@cs.ucla.edu>
77280
77281         * modules/glob (Files): Add glob-libc.h.
77282
77283 2005-09-12  Derek Price  <derek@ximbiot.com>
77284             Paul Eggert  <eggert@cs.ucla.edu>
77285
77286         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
77287         glob_.h, glob-libc.h.
77288         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
77289
77290 2005-09-12  Derek Price  <derek@ximbiot.com>
77291             Paul Eggert  <eggert@cs.ucla.edu>
77292
77293         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
77294         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
77295         protecting things that should be done only in gnulib contexts.
77296         * lib/glob_.h: New file, containing only the glob things needed for
77297         gnulib.
77298         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
77299         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
77300         (glob, globfree, glob_pattern_p): Now defined simply in terms of
77301         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
77302         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
77303         and to respect the namespace rules better.
77304
77305 2005-09-08  Simon Josefsson  <jas@extundo.com>
77306
77307         * modules/socklen: New file.
77308
77309 2005-09-08  Simon Josefsson  <jas@extundo.com>
77310
77311         * m4/socklen.m4: New file.
77312
77313 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77314
77315         * modules/utimens (Files): Add m4/utimbuf.m4, since
77316         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
77317         Reported by Sergey Poznyakoff.
77318
77319 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77320
77321         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
77322         definitions, since that's the preferred style in glibc.
77323         Fix a minor spacing issue, and update copyright notice to match
77324         glibc's.
77325
77326 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77327
77328         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
77329
77330 2005-09-06  Simon Josefsson  <jas@extundo.com>
77331
77332         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
77333         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
77334
77335 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77336
77337         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
77338         warning.
77339
77340 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
77341
77342         * config/srclist.txt: Add glibc bug 1302.
77343
77344 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
77345
77346         Change bitset word type from unsigned int to unsigned long int,
77347         as this has better performance on typical 64-bit hosts.
77348         Port bitset code to hosts with unusual word sizes.
77349         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
77350         (build_collating_symbol):
77351         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
77352         argument is a bitset.  This is merely a style issue, but it makes
77353         it clearer that an entire array is expected.
77354         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
77355         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
77356         Port to the case where bitset_word is not the same as unsigned int.
77357         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77358         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
77359         Likewise.
77360         * lib/regexec.c (check_dst_limits_calc_pos_1,
77361         check_subexp_matching_top):
77362         (build_trtable, group_nodes_into_DFAstates):
77363         Likewise.
77364         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
77365         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
77366         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
77367         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
77368         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
77369         * lib/regcomp.c (optimize_subexps, lower_subexp):
77370         Work even if bitset_word has holes in its bitwise representation.
77371         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
77372         * lib/regexec.c (check_dst_limits_calc_pos_1,
77373         check_subexp_matching_top):
77374         Likewise.
77375         * lib/regex_internal.c (re_string_reconstruct):
77376         Don't assume UCHAR_MAX == 255.
77377         * lib/regex_internal.h (bitset_set_all): Likewise.
77378         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
77379         All uses changed.
77380         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
77381         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
77382         All uses changed.
77383         (BITSET_WORD_MAX): New macro.
77384         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
77385         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
77386         (bitset_empty, bitset_copy):
77387         Prefer sizeof (bitset) to multiplying it out ourselves.
77388         (bitset_not_merge): Remove; unused.
77389         (bitset_contain): Return bool, not unsigned int with one bit on.
77390         All callers changed.
77391         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
77392         alignment than re_node_set; do this by defining a new internal
77393         type struct dests_alloc and using it to allocate memory.
77394
77395 2005-09-05  Bruno Haible  <bruno@clisp.org>
77396
77397         * gnulib-tool (func_import): Fix comparison in handling of symbolic
77398         links.
77399
77400 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
77401
77402         * modules/size_max (Makefile.am): Add size_max.h
77403
77404 2005-09-04  Derek Price  <derek@ximbiot.com>
77405
77406         * gnulib-tool (func_import): Fix reversed $symbolic logic.
77407
77408 2005-09-03  Simon Josefsson  <jas@extundo.com>
77409
77410         * gnulib-tool: Fix typo.
77411
77412 2005-09-03  Simon Josefsson  <jas@extundo.com>
77413
77414         * config/srclist.txt: Add glibc bug 1293.
77415
77416 2005-09-03  Derek Price  <derek@ximbiot.com>
77417
77418         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
77419         From Larry Jones <lawrence.jones@ugs.com>.
77420
77421 2005-09-02  Simon Josefsson  <jas@extundo.com>
77422
77423         * modules/socklen: New file.
77424
77425 2005-09-02  Simon Josefsson  <jas@extundo.com>
77426
77427         * modules/havelib: New module.
77428
77429         * modules/gettext, modules/iconv, modules/lock, modules/readline:
77430         Use havelib.
77431
77432 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77433
77434         Check for arithmetic overflow when calculating sizes, to prevent
77435         some buffer-overflow issues.  These patches are conservative, in the
77436         sense that when I couldn't determine whether an overflow was possible,
77437         I inserted a run-time check.
77438         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
77439         macros.
77440         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
77441         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
77442         (re_xnrealloc, re_x2nrealloc): New inline functions.
77443         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
77444         parse_bracket_exp):
77445         (build_equiv_class, build_charclass): Check for arithmetic overflow
77446         in size expression calculations.
77447         * lib/regex_internal.c (re_string_realloc_buffers):
77448         (build_wcs_upper_buffer, re_node_set_add_intersect):
77449         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
77450         (re_dfa_add_node, register_state): Likewise.
77451         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
77452         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
77453         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
77454         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
77455
77456 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
77457
77458         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
77459         m4/ulonglong.m4.  Problem reported by Martin Lambers.
77460
77461 2005-09-02  Bruno Haible  <bruno@clisp.org>
77462
77463         Support for lib vs. lib64 distinction on biarch platforms.
77464         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
77465         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
77466         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
77467
77468 2005-09-02  Bruno Haible  <bruno@clisp.org>
77469
77470         * gnulib-tool (import): In the other first-use case, provide defaults
77471         as well.
77472
77473 2005-09-02  Bruno Haible  <bruno@clisp.org>
77474
77475         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
77476         patches not yet found in the latest gettext release.
77477
77478 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77479
77480         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
77481         to avoid a collision with bits/local_lim.h in glibc.
77482         All uses changed.  Problem reported by Dmitry V. Levin in
77483         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
77484
77485         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
77486         bugs in int versus size_t comparisons.
77487         (re_string_context_at): Fix bug where the code assumed that
77488         Idx is signed.
77489
77490         Use bool where appropriate.
77491         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
77492         All callers changed.
77493         (calc_eclosure_iter): Likewise, for ROOT arg.
77494         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
77495         (build_charclass_op): Likewise, for NON_MATCH arg.
77496         * lib/regex_internal.c (re_string_allocate, re_string_construct):
77497         (re_string_construct_common): Likewise, for ICASE arg.
77498         * lib/regexec.c (re_search_2_stub, re_search_stub):
77499         Likewise, for RET_LEN arg.
77500         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
77501         (set_regs): Likewise, for FL_BACKTRACK arg.
77502         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
77503         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
77504         (calc_eclosure_iter, parse_bracket_exp):
77505         Use bool for internal variables that are booleans.
77506         * lib/regexec.c (re_search_internal, check_matching,
77507         proceed_next_node):
77508         (set_regs, build_sifted_states, sift_states_bkref):
77509         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
77510         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
77511         (find_collation_sequence_value):
77512         Likewise.
77513         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
77514         (re_node_set_compare):
77515         Return bool, not int. All callers changed.
77516         * lib/regexec.c (check_halt_node_context, check_dst_limits):
77517         (build_trtable, check_node_accept): Likewise.
77518         * lib/regex_internal.h: Include stdbool.h.
77519
77520         Fix bugs uncovered when converting to bool.
77521         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
77522         failure instead of charging ahead blindly.
77523         * lib/regex_internal.c (register_state): Likewise.
77524         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
77525         for freeing internal storage.
77526         (group_nodes_into_DFA_states): Use unsigned int, not int, for
77527         bitset pieces used as boolean, to avoid undefined behavior
77528         on hosts that do int overflow checking.
77529
77530 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77531
77532         * config/srclist.txt: Add glibc bugs 1285-1287.
77533
77534 2005-09-01  Jim Meyering  <jim@meyering.net>
77535
77536         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
77537         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
77538         Require gl_STAT_MACROS, too.
77539
77540 2005-09-01  Bruno Haible  <bruno@clisp.org>
77541
77542         * gnulib-tool (import): In the first-use case, provide defaults.
77543
77544 2005-09-01  Bruno Haible  <bruno@clisp.org>
77545
77546         * gnulib-tool (func_import): Remove the .tmp files.
77547
77548 2005-09-01  Bruno Haible  <bruno@clisp.org>
77549
77550         * gnulib-tool (func_import): Fix handling of symbolic links.
77551
77552 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77553
77554         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
77555         old glibc regex code mishandles strings longer than 2**31 bytes.
77556         This patch fixes this when the regex code is used in gnulib
77557         (i.e., outside glibc).
77558
77559         This patch should not affect the use of the regex code inside
77560         glibc.  No doubt this problem also needs to be handled for glibc
77561         as well, but the result will be an incompatible change to the
77562         glibc ABI, and the old ABI will have to be supported too.  That
77563         can be the the subject for another patch.
77564
77565         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
77566         governing whether the rest of this patch is active.  By default,
77567         the macro is disabled and the patch has no effect.
77568         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
77569         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
77570         (struct re_pattern_buffer, re_search, re_search_2, re_match):
77571         (re_match_2, re_set_registers): Use the new types.
77572         * lib/regex_internal.h (Idx, re_hashval_t): New types.
77573         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
77574         New macros.
77575         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
77576         (re_string_context_at, bin_tree_t, re_dfastate_t):
77577         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
77578         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
77579         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
77580         (re_string_char_size_at, re_string_wchar_at):
77581         (re_string_elem_size_at):
77582         Use the new types and macros to port to 64-bit hosts.
77583         Use unsigned types for internal values, so that the code
77584         mostly works even for arrays larger than SSIZE_MAX.
77585         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
77586         (search_duplicated_node, calc_eclosure_iter, fetch_number):
77587         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
77588         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
77589         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
77590         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
77591         (calc_inveclosure, parse_dup_op, build_range_exp):
77592         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
77593         (fetch_number, create_token_tree, mark_opt_subexp):
77594         Likewise.
77595         * lib/regex_internal.c (re_string_construct_common,
77596         create_ci_newstate):
77597         (create_cd_newstate, re_string_allocate, re_string_construct):
77598         (re_string_realloc_buffers, build_wcs_upper_buffer):
77599         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
77600         (re_string_reconstruct, re_string_peek_byte_case):
77601         (re_string_fetch_byte_case, re_string_context_at):
77602         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
77603         (re_node_set_init_copy, re_node_set_add_intersect):
77604         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77605         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77606         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
77607         (re_acquire_state, re_acquire_state_context, register_state):
77608         Likewise.
77609         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
77610         search_cur_bkref_entry):
77611         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
77612         (re_search_internal, re_search_2_stub, re_search_stub)
77613         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
77614         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
77615         (update_cur_sifted_state, check_dst_limits):
77616         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77617         (check_subexp_limits, sift_states_bkref, merge_state_array):
77618         (check_subexp_matching_top, get_subexp, get_subexp_sub):
77619         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
77620         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
77621         (expand_bkref_cache, check_node_accept_bytes):
77622         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
77623         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
77624         (acquire_init_state_context, check_halt_node_context):
77625         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
77626         (sift_states_backward, clean_state_log_if_needed):
77627         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
77628         (find_recover_state, transit_state_sb, transit_state_mb):
77629         (transit_state_bkref, build_trtable, match_ctx_clean):
77630         Likewise.
77631         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
77632         to work around an assumption that REG_MISSING is negative.
77633
77634         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
77635         (seek_collating_symbol_entry) [defined _LIBC]:
77636         (lookup_collation_sequence_value) [defined _LIBC]:
77637         (build_range_exp, build_collating_symbol) [defined _LIBC]:
77638         Use prototypes rather than old-style function definitions.
77639         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
77640         (transit_state_sb) [0]:
77641         (find_collation_sequence_value) [defined _LIBC]: Likewise.
77642
77643         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
77644         rm_eo.
77645
77646         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
77647         (optimize_subexps, lower_subexp):
77648         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
77649         since the signed shift might overflow.  Use 1u<<31 instead.
77650         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
77651         Likewise.
77652         * lib/regexec.c (check_dst_limits_calc_pos_1,
77653         check_subexp_matching_top): Likewise.
77654
77655         * lib/regcomp.c (optimize_subexps, lower_subexp):
77656         Use CHAR_BIT rather than 8, for clarity.
77657         * lib/regexec.c (check_dst_limits_calc_pos_1):
77658         (check_subexp_matching_top): Likewise.
77659         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
77660         have to worry about portability issues when shifting it left.
77661         Remove no-longer-needed test for table_size > 0.
77662         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
77663         in a word, as the resulting behavior is undefined.
77664         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
77665         in one case, a <= should have been an <, and in another case the
77666         whole test was missing.
77667         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
77668         the standard name CHAR_BIT.
77669         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
77670         this is not true on one's complement and signed-magnitude hosts.
77671
77672         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
77673         next_last_offset.
77674         (struct re_dfa_t): Remove unused member states_alloc.
77675         * lib/regcomp.c (init_dfa): Don't initialize unused members.
77676
77677 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77678
77679         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
77680         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
77681         and large-file glibc and in 32-bit large-file Solaris.
77682
77683 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77684
77685         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
77686         lengths fit in regoff_t; this isn't true if regoff_t is the same
77687         width as size_t.
77688         * lib/regex.c (re_search_internal): 5th arg is LAST_START
77689         (= START + RANGE) instead of RANGE.  This avoids overflow
77690         problems when regoff_t is the same width as size_t.
77691         All callers changed.
77692         (re_search_2_stub): Check for overflow when adding the
77693         sizes of the two strings.
77694         (re_search_stub): Check for overflow when adding START
77695         to RANGE; if it occurs, substitute the extreme value.
77696
77697 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77698
77699         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
77700
77701 2005-08-31  Jim Meyering  <jim@meyering.net>
77702
77703         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
77704         a pointer-to-const.
77705         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
77706         (register_state): Likewise.
77707         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
77708         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
77709         (group_nodes_into_DFAstates): Likewise.
77710
77711 2005-08-31  Jim Meyering  <jim@meyering.net>
77712
77713         * check-module: Add a FIXME comment.
77714
77715 2005-08-31  Eric Blake  <ebb9@byu.net>
77716
77717         * modules/unistd-safer (Files): Add unistd--.h.
77718         * modules/stdio-safer (Files): Add stdio--.h.
77719
77720 2005-08-31  Derek Price  <derek@ximbiot.com>
77721
77722         * lib/getdelim.c (getdelim): Return EOF on EOF.
77723         Reported by Larry Jones <lawrence.jones@ugs.com>.
77724
77725 2005-08-31  Bruno Haible  <bruno@clisp.org>
77726
77727         Avoid unnecessary diffs in the generated lib/Makefile.am.
77728         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
77729         the generated files.
77730         (func_import): Don't set cmd.
77731
77732 2005-08-31  Bruno Haible  <bruno@clisp.org>
77733
77734         * lib/strstr.c: Include <stddef.h>, for NULL.
77735         * lib/strcasestr.c: Likewise.
77736         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77737
77738 2005-08-31  Bruno Haible  <bruno@clisp.org>
77739
77740         * gnulib-tool: New option --macro-prefix.
77741         (func_import): Use macro_prefix.
77742         (import): Handle option --macro-prefix.
77743
77744 2005-08-31  Bruno Haible  <bruno@clisp.org>
77745
77746         * gnulib-tool (import): Rename most ac_* variables to cached_*.
77747         Also use new variables cached_lgpl, cached_libtool.
77748
77749 2005-08-31  Bruno Haible  <bruno@clisp.org>
77750
77751         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
77752         always instantiating them.
77753
77754 2005-08-31  Bruno Haible  <bruno@clisp.org>
77755
77756         * gnulib-tool (func_import): Read the previous cached settings
77757         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
77758         earlier added by gnulib but are now dropped. Warn when a gnulib file
77759         overwrites a non-gnulib file.
77760
77761 2005-08-31  Bruno Haible  <bruno@clisp.org>
77762
77763         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
77764         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
77765         projects that don't keep autogenerated files in CVS. Put into
77766         actioncmd only the specified modules, not the transitive closure.
77767
77768 2005-08-31  Bruno Haible  <bruno@clisp.org>
77769
77770         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
77771         Create directories that shall be filled.
77772         (import): Don't look for gl_* macros in configure.ac. Recurse across
77773         all directories containing a gnulib-cache.m4 files, if meaningful.
77774
77775 2005-08-31  Bruno Haible  <bruno@clisp.org>
77776
77777         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
77778         (import): Set seen_libtool when we see gl_LIBTOOL.
77779
77780 2005-08-31  Bruno Haible  <bruno@clisp.org>
77781
77782         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
77783         declaration macro definitions from generated gnulib.m4.
77784
77785 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
77786
77787         * lib/iconvme.h: Add prototype for iconv_alloc.
77788
77789 2005-08-29  Simon Josefsson  <jas@extundo.com>
77790
77791         * lib/iconvme.c: Fix errno.
77792
77793 2005-08-29  Bruno Haible  <bruno@clisp.org>
77794
77795         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
77796         that it works when the directory contains spaces.
77797
77798 2005-08-29  Bruno Haible  <bruno@clisp.org>
77799
77800         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
77801
77802 2005-08-29  Bruno Haible  <bruno@clisp.org>
77803
77804         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
77805         Emit more advice.
77806
77807 2005-08-29  Bruno Haible  <bruno@clisp.org>
77808         and Stepan Kasal  <kasal@ucw.cz>
77809
77810         * check-module: If more parameters are given, check each of them
77811         separately; add more exceptions, as noted by Jim Meyering.
77812         (check_module): New procedure.
77813         (%exempt_header): Now contains all exceptions.
77814
77815 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
77816
77817         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
77818
77819 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
77820
77821         * lib/iconvme.c: Split iconv_string into iconv_alloc.
77822
77823 2005-08-28  Bruno Haible  <bruno@clisp.org>
77824
77825         * m4/gnulib-tool.m4: New file.
77826
77827 2005-08-27  Jim Meyering  <jim@meyering.net>
77828
77829         * modules/unistd-safer (Files): Add pipe-safer.c.
77830         * modules/fcntl-safer (Files): Add creat-safer.c.
77831
77832 2005-08-27  Jim Meyering  <jim@meyering.net>
77833
77834         * m4/stdlib-safer.m4: New file.  From coreutils.
77835         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
77836         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
77837         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
77838         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
77839         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
77840
77841 2005-08-27  Jim Meyering  <jim@meyering.net>
77842
77843         * lib/fopen-safer.c: Merge minor changes from coreutils.
77844         * lib/dup-safer.c: Likewise.
77845         * lib/fd-safer.c: Likewise.
77846
77847         Merge from coreutils.
77848         * lib/stdio--.h: New file.
77849         * lib/stdlib--.h: New file.
77850         * lib/mkstemp-safer.c: New file.
77851
77852         GNU tar needs these.
77853         * lib/pipe-safer.c: New file.
77854         * lib/creat-safer.c: New file.
77855         * lib/fcntl--.h (creat): Define to creat_safer.
77856         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
77857         * lib/unistd--.h (pipe): Define to pipe_safer.
77858         * lib/unistd-safer.h: Declare pipe_safer.
77859
77860 2005-08-26  Simon Josefsson  <jas@extundo.com>
77861
77862         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
77863         Haible <bruno@clisp.org>.
77864
77865 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
77866
77867         * lib/regex_internal.h: Remove all references to
77868         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
77869         or better.
77870         (bitset_not, bitset_merge, bitset_not_merge):
77871         (bitset_mask, re_string_allocate, re_string_construct):
77872         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
77873         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
77874         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
77875         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
77876         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77877         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77878         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
77879         (re_acquire_state_context):
77880         Remove unnecessary forward decls.
77881         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
77882         Put __attribute at function definition,
77883         now that the function decl has been removed.
77884         * lib/regex_internal.c (re_string_peek_byte_case):
77885         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
77886         Likewise.
77887
77888 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
77889
77890         * m4/regex.m4: Add AC_PREREQ(2.50).
77891         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
77892
77893 2005-08-25  Simon Josefsson  <jas@extundo.com>
77894
77895         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
77896         __fsetlocking.
77897
77898 2005-08-25  Simon Josefsson  <jas@extundo.com>
77899
77900         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
77901         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
77902         GLIBC specific code.
77903
77904 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77905
77906         Make regex safe for g++.  This fixes one real bug (an "err"
77907         that should have been "*err").  g++ problem reported by
77908         Sam Steingold.
77909         * lib/regex_internal.h (re_calloc): New macro, consistent with
77910         re_malloc etc.  All callers of calloc changed to use re_calloc.
77911         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
77912         not int.  All callers changed.
77913         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
77914         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
77915         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
77916         (find_recover_state): Change "err" to "*err"; this fixes what
77917         appears to be a real bug.
77918         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
77919         versus int.
77920
77921 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77922
77923         * modules/regex (Depends-on): Add malloc, since the code
77924         assumes that !malloc(0) means failure.
77925
77926 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77927
77928         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
77929
77930         alloca modernization/simplification for regex.
77931         * lib/regex.c: Remove portability cruft for alloca.  This no longer
77932         needs to be at the start of the file, and can be moved into
77933         regex_internal.h and simplified.
77934         * lib/regex_internal.h: Include <alloca.h>.
77935         (__libc_use_alloca) [!defined _LIBC]: New macro.
77936         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
77937         now works outside glibc.
77938
77939 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77940
77941         * config/srclist.txt: Add glibc bugs 1241, 1245.
77942
77943 2005-08-25  Jim Meyering  <jim@meyering.net>
77944
77945         * lib/open-safer.c: Include <config.h>.
77946         Otherwise, we'd lose LARGEFILE support in any file using
77947         e.g. "fcntl--.h"
77948
77949 2005-08-25  Bruno Haible  <bruno@clisp.org>
77950
77951         * m4/minmax.m4: Require autoconf 2.52.
77952         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
77953         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
77954         alternatives of translit over the alphabet.
77955         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
77956
77957 2005-08-24  Simon Josefsson  <jas@extundo.com>
77958
77959         * tests/test-getpass.c: New file.
77960
77961 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77962
77963         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
77964         for GNU regex features.
77965
77966 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77967
77968         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
77969         * lib/regex.h (regerror): Likewise.
77970
77971         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
77972         requires this.  (The code never needed it.)
77973
77974         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
77975         All uses of recently-renamed identifiers changed to use the new,
77976         POSIX-compliant names.  The code will build and run just fine
77977         without these changes, but it's better to eat our own dog food
77978         and use the standard-conforming names.
77979
77980         * lib/regex.h: Fix a multitude of POSIX name space violations.
77981         These changes have an effect only for programs that define
77982         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
77983         do not change anything for programs compiled in the normal way.
77984         Also, there is no effect on the ABI.
77985
77986         (_REGEX_SOURCE): New macro.
77987         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
77988         defined and _GNU_SOURCE is not; this fixes a name space violation.
77989
77990         Rename the following macros to obey POSIX requirements.
77991         The old names are still visible as macros if _REGEX_SOURCE is defined.
77992         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
77993         RE_BACKSLASH_ESCAPE_IN_LISTS.
77994         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
77995         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
77996         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
77997         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
77998         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
77999         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
78000         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
78001         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
78002         (REG_INTERVALS): renamed from RE_INTERVALS.
78003         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
78004         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
78005         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
78006         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
78007         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
78008         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
78009         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
78010         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
78011         RE_UNMATCHED_RIGHT_PAREN_ORD.
78012         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
78013         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
78014         (REG_DEBUG): renamed from RE_DEBUG.
78015         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
78016         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
78017         unusual, since we can't clash with the POSIX REG_ICASE.
78018         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
78019         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
78020         (REG_NO_SUB): renamed from RE_NO_SUB.
78021         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
78022         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
78023         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
78024         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
78025         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
78026         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
78027         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
78028         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
78029         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
78030         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
78031         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
78032         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
78033         RE_SYNTAX_POSIX_MINIMAL_BASIC.
78034         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
78035         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
78036         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
78037         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
78038         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
78039         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
78040         (REG_FIXED): Renamed from REGS_FIXED.
78041         (REG_NREGS): Renamed from RE_NREGS.
78042
78043         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
78044         of other REG_* macros, since POSIX says the user is allowed to
78045         #undef these macros selectively.
78046
78047         (reg_errcode_t): Update comment stating what other tables need
78048         to be consistent.
78049
78050         Rename the following enum values to obey POSIX requirements.
78051         The old names are still visible as macros.
78052         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
78053         is not defined, since GNU is supposed to be a superset of POSIX as
78054         much as possible, and since we want reg_errcode_t to be a signed
78055         type for implementation consistency.
78056         (_REG_NOERROR): Renamed from REG_NOERROR.
78057         (_REG_NOMATCH): Renamed from REG_NOMATCH.
78058         (_REG_BADPAT): Renamed from REG_BADPAT.
78059         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
78060         (_REG_ECTYPE): Renamed from REG_ECTYPE.
78061         (_REG_EESCAPE): Renamed from REG_EESCAPE.
78062         (_REG_ESUBREG): Renamed from REG_ESUBREG.
78063         (_REG_EBRACK): Renamed from REG_EBRACK.
78064         (_REG_EPAREN): Renamed from REG_EPAREN.
78065         (_REG_EBRACE): Renamed from REG_EBRACE.
78066         (_REG_BADBR): Renamed from REG_BADBR.
78067         (_REG_ERANGE): Renamed from REG_ERANGE.
78068         (_REG_ESPACE): Renamed from REG_ESPACE.
78069         (_REG_BADRPT): Renamed from REG_BADRPT.
78070         (_REG_EEND): Renamed from REG_EEND.
78071         (_REG_ESIZE): Renamed from REG_ESIZE.
78072         (_REG_ERPAREN): Renamed from REG_ERPAREN.
78073         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
78074         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
78075         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
78076         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
78077
78078         (_REG_RE_NAME, _REG_RM_NAME): New macros.
78079         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
78080         changed.  But support the old name if the new one is not defined
78081         and if _REGEX_SOURCE.
78082
78083         Change the following member names in struct re_pattern_buffer.
78084         The old names are still supported if !_REGEX_SOURCE.
78085         The new names are always supported, regardless of _REGEX_SOURCE.
78086         (re_buffer): Renamed from buffer.
78087         (re_allocated): Renamed from allocated.
78088         (re_used): Renamed from used.
78089         (re_syntax): Renamed from syntax.
78090         (re_fastmap): Renamed from fastmap.
78091         (re_translate): Renamed from translate.
78092         (re_can_be_null): Renamed from can_be_null.
78093         (re_regs_allocated): Renamed from regs_allocated.
78094         (re_fastmap_accurate): Renamed from fastmap_accurate.
78095         (re_no_sub): Renamed from no_sub.
78096         (re_not_bol): Renamed from not_bol.
78097         (re_not_eol): Renamed from not_eol.
78098         (re_newline_anchor): Renamed from newline_anchor.
78099
78100         Change the following member names in struct re_registers.
78101         The old names are still supported if !_REGEX_SOURCE.
78102         The new names are always supported, regardless of _REGEX_SOURCE.
78103         (rm_num_regs): Renamed from num_regs.
78104         (rm_start): Renamed from start.
78105         (rm_end): Renamed from end.
78106
78107         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
78108         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
78109         Prepend __ to parameter names.
78110
78111         Undo yesterday's changes.
78112
78113 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78114
78115         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
78116         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
78117         lib/regex.c.
78118
78119 2005-08-24  Jim Meyering  <jim@meyering.net>
78120
78121         Sync from coreutils.
78122         * m4/fcntl-safer.m4: New file.
78123
78124         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
78125         and object files for this module.
78126
78127 2005-08-24  Jim Meyering  <jim@meyering.net>
78128
78129         Sync from coreutils.
78130         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
78131
78132 2005-08-24  Jim Meyering  <jim@meyering.net>
78133
78134         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
78135         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
78136
78137 2005-08-24  Jim Meyering  <jim@meyering.net>
78138
78139         * modules/fcntl-safer: New module.
78140         * modules/fts (Depends-on): Add fcntl-safer.
78141         * MODULES.html.sh (File descriptor based Input/Output):
78142         Add fcntl-safer.
78143
78144 2005-08-24  Bruno Haible  <bruno@clisp.org>
78145
78146         Support for unit test modules.
78147         * modules/README: Mention tests modules.
78148         * modules/TEMPLATE-TESTS: New file.
78149         * gnulib-tool: New options --extract-tests-module, --with-tests and
78150         --tests-base (unused for the moment).
78151         (testsbase, inctests): New variables.
78152         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
78153         (func_verify_module): Exclude TEMPLATE-TESTS.
78154         (func_verify_nontests_module, func_verify_tests_module): New functions.
78155         (func_get_dependencies): Add implicit dependency for tests modules.
78156         (func_get_tests_module): New function.
78157         (func_modules_transitive_closure): When --with-tests was specified,
78158         include the unit tests as well, unless explicitly avoided.
78159         (func_emit_lib_Makefile_am): Ignore the tests modules here.
78160         (func_emit_tests_Makefile_am): New function.
78161         (func_create_testdir): When --with-tests was specified, emit a
78162         tests/ directory.
78163         * MODULES.html.sh (Future developments): Update.
78164
78165 2005-08-24  Bruno Haible  <bruno@clisp.org>
78166
78167         * modules/tls-tests: New file.
78168         * tests/test-tls.c: New file, from GNU gettext.
78169
78170 2005-08-24  Bruno Haible  <bruno@clisp.org>
78171
78172         * modules/lock-tests: New file.
78173         * tests/test-lock.c: New file, from GNU gettext.
78174
78175 2005-08-24  Bruno Haible  <bruno@clisp.org>
78176
78177         * lib/lock.h: Add multiple inclusion guard.
78178         * lib/tls.h: Add multiple inclusion guard.
78179
78180 2005-08-24  Bruno Haible  <bruno@clisp.org>
78181
78182         * gnulib-tool: Add support for the --aux-dir option to
78183         --create-testdir, --create-megatestdir, --test, --megatest.
78184         (func_create_testdir, func_create_megatestdir): Optionally emit a
78185         AC_CONFIG_AUX_DIR directive.
78186         (create-testdir, create-megatestdir, test, megatest): Provide a
78187         default value for $auxdir.
78188
78189 2005-08-24  Bruno Haible  <bruno@clisp.org>
78190
78191         * gnulib-tool (import): Use compound statement instead of subshell
78192         where possible.
78193
78194 2005-08-24  Bruno Haible  <bruno@clisp.org>
78195
78196         * gnulib-tool (import): Change --aux-dir default to "build-aux".
78197
78198 2005-08-24  Bruno Haible  <bruno@clisp.org>
78199
78200         * gnulib-tool (func_version): Update.
78201
78202 2005-08-24  Bruno Haible  <bruno@clisp.org>
78203
78204         * gnulib-tool (func_import, func_create_testdir,
78205         func_create_megatestdir): Quote all autoconf macro arguments.
78206
78207 2005-08-24  Bruno Haible  <bruno@clisp.org>
78208
78209         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
78210         option --force, because --force causes the aclocal.m4 of each
78211         subdirectory to be newer than the corresponding config.h.in.
78212
78213 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78214
78215         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
78216         All contents moved to gl_REGEX.
78217         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
78218         assume that it does.
78219
78220 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78221
78222         * lib/regex.h (REG_NOSYS)
78223         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
78224         Define, since POSIX requires it as of 2001.
78225         (_REG_ENOSYS)
78226         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
78227         New private symbol, used to keep the enum signed in all cases.
78228         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
78229         Youngman in
78230         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
78231
78232         * lib/regex_internal.c (re_string_skip_chars, register_state):
78233         (calc_state_hash):
78234         Remove forward decls; no longer needed now that we use prototypes.
78235         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
78236         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
78237         (clean_state_log_if_needed): Likewise.
78238
78239 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78240
78241         * config/srclist.txt: Add glibc bugs 1231-1233.
78242
78243 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78244
78245         Fix problems reported by Sam Steingold in
78246         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
78247         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
78248         assumed that reg_errcode_t is a signed type, which is not
78249         necessarily true if _XOPEN_SOURCE is not defined.
78250         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
78251         since some compilers warn about it otherwise.
78252
78253 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78254
78255         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
78256         (init_word_char, create_initial_state, duplicate_node_closure):
78257         (fetch_token, peek_token_bracket, build_range_exp):
78258         (build_collating_symbol): Remove forward decls; no longer needed
78259         now that we use prototypes.
78260
78261         * lib/regcomp.c:
78262         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
78263         (re_compile_fastmap_iter, regcomp, regerror, regfree):
78264         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
78265         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
78266         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
78267         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
78268         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
78269         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
78270         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
78271         (build_range_exp, build_collating_symbol, parse_bracket_exp):
78272         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
78273         (build_charclass, build_charclass_op, fetch_number, create_tree):
78274         (create_token_tree, mark_opt_subexp, duplicate_tree):
78275         Use prototypes rather than old-style definitions.
78276
78277         * lib/regex_internal.c:
78278         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
78279         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
78280         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
78281         (re_string_reconstruct, re_string_peek_byte_case):
78282         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
78283         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
78284         (re_node_set_init_copy, re_node_set_add_intersect):
78285         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
78286         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
78287         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
78288         (re_acquire_state, re_acquire_state_context, register_state):
78289         (create_ci_newstate, create_cd_newstate, free_state):
78290         Likewise.
78291         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
78292         re_search_2):
78293         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
78294         (re_search_internal, prune_impossible_nodes):
78295         (acquire_init_state_context, check_matching, static):
78296         (check_halt_node_context, check_halt_state_context, proceed_next_node):
78297         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
78298         (update_regs, sift_states_backward, build_sifted_states):
78299         (clean_state_log_if_needed, merge_state_array):
78300         (update_cur_sifted_state, add_epsilon_src_nodes):
78301         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
78302         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
78303         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
78304         (find_recover_state, check_subexp_matching_top, transit_state_mb):
78305         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
78306         (check_arrival, check_arrival_add_next_nodes):
78307         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
78308         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
78309         (check_node_accept_bytes, check_node_accept, extend_buffers):
78310         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
78311         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
78312         (sift_ctx_init):
78313         Likewise.
78314
78315         * lib/regex_internal.h:
78316         (re_string_allocate, re_string_construct, re_string_reconstruct):
78317         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
78318         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
78319         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
78320         (re_string_context_at, re_string_peek_byte_case):
78321         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
78322         is defined, since we now use prototypes always.
78323
78324         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
78325         C89 or better.  All uses removed.
78326
78327 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78328
78329         * config/srclist.txt: Add glibc bugs 1220-1227.
78330
78331 2005-08-20  Jim Meyering  <jim@meyering.net>
78332
78333         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
78334         of unused local, dfa.
78335
78336 2005-08-20  Bruno Haible  <bruno@clisp.org>
78337
78338         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
78339
78340 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78341
78342         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
78343         (re_node_set_insert_last, re_dfa_add_node):
78344         Rename local variables to avoid GCC shadowing warnings.
78345
78346 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78347
78348         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
78349         [defined lint]: Suppress bogus uninitialized-variable warnings.
78350
78351         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
78352         and let the caller return REG_ESPACE if out of space.  This
78353         removes an uninitialied-variable warning with GCC 4.0.1, and also
78354         avoids taking the address of a local variable.  All callers
78355         changed.
78356
78357 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78358
78359         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
78360         $LIBCSRC/posix/regexec.c.
78361         Add glibc bug 1217 for regcomp.c.
78362
78363 2005-08-19  Jim Meyering  <jim@meyering.net>
78364
78365         * lib/regexec.c (proceed_next_node): Redo local variables to
78366         avoid GCC shadowing warnings.
78367
78368 2005-08-18  Bruno Haible  <bruno@clisp.org>
78369
78370         * lib/strstr.c (strstr): Fix return value in multibyte case.
78371         * lib/strcasestr.c (strcasestr): Likewise.
78372
78373 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78374
78375         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
78376
78377 2005-08-17  Jim Meyering  <jim@meyering.net>
78378
78379         Make the %s format (seconds since the epoch) work for a negative
78380         number and when used with a zero-padded field width, e.g. %015s.
78381
78382         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
78383         label so that it precedes the code to set `digits'.  Otherwise,
78384         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
78385         print `00-22'.  Now, it prints `-0022', as it should.
78386
78387 2005-08-17  Bruno Haible  <bruno@clisp.org>
78388
78389         * modules/strstr (Files): Add m4/mbrtowc.m4.
78390         (Depends-on): Add mbuiter.
78391
78392 2005-08-17  Bruno Haible  <bruno@clisp.org>
78393
78394         * modules/strcasestr: New file.
78395         * MODULES.html.sh (String handling, based on ANSI C 89): Add
78396         strcasestr.
78397
78398 2005-08-17  Bruno Haible  <bruno@clisp.org>
78399
78400         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
78401
78402 2005-08-17  Bruno Haible  <bruno@clisp.org>
78403
78404         * modules/mbuiter: New file.
78405         * MODULES.html.sh (Extended multibyte and wide character utilities):
78406         Add mbuiter.
78407
78408 2005-08-17  Bruno Haible  <bruno@clisp.org>
78409
78410         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
78411         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
78412
78413 2005-08-17  Bruno Haible  <bruno@clisp.org>
78414
78415         * m4/strcasestr.m4: New file.
78416
78417 2005-08-17  Bruno Haible  <bruno@clisp.org>
78418
78419         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
78420         * lib/strstr.c: Completely rewritten, with multibyte locale support.
78421
78422 2005-08-17  Bruno Haible  <bruno@clisp.org>
78423
78424         * lib/strcasestr.h: New file.
78425         * lib/strcasestr.c: New file.
78426
78427 2005-08-17  Bruno Haible  <bruno@clisp.org>
78428
78429         * lib/strcasecmp.c: Use mbuiter.h.
78430
78431 2005-08-17  Bruno Haible  <bruno@clisp.org>
78432
78433         * lib/mbuiter.h: New file.
78434
78435 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78436
78437         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
78438         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
78439         and gl_GETOPT are both invoked via different paths (as happens
78440         with GNU tar CVS because it uses both argp and getopt), the former
78441         wins.
78442
78443 2005-08-16  Bruno Haible  <bruno@clisp.org>
78444
78445         * modules/tls: New file.
78446         * MODULES.html.sh (Multithreading): Add tls.
78447
78448 2005-08-16  Bruno Haible  <bruno@clisp.org>
78449
78450         * modules/strnlen1: New file.
78451         * MODULES.html.sh (String handling): Add strnlen1.
78452
78453 2005-08-16  Bruno Haible  <bruno@clisp.org>
78454
78455         * modules/strcase (Files): Add m4/mbrtowc.m4.
78456         (Depends-on): Add strnlen1, mbchar.
78457
78458 2005-08-16  Bruno Haible  <bruno@clisp.org>
78459
78460         * modules/mbiter: New file.
78461         * MODULES.html.sh (Extended multibyte and wide character utilities):
78462         Add mbiter.
78463
78464 2005-08-16  Bruno Haible  <bruno@clisp.org>
78465
78466         * modules/mbfile: New file.
78467         * MODULES.html.sh (Extended multibyte and wide character utilities):
78468         Add mbfile.
78469
78470 2005-08-16  Bruno Haible  <bruno@clisp.org>
78471
78472         * modules/mbchar: New file.
78473         * MODULES.html.sh (Extended multibyte and wide character utilities):
78474         New section.
78475
78476 2005-08-16  Bruno Haible  <bruno@clisp.org>
78477
78478         * m4/tls.m4: New file, from GNU gettext.
78479
78480 2005-08-16  Bruno Haible  <bruno@clisp.org>
78481
78482         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
78483         always.
78484         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
78485
78486 2005-08-16  Bruno Haible  <bruno@clisp.org>
78487
78488         * m4/mbiter.m4: New file.
78489
78490 2005-08-16  Bruno Haible  <bruno@clisp.org>
78491
78492         * m4/mbfile.m4: New file.
78493
78494 2005-08-16  Bruno Haible  <bruno@clisp.org>
78495
78496         * m4/mbchar.m4: New file.
78497
78498 2005-08-16  Bruno Haible  <bruno@clisp.org>
78499
78500         * lib/tls.h: New file, from GNU gettext.
78501         * lib/tls.c: New file, from GNU gettext.
78502
78503 2005-08-16  Bruno Haible  <bruno@clisp.org>
78504
78505         * lib/strnlen1.h: New file.
78506         * lib/strnlen1.c: New file.
78507
78508 2005-08-16  Bruno Haible  <bruno@clisp.org>
78509
78510         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
78511         (mbi_init): Update.
78512         (mbi_avail, mbi_advance): Let the iteration end before the terminating
78513         NUL byte, not after it.
78514
78515 2005-08-16  Bruno Haible  <bruno@clisp.org>
78516
78517         * lib/strcase.h (strcasecmp): Add note in comments.
78518         * lib/strncasecmp.c: Use code from strcasecmp.c.
78519         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
78520         (strcasecmp): Work correctly in multibyte locales.
78521
78522 2005-08-16  Bruno Haible  <bruno@clisp.org>
78523
78524         * lib/mbiter.h: New file.
78525
78526 2005-08-16  Bruno Haible  <bruno@clisp.org>
78527
78528         * lib/mbfile.h: New file.
78529
78530 2005-08-16  Bruno Haible  <bruno@clisp.org>
78531
78532         * lib/mbchar.h: New file.
78533         * lib/mbchar.c: New file.
78534
78535 2005-08-16  Bruno Haible  <bruno@clisp.org>
78536
78537         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
78538         the valid ones. Makes the comparison operations transitive:
78539         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
78540         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
78541
78542 2005-08-15  Simon Josefsson  <jas@extundo.com>
78543
78544         * modules/ssize_t (License): Change to 'unlimited'.
78545
78546         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
78547
78548 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78549
78550         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
78551         Add comments for each pending glibc patch.
78552
78553 2005-08-15  Bruno Haible  <bruno@clisp.org>
78554
78555         * lib/regex.h (__restrict_arr): Don't define to __restrict if
78556         __cplusplus is defined.
78557
78558 2005-08-14  Jim Meyering  <jim@meyering.net>
78559
78560         Sync from coreutils.
78561
78562         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
78563         Use the hash-table-based cycle-detection code not just when
78564         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
78565         Reported by James Youngman in
78566         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
78567         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
78568         FTS_TIGHT_CYCLE_CHECK.
78569         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
78570         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
78571         once again.
78572         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
78573         * lib/fts.c (fd_safer): Remove decl.
78574         Include fcntl--.h rather than unistd-safer.h
78575         (fts_safe_changedir): Don't call fd_safer; no longer needed
78576         now that we include fcntl--.h.
78577
78578 2005-08-12  Simon Josefsson  <jas@extundo.com>
78579
78580         * modules/getndelim2: Use ssize_t module.
78581         * modules/getnline: Likewise.
78582         * modules/safe-read: Likewise.
78583         * modules/xreadlink: Likewise.
78584
78585         * modules/ssize_t: New file.
78586
78587 2005-08-12  Simon Josefsson  <jas@extundo.com>
78588
78589         * m4/readline.m4: Look for termcap, curses or ncurses if required.
78590
78591 2005-08-12  Simon Josefsson  <jas@extundo.com>
78592
78593         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78594         ssize_t.
78595
78596 2005-08-12  Simon Josefsson  <jas@extundo.com>
78597
78598         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
78599         readline, getdelim and check_version.
78600         (Support for systems lacking ISO C 99: Sizes of integer types):
78601         Add size_max.
78602
78603 2005-08-12  Bruno Haible  <bruno@clisp.org>
78604
78605         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
78606
78607 2005-08-11  Simon Josefsson  <jas@extundo.com>
78608
78609         * modules/readline: New file.
78610
78611         * modules/strnlen (Files): Add strnlen.h.
78612
78613 2005-08-11  Simon Josefsson  <jas@extundo.com>
78614
78615         * m4/readline.m4: New file.
78616
78617 2005-08-11  Simon Josefsson  <jas@extundo.com>
78618
78619         * lib/readline.h, readline.c: New file.
78620
78621 2005-08-11  Simon Josefsson  <jas@extundo.com>
78622
78623         * doc/gnulib.texi (Initial import, Finishing touches): Mention
78624         gl_AVOID.
78625
78626 2005-08-11  Bruno Haible  <bruno@clisp.org>
78627
78628         * lib/strnlen.h (strnlen): Change parameter name to match comment.
78629
78630 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
78631
78632         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
78633
78634 2005-08-10  Simon Josefsson  <jas@extundo.com>
78635
78636         * tests/test-iconvme.c: New file.
78637
78638 2005-08-10  Simon Josefsson  <jas@extundo.com>
78639
78640         * m4/strnlen.m4: New file.
78641
78642         * m4/strndup.m4: Don't check for strnlen declaration, done in
78643         strnlen.m4.
78644
78645 2005-08-10  Simon Josefsson  <jas@extundo.com>
78646
78647         * lib/strndup.c: Use strnlen.h.
78648
78649         * lib/strnlen.h: New file.
78650
78651 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78652
78653         * README: Typos.
78654
78655 2005-08-02  Simon Josefsson  <jas@extundo.com>
78656
78657         * modules/readline: New file.
78658
78659 2005-08-02  Simon Josefsson  <jas@extundo.com>
78660
78661         * modules/getdelim: New file.
78662
78663         * modules/getline: Rewrite, don't use getndelim2.
78664
78665 2005-08-02  Simon Josefsson  <jas@extundo.com>
78666
78667         * m4/getline.m4: Separate out getdelim stuff into separate module.
78668
78669         * m4/getdelim.m4: New file.
78670
78671 2005-08-02  Simon Josefsson  <jas@extundo.com>
78672
78673         * lib/getline.h, getline.c: Rewrite.
78674
78675         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
78676
78677 2005-07-31  Bruno Haible  <bruno@clisp.org>
78678
78679         * lib/lock.h (gl_lock_initializer): New macro.
78680         (gl_lock_define_initialized): Use it.
78681         (gl_rwlock_initializer): New macro.
78682         (gl_rwlock_define_initialized): Use it.
78683         (gl_recursive_lock_initializer): New macro.
78684         (gl_recursive_lock_define_initialized): Use it.
78685
78686 2005-07-30  Karl Berry  <karl@gnu.org>
78687
78688         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
78689         Report from Ben Pfaff, regarding getopt.
78690
78691 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
78692
78693         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
78694         normal way.
78695         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
78696         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
78697         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
78698         (gl_GETOPT): Use the new macros.  Most of the implementation
78699         is moved to the new macros.  This is for programs like Emacs
78700         that don't want all the functionality of gl_GETOPT.
78701
78702 2005-07-26  Bruno Haible  <bruno@clisp.org>
78703
78704         * m4/lock.m4: Update from GNU gettext.
78705
78706 2005-07-26  Bruno Haible  <bruno@clisp.org>
78707
78708         * lib/lock.h: Update from GNU gettext.
78709         * lib/lock.c: Update from GNU gettext.
78710
78711 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
78712
78713         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
78714         obsolescent AC_TRY_RUN.  Include the default includes files, for
78715         'exit'.
78716
78717 2005-07-24  Bruno Haible  <bruno@clisp.org>
78718
78719         * modules/visibility: New file.
78720         * MODULES.html.sh (Misc): Add visibility.
78721
78722 2005-07-24  Bruno Haible  <bruno@clisp.org>
78723
78724         * m4/visibility.m4: New file.
78725
78726 2005-07-24  Bruno Haible  <bruno@clisp.org>
78727
78728         * doc/visibility.texi: New file.
78729
78730 2005-07-22  Bruno Haible  <bruno@clisp.org>
78731
78732         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
78733         $(ALLOCA_H), redundant through BUILT_SOURCES.
78734         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
78735         redundant through BUILT_SOURCES.
78736         * modules/byteswap (Makefile.am): Remove explicit dependency on
78737         $(BYTESWAP_H), redundant through BUILT_SOURCES.
78738         * modules/fnmatch (Makefile.am): Remove explicit dependency on
78739         $(FNMATCH_H), redundant through BUILT_SOURCES.
78740         * modules/getopt (Makefile.am): Remove explicit dependency on
78741         $(GETOPT_H), redundant through BUILT_SOURCES.
78742         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
78743         redundant through BUILT_SOURCES.
78744         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
78745         redundant through BUILT_SOURCES.
78746         * modules/stdbool (Makefile.am): Remove explicit dependency on
78747         $(STDBOOL_H), redundant through BUILT_SOURCES.
78748         * modules/stdint (Makefile.am): Remove explicit dependency on
78749         $(STDINT_H), redundant through BUILT_SOURCES.
78750         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
78751         Remove explicit dependency on $(SYSEXITS_H).
78752         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
78753
78754 2005-07-18  Simon Josefsson  <jas@extundo.com>
78755
78756         * lib/check-version.c (check_version): Accept identical versions too.
78757
78758 2005-07-18  Bruno Haible  <bruno@clisp.org>
78759
78760         * modules/lock: New file.
78761         * MODULES.html.sh (Multithreading): New section.
78762
78763 2005-07-18  Bruno Haible  <bruno@clisp.org>
78764
78765         * m4/lock.m4: New file, from GNU gettext.
78766
78767 2005-07-18  Bruno Haible  <bruno@clisp.org>
78768
78769         * lib/lock.h: New file, from GNU gettext.
78770         * lib/lock.c: New file, from GNU gettext.
78771
78772 2005-07-18  Bruno Haible  <bruno@clisp.org>
78773
78774         * lib/lock.h (gl_once_t): New type.
78775         (gl_once_define, gl_once): New macros.
78776         * lib/lock.c (fresh_once): New variable.
78777         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
78778         functions.
78779
78780 2005-07-16  Simon Josefsson  <jas@extundo.com>
78781
78782         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
78783         workaround, suggested by Bruno.
78784
78785 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78786
78787         * modules/xalloc (Depends-on): Add xalloc-die.
78788         * modules/xvasprintf (Depends-on): Add xalloc-die.
78789
78790 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
78791
78792         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
78793         with a minor change.
78794
78795 2005-07-15  Bruno Haible  <bruno@clisp.org>
78796
78797         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
78798         When using lib/poll.c, define poll as rpl_poll.
78799
78800 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
78801
78802         * modules/argp (Depends-on): Remove unlocked-io.
78803
78804 2005-07-14  Derek Price  <derek@ximbiot.com>
78805
78806         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
78807         for glob symlink bug.
78808
78809 2005-07-14  Bruno Haible  <bruno@clisp.org>
78810
78811         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
78812         Instead, test for *_unlocked function declarations directly.
78813
78814 2005-07-11  Simon Josefsson  <jas@extundo.com>
78815
78816         * modules/size_max: New file.
78817
78818         * modules/xsize: Depend on size_max module for size_max.m4.
78819
78820 2005-07-11  Simon Josefsson  <jas@extundo.com>
78821
78822         * lib/size_max.h: New file.
78823
78824 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
78825
78826         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
78827         copyright symbol and the year.
78828         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
78829         (version_etc_va): Use parameterized copyright notice.
78830         Reword to conform to the current GNU coding standards.
78831
78832 2005-07-11  Karl Berry  <karl@gnu.org>
78833
78834         * doc/gnulib.texi (Quoting): new node.
78835         (Initial import): more info, from Patrice.
78836
78837 2005-07-11  Bruno Haible  <bruno@clisp.org>
78838
78839         * gnulib-tool (func_usage): Document option --avoid.
78840         (Command line options): Handle --avoid.
78841         (func_acceptable): New function.
78842         (func_modules_transitive_closure): Use it.
78843
78844 2005-07-11  Bruno Haible  <bruno@clisp.org>
78845
78846         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
78847         Reported by Jim Meyering.
78848
78849 2005-07-10  Bruno Haible  <bruno@clisp.org>
78850
78851         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
78852         Needed when size_t is smaller than 'unsigned int'.
78853         Reported by Paul Eggert.
78854
78855 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78856
78857         * modules/argp (Depends-on): Add unlocked-io
78858
78859 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78860
78861         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
78862         block of defines.
78863
78864 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78865
78866         * config/srclist.txt: Comment out regcomp.c, since we have a porting
78867         fix now.
78868
78869 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
78870         and Paul Eggert  <eggert@cs.ucla.edu>
78871
78872         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
78873         in wint_t, not wchar_t.  Remove now-unnecessary cast.
78874
78875 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78876
78877         * modules/regex (Files): Add lib/regex_internal.c,
78878         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
78879         (Depends-on): Add extensions.
78880         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
78881
78882 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78883
78884         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
78885         pathconf.
78886         * m4/same.m4 (gl_SAME): Likewise.
78887         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
78888
78889         * m4/regex.m4: Adjust to new libc regex implementation.
78890         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
78891         all the .c and .h parts of (the new) regex.
78892         Quote the m4 stuff better.
78893         Check for RE_ICASE bug of old gnulib.
78894         Check for REG_STARTEND of recent libc.
78895         Rename local variables from jm_* to gl_*.
78896         Quote operand of "test -f".
78897         Say "recent enough" version of libc, not "version 2".
78898         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
78899         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
78900         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
78901         Remove check for btowc, isascii.
78902         Require AM_LANGINFO_CODESET.
78903
78904 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78905
78906         * lib/regex.c, regex.h: Sync from libc.
78907         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
78908         * lib/regexec.c:
78909         New files, synced from libc, except that regex_internal.h
78910         currently has a small porting fix.
78911
78912 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
78913
78914         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
78915         regex_internal.c, regexec.c.
78916         Add regex_internal.h too, but as a comment, since the libc version
78917         is currently broken in gnulib mode.
78918
78919 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78920
78921         Support programs like Emacs that use gnulib but not gettext.
78922         * MODULES.html.sh (Internationalization functions): Add gettext-h.
78923         * modules/gettext-h: New file.
78924         * modules/gettext (Files): Remove lib/gettext.h.
78925         (Depends-on): Add gettext-h.
78926         (Makefile.am): Remove lib_SOURCES.
78927         * modules/argmatch, modules/c-stack, modules/closeout:
78928         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
78929         * modules/execute, modules/file-type, modules/getaddrinfo:
78930         * modules/getopt, modules/human, modules/javacomp:
78931         * modules/javaexec, modules/mkdir-p, modules/obstack:
78932         * modules/openat, modules/pagealign_alloc, modules/pipe:
78933         * modules/quotearg, modules/regex, modules/rpmatch:
78934         * modules/unicodeio, modules/userspec, modules/version-etc:
78935         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
78936         * modules/xsetenv:
78937         Depend on gettext-h, not gettext.
78938
78939 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78940
78941         * gnulib-tool (func_import): Add support for 'public domain' license.
78942         * modules/alloca, modules/atexit, modules/memmove:
78943         Now public domain, not GPL.
78944         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
78945         * modules/realloc, modules/strerror, modules/strtod:
78946         Now LGPL, not GPL.
78947
78948 2005-07-05  Bruno Haible  <bruno@clisp.org>
78949
78950         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
78951         autoconf CVS. Needed for mingw.
78952
78953 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78954
78955         Remove the dependency of the strftime module on the tzset module.
78956         * modules/strftime (Depends-on): Remove dependency on tzset.
78957
78958 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78959
78960         Remove the dependency of the strftime module on the tzset module.
78961         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
78962         gl_FUNC_TZSET_CLOBBER.
78963
78964 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78965
78966         Remove the dependency of the strftime module on the tzset module.
78967         * lib/strftime.c (my_strftime)
78968         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
78969         Copy the input structure, to work around some of the bug with
78970         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
78971         Solaris releases, you should also use the tzset module, but we won't
78972         require it as a dependency any more since we don't want LGPLed code
78973         to depend on GPLed code.
78974
78975 2005-07-02  Jim Meyering  <jim@meyering.net>
78976
78977         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
78978         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
78979         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
78980         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
78981
78982 2005-07-02  Jim Meyering  <jim@meyering.net>
78983
78984         * lib/backupfile.c (backup_args): Change a `0' to NULL.
78985
78986 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78987
78988         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
78989         declares only 'struct timespec;' (!).
78990
78991 2005-07-01  Jim Meyering  <jim@meyering.net>
78992
78993         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
78994         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
78995         * lib/save-cwd.c, tempname.c:
78996         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78997         and don't include <sys/file.h>).
78998
78999 2005-06-29  Jim Meyering  <jim@meyering.net>
79000
79001         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
79002         type name.  Use the variable name instead.
79003         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
79004         Likewise.
79005
79006 2005-06-28  Simon Josefsson  <jas@extundo.com>
79007
79008         * modules/check-version (Files): Add check-version.m4.
79009
79010 2005-06-28  Simon Josefsson  <jas@extundo.com>
79011
79012         * m4/check-version.m4: New file, suggested by Jim Meyering
79013         <jim@meyering.net>.
79014
79015 2005-06-28  Simon Josefsson  <jas@extundo.com>
79016
79017         * lib/check-version.h, lib/check-version.c: New files.
79018
79019 2005-06-28  Simon Josefsson  <jas@extundo.com>
79020
79021         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
79022         collision with global variable.  Better indentation.  Don't
79023         increment buffer pointer beyond buffer end.  Based on comments
79024         from Paul Eggert <eggert@cs.ucla.edu>.
79025
79026         * lib/base64.h: Indent.
79027
79028 2005-06-28  Simon Josefsson  <jas@extundo.com>
79029
79030         * doc/gnulib.texi (Library version handling): New section.
79031
79032 2005-06-28  Jim Meyering  <jim@meyering.net>
79033
79034         * check-module (find_included_lib_files): Hard-code another
79035         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
79036         but modules/fts-lgpl (correctly) does not list those files.
79037
79038         * modules/canonicalize (Files): Add lib/pathmax.h.
79039
79040 2005-06-25  Simon Josefsson  <jas@extundo.com>
79041
79042         * modules/check-version: New file.
79043
79044 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
79045
79046         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
79047         initializer of struct addrinfo, as an indication that we don't
79048         care how many members the structure has.
79049
79050 2005-06-24  Derek Price  <derek@ximbiot.com>
79051         and Bruno Haible  <bruno@clisp.org>
79052
79053         Remove stat module & update lstat.
79054         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
79055         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79056         * m4/stat.m4: Remove this file.
79057
79058 2005-06-24  Derek Price  <derek@ximbiot.com>
79059         and Bruno Haible  <bruno@clisp.org>
79060
79061         Remove stat module & update lstat.
79062         * lib/stat.c: Remove this file...
79063         (slash_aware_lstat): ...moving this content and its support...
79064         * lib/lstat.c (rpl_lstat): ...into here.
79065         * lib/lstat.h: New file.
79066
79067 2005-06-24  Derek Price  <derek@ximbiot.com>
79068         and Bruno Haible  <bruno@clisp.org>
79069
79070         Remove stat module & update lstat.
79071         * config/srclist.txt (libc sources): Remove stat.
79072
79073 2005-06-24  Derek Price  <derek@ximbiot.com>
79074         and Bruno Haible  <bruno@clisp.org>
79075
79076         Remove stat module & update lstat.
79077         * MODULES.html.sh (stat): Remove.
79078         * MODULES.html: Regenerated.
79079         * modules/lstat (Description): Correct function name.
79080         (Files): Add "lstat.h".
79081         (Depends-on): Remove stat, add xalloc, stat-macros.
79082         * modules/stat: Remove this file.
79083         (Include): Add "lstat.h", remove <sys/stat.h>.
79084
79085 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
79086
79087         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
79088         (ranged_convert): Don't save conversion in a temporary struct.
79089         This causes a warning with GCC 4.0.0, and anyway in the typical
79090         case it's not worth the extra 100 bytes or so of code.
79091         (ranged_convert, __mktime_internal): When calling a function via a
79092         pointer P, use P () rather than (*P) (), as we now assume C89 or
79093         better.
79094
79095 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79096
79097         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
79098         "who -r" failed to give output.  Problem reported by Tim Waugh.
79099
79100         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
79101         (xcalloc): Use it to avoid needless tests.
79102         Problem reported by Jim Meyering.
79103
79104 2005-06-20  Derek Price  <derek@ximbiot.com>
79105
79106         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
79107         unnecessary for Autoconfs > 2.59c.
79108
79109 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79110
79111         * lib/argp.h (__option_is_short): Check upper limit of
79112         __key. Isprint() requires its argument to have the value
79113         of an unsigned char or EOF.
79114
79115 2005-06-16  Jim Meyering  <jim@meyering.net>
79116
79117         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
79118         when either N or S is zero.
79119
79120 2005-06-16  Derek Price  <derek@ximbiot.com>
79121
79122         * m4/bison.m4: Declare YACC & YFLAGS precious.
79123
79124 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
79125
79126         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
79127         multibyte string or pattern, fall back on unibyte matching.
79128         Problem reported by James Youngman.
79129
79130 2005-06-08  Bruno Haible  <bruno@clisp.org>
79131
79132         * modules/csharpcomp: New file.
79133         * MODULES.html.sh (C#): Add csharpcomp.
79134
79135 2005-06-08  Bruno Haible  <bruno@clisp.org>
79136
79137         * m4/csharpcomp.m4: New file, from GNU gettext.
79138
79139 2005-06-08  Bruno Haible  <bruno@clisp.org>
79140
79141         * lib/csharpcomp.h: New file, from GNU gettext.
79142         * lib/csharpcomp.c: New file, from GNU gettext.
79143         * lib/csharpcomp.sh.in: New file, from GNU gettext.
79144
79145 2005-06-08  Bruno Haible  <bruno@clisp.org>
79146
79147         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
79148         warning on mingw.
79149
79150 2005-06-07  Derek Price  <derek@ximbiot.com>
79151
79152         Sync from CVS.
79153         * lib/glob_.h: Indent nested #ifdef.
79154
79155 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79156
79157         Sync from coreutils.
79158         Use "file name" when talking about file names, instead of "filename"
79159         or "path", as per the GNU coding standards.
79160         * lib/mkdir-p.c: Renamed from makepath.c.
79161         (make_dir_parents): Renamed from make_path.  All callers changed.
79162         * lib/mkdir-p.h: Likewise.  All includers changed.
79163         * lib/filenamecat.c: Renamed from path-concat.c.
79164         (file_name_concat): Renamed from path_concat.  All callers changed.
79165         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
79166         * lib/filenamecat.h: Likewise.  All includers changed.
79167         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
79168         in comments or local variable names.
79169         * lib/basename.c: Likewise.
79170         * lib/canonicalize.c, canonicalize.h: Likewise.
79171         * lib/dirname.c, dirname.h: Likewise.
79172         * lib/euidaccess.c: Likewise.
79173         * lib/exclude.c: Likewise
79174         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
79175         * lib/fsusage.c, fsuage.h: Likewise.
79176         * lib/fts.c, fts_.h: Likewise.
79177         * lib/getcwd.c: Likewise.
79178         * lib/getloadavg.c: Likewise.
79179         * lib/mkstemp.c: Likewise.
79180         * lib/mountlist.c, mountlist.h: Likewise.
79181         * lib/openat.c, openat.h: Likewise.
79182         * lib/readlink-stub.c: Likewise.
79183         * lib/readutmp.c, readutmp.h: Likewise.
79184         * lib/rename.c: Likewise.
79185         * lib/rmdir.c: Likewise.
79186         * lib/same.c: Likewise.
79187         * lib/savedir.c: Likewise.
79188         * lib/stripslash.c: Likewise.
79189         * lib/tempname.c: Likewise.
79190         * lib/xreadlink.c: Likewise.
79191         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
79192         All uses changed.
79193         * lib/exclude.h: Likewise.
79194
79195         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
79196         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79197         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
79198         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79199         * lib/pathmax.h: Include <limits.h> unconditionally, since other
79200         files have been getting away with it for years (MORE/BSD 4.3
79201         is extinct now).
79202         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
79203         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
79204
79205         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
79206         Define to 256, not 255, as per modern POSIX.
79207
79208 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79209
79210         Sync from coreutils.
79211         Use "file name" when talking about file names, instead of "filename"
79212         or "path", as per the GNU coding standards.
79213         * MODULES.html.sh: mkdir-p renamed from makepath.
79214         filenamecat renamed from path-concat.
79215         * modules/filenamecat: Renamed from modules/path-concat.
79216         (Files): filenamecat.h and filenamecat.c renamed from
79217         path-concat.h and path-concat.c.
79218         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
79219         (Include): filenamecat.h, not path-concat.h.
79220         * modules/mkdir-p: Renamed from modules/makepath.
79221         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
79222         makepath.c.
79223         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
79224         (Include): mkdir-p.h, not makepath.h.
79225
79226 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
79227
79228         Sync from coreutils.
79229         * m4/mkdir-p.m4: Renamed from makepath.m4.
79230         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
79231         Rename files from makepath.c to mkdir-p.c, and from
79232         makepath.h to mkdir-p.h.
79233         * m4/filenamecat.m4: Renamed from path-concat.m4.
79234         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
79235         Rename files from path-concat.c to filenamecat.c,
79236         and from path-concat.h to filenamecat.h.
79237         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
79238         "file name" in local variables or comments.
79239         * m4/rename.m4: Likewise.
79240
79241 2005-06-01  Bruno Haible  <bruno@clisp.org>
79242
79243         * modules/csharpexec: New file.
79244         * MODULES.html.sh (C#): New section.
79245
79246 2005-06-01  Bruno Haible  <bruno@clisp.org>
79247
79248         * m4/csharp.m4: New file, from GNU gettext.
79249         * m4/csharpexec.m4: New file, from GNU gettext.
79250
79251 2005-06-01  Bruno Haible  <bruno@clisp.org>
79252
79253         * lib/csharpexec.h: New file, from GNU gettext.
79254         * lib/csharpexec.c: New file, from GNU gettext.
79255         * lib/csharpexec.sh.in: New file, from GNU gettext.
79256
79257 2005-05-31  Derek Price  <derek@ximbiot.com>
79258             Paul Eggert  <eggert@cs.ucla.edu>
79259
79260         Sync from cvs.
79261         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79262
79263 2005-05-31  Derek Price  <derek@ximbiot.com>
79264             Paul Eggert  <eggert@cs.ucla.edu>
79265
79266         Sync from cvs.
79267         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
79268
79269 2005-05-29  Derek Price  <derek@ximbiot.com>
79270
79271         * config/srclist.txt (glob_.h, glob.c): Add these files.
79272
79273 2005-05-29  Derek Price  <derek@ximbiot.com>
79274
79275         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
79276         * modules/glob: New file.
79277         * modules/getlogin_r: Add link to POSIX spec in description.
79278
79279 2005-05-29  Derek Price  <derek@ximbiot.com>
79280             Paul Eggert  <eggert@cs.ucla.edu>
79281
79282         * m4/glob.m4: New file.
79283
79284 2005-05-29  Derek Price  <derek@ximbiot.com>
79285             Paul Eggert  <eggert@cs.ucla.edu>
79286
79287         * lib/glob_.h, lib/glob.c: New files.
79288
79289 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79290
79291         * modules/fts (Files): Remove m4/inttypes-pri.m4.
79292         * modules/fts-lgpl (Depends-on): Remove gettext.
79293
79294 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79295
79296         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
79297         and don't require gt_INTTYPES_PRI.
79298
79299 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
79300
79301         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
79302
79303         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
79304         the configuration hassle isn't worth it.
79305         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
79306         (LONGEST_MODIFIER, PRIuMAX): Remove.
79307
79308 2005-05-27  Bruno Haible  <bruno@clisp.org>
79309
79310         * lib/getlogin_r.h: Remove second include of <stddef.h>.
79311
79312 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
79313
79314         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
79315         _POSIX_PTHREAD_SEMANTICS for Solaris.
79316
79317 2005-05-25  Derek Price  <derek@ximbiot.com>
79318
79319         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
79320
79321 2005-05-25  Derek Price  <derek@ximbiot.com>
79322             Paul Eggert  <eggert@cs.ucla.edu>
79323
79324         * modules/getlogin_r, m4/getlogin_r.m4: New files.
79325         * lib/getlogin_r.c, getlogin_r.h: New files.
79326
79327 2005-05-25  Bruno Haible  <bruno@clisp.org>
79328             Derek Price  <derek@ximbiot.com>
79329
79330         * lib/getlogin_r.h: Simplify API documentation.
79331
79332 2005-05-23  Derek Price  <derek@ximbiot.com>
79333
79334         * modules/minmax (Files): Add m4/minmax.m4.
79335         (configure.ac): Add gl_MINMAX.
79336
79337 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79338
79339         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
79340         so that unistd-safer.h (GPL'ed code) need not be included.
79341
79342 2005-05-22  Bruno Haible  <bruno@clisp.org>
79343
79344         * m4/minmax.m4: New file.
79345         Based on a patch by Derek Price <derek@ximbiot.com>.
79346
79347 2005-05-22  Bruno Haible  <bruno@clisp.org>
79348
79349         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
79350         (INT64_MIN): Fix definition.
79351         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
79352
79353         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
79354         NEED_SIGNED_INT_TYPES.
79355
79356         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
79357         HAVE_SYSTEM_INTTYPES.
79358
79359 2005-05-22  Bruno Haible  <bruno@clisp.org>
79360
79361         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
79362         Also include <sys/param.h> if it defines MIN, MAX.
79363         Based on a patch by Derek Price <derek@ximbiot.com>.
79364
79365 2005-05-21  Jim Meyering  <jim@meyering.net>
79366
79367         * modules/fts (Files): Add m4/inttypes-pri.m4.
79368         (Depends-on): Add lstat and remove gettext.  Alphabetize.
79369
79370 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79371
79372         New fts module.
79373         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
79374         (setup_dir, free_dir): New functions.
79375         (enter_dir, leave_dir): Define trivial
79376         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
79377         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
79378         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
79379         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
79380         Move to fts-cycle.c.
79381         (fts_open): Use setup_dir.
79382         (fts_close): Use free_dir.
79383         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
79384         This adds a label and some gotos, but the alternatives were messier.
79385         Check for memory allocation failure when entering a dir.
79386         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
79387         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
79388         (FTS): New member fts_cycle, that is a union that contains the
79389         old active_dir_ht and cycle_state.  All uses changed to mention
79390         fts_cycle.ht and fts_cycle.state.
79391         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
79392         fts.c, with the following changes:
79393         (setup_dir, free_dir): New functions.
79394         (enter_dir): Now returns bool.  Return true if successful, false
79395         if memory exhausted.  All callers changed.
79396         Do not bother partly cleaning up on
79397         memory allocation failure; that is free_dir's job.
79398         However, free ad if hash_insert fails, to avoid memory leak.
79399         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
79400         fts->fts_options to see which union member to use.
79401
79402 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79403
79404         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
79405         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
79406
79407 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
79408
79409         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
79410
79411 2005-05-20  Jim Meyering  <jim@meyering.net>
79412
79413         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
79414         Now a macro, to pacify GCC.
79415
79416 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79417
79418         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
79419         of -1.
79420
79421 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
79422
79423         * lib/chown.c (rpl_chown): Return -1 on failure.
79424
79425 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79426
79427         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
79428         Don't check for stddef.h.
79429         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
79430         don't use its results.
79431         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
79432         since we include them unconditionally.  Don't require
79433         AM_STDBOOL_H, since stdbool is a prerequisite.
79434         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
79435         since we assume C89 or better.
79436         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
79437         as we don't use their results.
79438         Don't check for fchdir, memmove, memset, strrchr, as we use
79439         them unconditionally.
79440         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
79441         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
79442
79443 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
79444
79445         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
79446         Include <stddef.h> unconditionally, since we assume C89 now.
79447         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
79448         * lib/fts.c: Include fts_.h first, to check interface.
79449         Do not include intprops.h; no longer needed.
79450         Include cycle-check.h and hash.h, since fts_.h no longer does.
79451         Remove unnecessary casts of closedir to void.
79452         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
79453         decide whether to decrement nlinks.
79454         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
79455         (FTS): Use struct hash_table * instead of Hash_table, so that
79456         we no longer need to include hash.h here.
79457
79458 2005-05-18  Jim Meyering  <jim@meyering.net>
79459
79460         * modules/dirfd (License): Change to LGPL.  Most of the code
79461         is already in the public domain.
79462
79463 2005-05-18  Jim Meyering  <jim@meyering.net>
79464
79465         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
79466         Reported by Yoann Vandoorselaere.
79467
79468 2005-05-17  Jim Meyering  <jim@meyering.net>
79469
79470         * m4/fts.m4: New file, from coreutils.
79471
79472 2005-05-17  Jim Meyering  <jim@meyering.net>
79473
79474         * lib/fts.c, lib/fts_.h: New files, from coreutils.
79475
79476 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79477
79478         Sync from coreutils.
79479         * m4/unlinkdir.m4: New file.
79480
79481 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79482
79483         Sync from coreutils.
79484         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
79485         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
79486         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
79487         White space changes only.
79488         * lib/makepath.c (make_path): Port to hosts where leading "//" is
79489         special.
79490         * lib/yesno.c: Include getline.h, not ctype.h.
79491         (yesno): Don't remove leading white space; POSIX doesn't allow it.
79492         Use getline to remove arbitrary restriction on response length.
79493
79494 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79495
79496         * config/srclist-update: Spell out "Street" in FSF postal
79497         mail address; this is the style the FSF seems to prefer.
79498
79499         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
79500         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
79501         this updates FSF postal mail address.
79502
79503         Sync from coreutils.
79504         * modules/unlinkdir: New file.
79505         * modules/yesno (Depends-on): Add getline.
79506         * MODULES.html.sh (File system functions): Add unlinkdir.
79507
79508 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79509
79510         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
79511         lib/strsep.h:
79512         Change the initial comment to refer to GPL, not LGPL.
79513         gnulib-tool will change it to LGPL as needed.
79514
79515         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
79516         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
79517         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
79518         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
79519         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
79520         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
79521         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
79522         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
79523         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
79524         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
79525         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
79526         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
79527         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
79528         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
79529         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
79530         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
79531         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
79532         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
79533         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
79534         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
79535         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
79536         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
79537         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
79538         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
79539         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
79540         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
79541         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
79542         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
79543         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
79544         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
79545         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
79546         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
79547         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
79548         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
79549         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
79550         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
79551         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
79552         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
79553         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
79554         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
79555         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
79556         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
79557         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
79558         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
79559         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
79560         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
79561         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
79562         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
79563         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
79564         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
79565         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
79566         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
79567         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
79568         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
79569         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
79570         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
79571         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
79572         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
79573         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
79574         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
79575         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
79576         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
79577         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
79578         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
79579         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
79580         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
79581         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
79582         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
79583         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
79584         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
79585         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
79586         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
79587         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
79588         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
79589         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
79590         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
79591         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
79592         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
79593         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
79594         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
79595         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
79596         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
79597         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
79598         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
79599         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
79600         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
79601         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
79602         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
79603         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
79604         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
79605         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
79606         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
79607         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
79608         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
79609         lib/yesno.c, lib/yesno.h:
79610         Update FSF postal mail address.
79611
79612 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
79613
79614         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
79615         tests/test-memmem.c, tests/test-stpncpy.c:
79616         Update FSF postal mail address.
79617
79618 2005-05-13  Bruno Haible  <bruno@clisp.org>
79619
79620         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
79621         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
79622         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
79623         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
79624         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
79625         Add support for 64-bit integers in the MSVC compiler.
79626
79627 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79628
79629         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
79630
79631 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
79632
79633         * gnulib-tool (func_import): Sort and uniquify recommended includes.
79634
79635 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
79636
79637         * doc/getdate.texi (General date syntax): Don't say that date
79638         date --iso-8601=ns generates acceptable dates; it doesn't yet.
79639         Problem reported by Nic Ferrier.
79640
79641 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79642
79643         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
79644         specified in ai_socktype. Fix invalid ai_protocol
79645         check. ai_protocol is usually set to 0 or depending on
79646         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
79647         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
79648         ai_socktype / ai_protocol in the returned addrinfo structure.
79649
79650 2005-05-10  Simon Josefsson  <jas@extundo.com>
79651
79652         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
79653         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79654
79655 2005-05-10  Karl Berry  <karl@gnu.org>
79656
79657         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
79658         (from http://www.gnu.org/licenses).
79659         * doc/COPYING.LIB: also rename to COPYING.LESSER.
79660         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
79661         fdl.texi suffices.
79662
79663 2005-05-10  Karl Berry  <karl@gnu.org>
79664
79665         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
79666         (COPYING.DOC): remove.
79667
79668         * config/srclist-update: new FSF address.
79669
79670 2005-05-10  Derek Price  <derek@ximbiot.com>
79671
79672         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
79673         possible.
79674
79675 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79676             Bruno Haible  <bruno@clisp.org>
79677
79678         * modules/inet_ntop: New file.
79679         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
79680         inet_ntop.
79681
79682 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79683             Bruno Haible  <bruno@clisp.org>
79684
79685         * m4/inet_ntop.m4: New file.
79686
79687 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79688             Bruno Haible  <bruno@clisp.org>
79689
79690         * lib/inet_ntop.h: New file.
79691         * lib/inet_ntop.c: New file, from glibc with modifications.
79692
79693 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
79694
79695         * modules/time_r (License): Change to LGPL.
79696         * modules/extensions (License): Change to LGPL.  Actually,
79697         the license is more permissive than that, but currently gnulib-tool
79698         doesn't know how to handle more-permissive licenses.
79699
79700         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
79701         Problem reported by Dave Love.
79702
79703 2005-05-08  Jim Meyering  <jim@meyering.net>
79704
79705         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
79706         blank.
79707
79708 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
79709
79710         * modules/argmatch (Depends-on): Add stdbool.
79711         * modules/backupfile (Depends-on): Likewise.
79712         * modules/chdir-long (Depends-on): Likewise.
79713         * modules/closeout (Depends-on): Likewise.
79714         * modules/cycle-check (Depends-on): Likewise.
79715         * modules/dirname (Depends-on): Likewise.
79716         * modules/fnmatch (Depends-on): Likewise.
79717         * modules/fsusage (Depends-on): Likewise.
79718         * modules/fwriteerror (Depends-on): Likewise.
79719         * modules/getcwd (Depends-on): Likewise.
79720         * modules/getloadavg (Depends-on): Likewise.
79721         * modules/hard-locale (Depends-on): Likewise.
79722         * modules/makepath (Depends-on): Likewise.
79723         * modules/mountlist (Depends-on): Likewise.
79724         * modules/nanosleep (Depends-on): Likewise.
79725         * modules/posixtm (Depends-on): Likewise.
79726         * modules/quotearg (Depends-on): Likewise.
79727         * modules/readtokens (Depends-on): Likewise.
79728         * modules/readtokens0 (Depends-on): Likewise.
79729         * modules/readutmp (Depends-on): Likewise.
79730         * modules/save-cwd (Depends-on): Likewise.
79731         * modules/strftime (Depends-on): Likewise.
79732         * modules/userspec (Depends-on): Likewise.
79733         * modules/utimecmp (Depends-on): Likewise.
79734         * modules/xgetcwd (Depends-on): Likewise.
79735         * modules/xnanosleep (Depends-on): Likewise.
79736         * modules/xstrtod (Depends-on): Likewise.
79737         * modules/yesno (Depends-on): Likewise.
79738
79739 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
79740
79741         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
79742         needless checks.
79743
79744 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79745
79746         Merge from coreutils.  Among other things,
79747         add bulletproofing for cases where stdin, stdout, or stderr are closed.
79748         * lib/fd-safer.c: New file.
79749         * lib/fcntl-safer.h, open-safer.c: Remove.
79750         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
79751         * lib/dup-safer.c: Include unistd-safer.h first.
79752         Don't include errno.h.
79753         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
79754         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
79755         * lib/file-type.c: Rely on file-type.h change.
79756         * lib/getloadavg.c: Include unistd-safer.h.
79757         (getloadavg): Use safer open.
79758         * lib/getusershell.c: Include "stdio-safer.h".
79759         (getusershell): Use safer fopen.
79760         * lib/long-options.c (long_options): Use NULL rather than 0.
79761         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
79762         'free'.
79763         * lib/modechange.c: Likewise.
79764         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
79765         (MODE_DONE): New constant.
79766         (struct mode_change): Remove 'next' member.
79767         (make_node_op_equals): New function; like the old one of the
79768         same name, except it allocates an array.
79769         (mode_compile, mode_create_from_ref): Use it.
79770         (mode_compile): Allocate result as an array, not a linked list.
79771         Parse octal string ourself, so that we catch mistakes like "+0".
79772         (mode_adjust): Arg is an array, not a linked list.
79773         * lib/modechange.c: Include stat-macros.h, xalloc.h.
79774         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
79775         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
79776         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
79777         Remove.  This is now stat-macros.h's job.
79778         (talloc): Remove.  All callers replaced by xalloc, so that
79779         our invokers don't have to worry about reporting memory failures.
79780         (make_node_op_equals): Remove.
79781         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79782         New constants.
79783         (struct mode_change): Moved here from modechange.h.
79784         (mode_append_entry): Remove.
79785         (mode_compile): Remove MASKED_OPS arg, since it encouraged
79786         apps to have incorrect behavior.  Use simpler algorithm for head
79787         and tail.  Don't futz with umask; that's now the job of mode_adjust.
79788         Detect more invalid usages rather than having somewhat-random behavior.
79789         Don't insert an "a=" action, as that leads to incorrect behavior.
79790         (mode_compile, mode_create_from_ref): Return NULL on error instead
79791         of an enum, since now there's only one way to have an error.  All
79792         callers changed.
79793         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
79794         at the correct time.  Simplify calculation of "+u" and its ilk.
79795         Don't mishandle "+X".
79796         (mode_free): Remove "register" and localize decls.
79797         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
79798         (struct mode_change): Move to modechange.c; callers don't
79799         need to see this stuff.
79800         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
79801         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
79802         (mode_change, mode_adjust): Reflect the new signatures noted above.
79803         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
79804         that might redefine system include files.
79805         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
79806         (my_usleep): Use NULL rather than (void *) 0.
79807         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
79808         Use siginterrupt to specify that system calls should be interrupted.
79809         (rpl_nanosleep): Move initialization of suspended closer to call of
79810         my_usleep.
79811         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
79812         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
79813         (desirable_utmp_entry): New function.
79814         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
79815         using x2nrealloc, to simplify logic.
79816         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
79817         size calculation.  Do not assume utmp file is a regular file.
79818         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
79819         (READ_UTMP_CHECK_PIDS): New constant.
79820         * lib/save-cwd.c: Include unistd-safer.h.
79821         (save_cwd): Use fd_safer.
79822         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
79823         [!_LIBC] Include "stat-macros.h" instead.
79824         * lib/unistd-safer.h (fd_safer): New decl.
79825
79826 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79827
79828         * modules/getloadavg (Depends-on): Add unistd-safer.
79829         * modules/getusershell (Depends-on): Add stdio-safer.
79830         * modules/lstat (Depends-on): Remove xalloc.
79831         * modules/mkstemp (Depends-on): Add stat-macros.
79832         * modules/modechange (Depends-on): Remove xstrtol.
79833         Add stat-macros, xalloc.
79834         * modules/save-cwd (Depends-on): Add unistd-safer.
79835         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
79836         * modules/unistd-safer (Files): Add lib/fd-safer.c
79837         (Makefile.am): Remove lib_SOURCES.
79838
79839         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
79840         Remove fcntl-safer; unistd-safer supersedes it.
79841
79842 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79843
79844         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
79845         AC_HEADER_STAT.
79846         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
79847         (gl_PREREQ_CHOWN): Remove.
79848         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
79849         it.  Don't require AC_HEADER_STAT.
79850         (gl_PREREQ_LSTAT): Remove.
79851         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
79852         Don't require AC_HEADER_STAT.
79853         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
79854         (gl_PREREQ_RMDIR): Remove.
79855         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
79856         mention stat-macros.h or AC_HEADER_STAT, since we'll make
79857         the stat-macros module a prerequisite.
79858         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
79859         * m4/filemode.m4 (gl_FILEMODE): Likewise.
79860         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
79861         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
79862         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
79863         variable names.
79864         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
79865         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
79866         variable prefixes.
79867         * m4/fcntl-safer.m4: Remove.
79868         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
79869         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
79870         Invoke gl_PREREQ_FD_SAFER.
79871         (gl_PREREQ_FD_SAFER): New macro.
79872         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
79873         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
79874         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
79875         Remove duplicate call to AC_LIBOBJ(readutmp).
79876         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
79877
79878         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
79879         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
79880
79881 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
79882
79883         * MODULES.html.sh (Misc): Add byteswap.
79884
79885 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79886
79887         * modules/getcwd (Depends-on): Add extensions.
79888         * modules/openat (Depends-on): Likewise.
79889
79890 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79891
79892         * modules/byteswap: New file.
79893
79894 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79895
79896         * m4/byteswap.m4: New file.
79897
79898 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
79899
79900         * lib/byteswap_.h: New file.
79901
79902 2005-04-25  Karl Berry  <karl@gnu.org>
79903
79904         * m4/gettext.m4: Update from GNU gettext 0.14.4.
79905
79906 2005-04-25  Albert Chin  <china@thewrittenword.com>
79907
79908         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
79909         Toolkit C bug.
79910
79911 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
79912
79913         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
79914         (func_ln_if_changed): Remove forcibly for no error message
79915         in case file does not exist.
79916
79917 2005-04-19  Simon Josefsson  <jas@extundo.com>
79918
79919         * gnulib-tool (Options): Make --symlink mean --symbolic.
79920
79921 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
79922
79923         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
79924
79925 2005-04-16  Simon Josefsson  <jas@extundo.com>
79926
79927         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
79928
79929 2005-04-15  Simon Josefsson  <jas@extundo.com>
79930
79931         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
79932
79933 2005-04-15  Simon Josefsson  <jas@extundo.com>
79934
79935         * gnulib-tool: Rename --symlink to --symbolic.
79936
79937 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
79938
79939         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
79940         symbolic links to files instead of copying/moving.  Add --aux-dir,
79941         specifying directory relative --dir where auxiliary build tools
79942         are placed.
79943
79944 2005-04-14  Bruno Haible  <bruno@clisp.org>
79945
79946         * modules/allocsa (License): Change to LGPL.
79947         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
79948
79949 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79950
79951         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
79952         that "UTC +1 second" continues to work.  Problem reported
79953         by Dmitry V. Levin.
79954         (relunit_snumber): New rule.
79955         (relunit): Use it.
79956
79957 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
79958
79959         * lib/getdate.y (universal_time_zone_table): New constant.
79960         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
79961         universal_time_zone_table.
79962         (lookup_zone): Prefer universal_time_zone_table to
79963         local_time_zone_table, so that "GMT" time stamps are allowed in
79964         London during the summer.  Problem reported by Ian Abbott.
79965
79966 2005-04-12  Jim Meyering  <jim@meyering.net>
79967
79968         * lib/human.c (humblock): Set *options even when returning due to
79969         xstrtoumax conversion failure.  Thanks to a used-uninitialized
79970         warning from gcc-4.
79971
79972 2005-04-09  Jim Meyering  <jim@meyering.net>
79973
79974         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
79975         -Wuninitialized: initialize tm0.tm_year.
79976
79977 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
79978
79979         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
79980         count, since there's no maximum.  All uses changed.
79981         Add member dsts_seen.
79982         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
79983         not being INT_MAX.
79984         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
79985         Use pc_rels_seen to decide whther a date is absolute.
79986
79987         * lib/getdate.y (number): Don't overwrite year.
79988         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
79989         check.
79990
79991 2005-04-02  Simon Josefsson  <jas@extundo.com>
79992
79993         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
79994         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
79995
79996 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
79997
79998         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
79999         where no absolute path name can be longer than PATH_MAX.
80000
80001 2005-03-27  Jim Meyering  <jim@meyering.net>
80002
80003         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
80004
80005 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
80006
80007         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
80008         "one's complement" -> "ones' complement" in comment, as per Knuth.
80009         "value of type" -> "type or expression" in comment.
80010         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
80011
80012 2005-03-26  Jim Meyering  <jim@meyering.net>
80013
80014         Comment nits.
80015         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
80016         Correct typos: s/or/of/.
80017
80018 2005-03-26  Jim Meyering  <jim@meyering.net>
80019
80020         * modules/check-include-files: Move to ../ and rename to...
80021         * check-module: ...this.
80022
80023 2005-03-25  Jim Meyering  <jim@meyering.net>
80024
80025         * modules/xvasprintf (Files): Add xalloc.h.
80026
80027 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
80028
80029         * modules/gettext (Files): config/config.rpath ->
80030         build-aux/config.rpath
80031         * modules/iconv (Files): Likewise.
80032         Problem reported by Oskar Liljeblad.
80033
80034 2005-03-23  Jim Meyering  <jim@meyering.net>
80035
80036         * modules/check-include-files: New script to check for
80037         missing dependencies, multiple includes, etc.
80038
80039         * modules/c-strtold (Depends-on): Add xalloc.
80040         * modules/c-strtod (Depends-on): Add xalloc.
80041         * modules/hash (Depends-on): Add xalloc.
80042         (Files): Remove lib/xalloc.h.
80043
80044         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
80045         * modules/userspec (Files): Add lib/inttostr.h.
80046
80047 2005-03-23  Jim Meyering  <jim@meyering.net>
80048
80049         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
80050
80051 2005-03-22  Jim Meyering  <jim@meyering.net>
80052
80053         * modules/stat-macros: New module.
80054         * modules/canonicalize, modules/euidaccess, modules/file-type,
80055         * modules/filemode, modules/lchown, modules/makepath,
80056         * modules/rmdir, modules/stat: Depend on new stat-macros module
80057         rather than listing lib/stat-macros.h manually.
80058         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
80059
80060 2005-03-22  Jim Meyering  <jim@meyering.net>
80061
80062         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
80063
80064 2005-03-22  Bruno Haible  <bruno@clisp.org>
80065
80066         * config/srclist.txt: Replace target directory 'config' with
80067         'build-aux'.
80068         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
80069         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
80070         ../build-aux/.
80071
80072 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
80073
80074         * modules/chdir-long (Depends-on): Add mempcpy.
80075
80076         * modules/acl, modules/backupfile, modules/c-strtod,
80077         modules/c-strtold, modules/canon-host, modules/canonicalize,
80078         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
80079         modules/exclude, modules/exitfail, modules/file-type,
80080         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
80081         modules/getdate, modules/getline, modules/getpagesize,
80082         modules/getpass, modules/getugroups, modules/group-member,
80083         modules/hard-locale, modules/hash, modules/human, modules/idcache,
80084         modules/inttostr, modules/long-options, modules/makepath,
80085         modules/md5, modules/memcasecmp, modules/memcoll,
80086         modules/modechange, modules/mountlist, modules/path-concat,
80087         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
80088         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
80089         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
80090         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
80091         modules/strftime, modules/strndup, modules/strverscmp,
80092         modules/timespec, modules/unlocked-io, modules/userspec,
80093         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
80094         modules/yesno:
80095         Remove lib_SOURCES line from Makefile.am section, as this is now
80096         done automatically by the corresponding Autoconf macro.
80097
80098 2005-03-21  Jim Meyering  <jim@meyering.net>
80099
80100         Changes imported from coreutils.
80101
80102         * lib/cycle-check.c: Don't include xalloc.h.
80103
80104         * lib/path-concat.c: Don't include assert.h.
80105         (path_concat): Remove assertion that would have triggered
80106         for ABASE starting with more than one slash.
80107         Reported by Andreas Schwab.
80108
80109         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
80110         properly when ABASE is an absolute file name.
80111         Correct the description of this function.
80112         Include <assert.h>.
80113         Add an assertion and a test driver.
80114         This fixes a bug introduced on 2004-07-02.
80115         Andreas Schwab reported the resulting failure of cp --parents:
80116         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
80117
80118 2005-03-21  Jim Meyering  <jim@meyering.net>
80119
80120         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
80121         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
80122
80123 2005-03-21  Jim Meyering  <jim@meyering.net>
80124         and  Paul Eggert  <eggert@cs.ucla.edu>
80125
80126         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
80127         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
80128         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
80129         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
80130         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
80131         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
80132         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
80133         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
80134         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
80135         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
80136         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
80137         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
80138         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
80139         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
80140         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
80141         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
80142         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
80143         for these modules.
80144
80145 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
80146
80147         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
80148         (which shouldn't happen), generate nothing instead of returning 0
80149         immediately, so that nstrftime (NULL, ...) doesn't return 0.
80150
80151 2005-03-16  Bruno Haible  <bruno@clisp.org>
80152
80153         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
80154         HAVE_LONGLONG_64BIT.
80155
80156 2005-03-16  Bruno Haible  <bruno@clisp.org>
80157
80158         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
80159         HAVE_LONGLONG_64BIT.
80160
80161 2005-03-16  Bruno Haible  <bruno@clisp.org>
80162
80163         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
80164         HAVE_LONGLONG_64BIT.
80165
80166 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80167
80168         * lib/strftime.c (my_strftime): Prepend space to format so that we can
80169         reliably distinguish strftime failure from empty output on POSIX
80170         hosts.
80171
80172 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
80173
80174         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
80175         (iconv_string): Don't guess a size-zero buffer, as that might cause
80176         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
80177         result would be 'too large', where 'too large' is (heuristically)
80178         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
80179         overflow concerns.  This will prevent some unwanted malloc failures
80180         when the inputs are very large.
80181
80182 2005-03-15  Karl Berry  <karl@gnu.org>
80183
80184         * config/srclist.txt (config.rpath): from gettext.
80185         * config/config.rpath: update.
80186
80187 2005-03-15  Bruno Haible  <bruno@clisp.org>
80188
80189         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
80190         to 'negate'.
80191
80192         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
80193         variable.
80194
80195         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
80196         results.
80197
80198 2005-03-14  Simon Josefsson  <jas@extundo.com>
80199
80200         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
80201         <fx@gnu.org>.
80202
80203 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
80204
80205         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
80206         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
80207         intprops.h.
80208         * lib/strtol.c: Likewise.
80209
80210 2005-03-14  Jim Meyering  <jim@meyering.net>
80211
80212         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
80213         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
80214         to be nonzero so that we (and caller) can detect the difference
80215         between a valid zero-length expansion and an error return, even
80216         when the underlying strftime fails before writing anything into
80217         that location.
80218
80219 2005-03-14  Bruno Haible  <bruno@clisp.org>
80220
80221         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
80222         Update from GNU gettext 0.14.3.
80223
80224 2005-03-10  Jim Meyering  <jim@meyering.net>
80225
80226         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
80227
80228 2005-03-10  Jim Meyering  <jim@meyering.net>
80229
80230         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
80231         so that this module works on systems without fchdir.
80232
80233 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
80234
80235         Factor int-properties macros into a single file, except for
80236         glibc-related files.
80237         * lib/intprops.h: New file.
80238         * lib/getloadavg.c: Include it instead of limits.h.
80239         (INT_STRLEN_BOUND): Remove.
80240         * lib/human.c: Include intprops.h.
80241         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
80242         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
80243         302/1000.
80244         * lib/inttostr.h: Include intprops.h instead of limits.h.
80245         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
80246         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
80247         for consistency with intprops.h.
80248         (time_t_is_integer, twos_complement_arithmetic): Use them.
80249         * lib/sig2str.h: Include <signal.h>, intprops.h.
80250         (INT_STRLEN_BOUND): Remove.
80251         * lib/strftime.c (TYPE_SIGNED): Remove.
80252         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
80253         * lib/strtol.c: Adjust comments to match intprops.h.
80254         * lib/userspec.c: Include intprops.h.
80255         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
80256         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
80257         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
80258         instead of rolling our own expressions.
80259         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
80260
80261         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
80262         instead of int.
80263         (my_strftime): Do not mishandle years close to INT_MAX, by doing
80264         the right thing even if adding 1900 would overflow.  Similarly
80265         for tm_mon + 1 and tm_yday + 1.
80266         Make %Y always equivalent to %C%y, and similarly for %G and %g.
80267         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
80268         (DO_SIGNED_NUMBER): New macro.
80269         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
80270
80271 2005-03-07  Bruno Haible  <bruno@clisp.org>
80272
80273         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
80274
80275 2005-03-07  Bruno Haible  <bruno@clisp.org>
80276
80277         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
80278
80279 2005-03-04  Derek R. Price  <derek@ximbiot.com>
80280
80281         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
80282         (func_import): Only replace files via --import when they have actually
80283         changed.
80284
80285 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80286
80287         * m4/mmap-anon.m4: New file.
80288         * m4/pagealign_alloc.m4: New file.
80289
80290 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80291             Bruno Haible  <bruno@clisp.org>
80292
80293         * modules/pagealign_alloc: New file.
80294         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
80295
80296 2005-03-03  Derek R. Price  <derek@ximbiot.com>
80297             Bruno Haible  <bruno@clisp.org>
80298
80299         * lib/pagealign_alloc.h: New file.
80300         * lib/pagealign_alloc.c: New file.
80301
80302 2005-03-03  Bruno Haible  <bruno@clisp.org>
80303
80304         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
80305         Use an all-permissive copyright notice, recommended by RMS.
80306
80307 2005-03-02  Bruno Haible  <bruno@clisp.org>
80308
80309         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
80310         of AIX, the replacement has to be done only after <string.h> is
80311         included, therefore not in config.h. stpncpy.h does the replacement,
80312         and stpncpy.c uses it.
80313
80314 2005-03-02  Bruno Haible  <bruno@clisp.org>
80315
80316         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
80317         stpncpy.c uses it.
80318
80319 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80320
80321         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
80322         The workaround isn't strictly needed for POSIX conformance, and
80323         it's too much of a pain to configure and maintain.  We'll ask
80324         people to fix their kernels instead.
80325         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
80326         (NANOSLEEP_BUG_WORKAROUND): Remove.
80327         (xnanosleep): Remove the workaround.
80328
80329 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80330
80331         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
80332         Reported by Derek Price.
80333         (Include): Add "timespec.h".
80334
80335         * modules/xnanosleep (Depends-on): Remove gethrxtime.
80336
80337 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80338
80339         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
80340         to detect nanosleep bug.
80341
80342 2005-03-01  Bruno Haible  <bruno@clisp.org>
80343
80344         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
80345
80346 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80347
80348         * modules/gethrxtime: New file.
80349         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
80350         (Depends-on): Add gethrxtime.
80351         (configure.ac): Add gl_XNANOSLEEP.
80352         (Makefile.am): Remove lib_SOURCES line.
80353
80354 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80355
80356         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
80357         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
80358
80359 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
80360
80361         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
80362         * lib/timespec.h (gettime): Return void, since it always
80363         succeeds now.  All uses changed.
80364         * lib/gettime.c (gettime): Likewise.
80365         [HAVE_NANOTIME]: Prefer nanotime.
80366         Assume gettimeofday succeeds, as POSIX requires.
80367         Assime time () succeeds, since other code already does.
80368         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
80369         (timespec_subtract): Remove.
80370         (NANOSLEEP_BUG_WORKAROUND): New constant.
80371         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
80372         things considerably.  Use it only on GNU/Linux hosts, since the
80373         workaround shouldn't be needed elsewhere.
80374
80375 2005-02-24  Bruno Haible  <bruno@clisp.org>
80376
80377         * modules/gettext (Files): Add m4/glibc2.m4.
80378
80379 2005-02-24  Bruno Haible  <bruno@clisp.org>
80380
80381         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
80382         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
80383         * m4/progtest.m4:
80384         Update from GNU gettext 0.14.2.
80385         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
80386
80387 2005-02-24  Bruno Haible  <bruno@clisp.org>
80388
80389         * lib/localcharset.c: Update from GNU gettext 0.14.2.
80390         * lib/config.charset: Update from GNU gettext 0.14.2.
80391
80392 2005-02-24  Bruno Haible  <bruno@clisp.org>
80393
80394         * lib/gettext.h: Update from GNU gettext 0.14.2.
80395
80396 2005-02-23  Simon Josefsson  <jas@extundo.com>
80397
80398         * m4/iconvme.m4: New file.
80399
80400 2005-02-23  Jim Meyering  <jim@meyering.net>
80401
80402         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
80403         change.
80404         Thanks to Bruno Haible for catching it.
80405
80406 2005-02-22  Simon Josefsson  <jas@extundo.com>
80407
80408         * modules/iconvme: New file.
80409
80410         * MODULES.html.sh: Add iconvme.
80411
80412 2005-02-22  Simon Josefsson  <jas@extundo.com>
80413
80414         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
80415
80416 2005-02-22  Simon Josefsson  <jas@extundo.com>
80417
80418         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
80419
80420 2005-02-22  Jim Meyering  <jim@meyering.net>
80421
80422         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
80423         s/ifndef/ifdef/.
80424
80425 2005-02-20  Neil Conway  <neilc@samurai.com>
80426
80427         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
80428         returned by OSX/Darwin if the specified buffer is not large
80429         enough for the hostname.
80430
80431 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80432
80433         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
80434         pass it to _help, otherwise the latter coredumps trying to
80435         dereference state.root_argp.
80436
80437 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80438
80439         * modules/chdir-long (Depends-on): Add memrchr.
80440         * modules/memrchr (Files): Add lib/memrchr.h.
80441         (Include): "memrchr.h".
80442
80443 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80444
80445         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
80446
80447 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
80448
80449         * lib/memrchr.h: New file.
80450         * lib/chdir-long.c: Include it.
80451         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
80452         Don't bother including stddef.h.
80453
80454 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
80455
80456         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
80457         inclusion.
80458         Include <sys/types.h>, for dev_t.
80459         (ME_DUMMY, ME_REMOTE): Move from here....
80460         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
80461         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
80462         Dmitry V. Levin.
80463         Include mountlist.h first, to test the interface.
80464
80465 2005-01-29  Bruno Haible  <bruno@clisp.org>
80466
80467         * lib/progname.c (program_name): Initialize.
80468         Needed when linking statically on MacOS X.
80469
80470 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80471
80472         Sync from coreutils.
80473         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
80474         (Depends-on): Add c-strtod.
80475         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
80476
80477 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
80478
80479         Sync from coreutils.
80480         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
80481
80482         Remove files that are specific to coreutils.
80483         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
80484
80485 2005-01-28  Bruno Haible  <bruno@clisp.org>
80486
80487         * modules/javacomp: New file.
80488         * MODULES.html.sh (Java): Add javacomp.
80489
80490 2005-01-28  Bruno Haible  <bruno@clisp.org>
80491
80492         * m4/javacomp.m4: New file, from GNU gettext.
80493
80494 2005-01-28  Bruno Haible  <bruno@clisp.org>
80495
80496         * lib/javacomp.sh.in: New file, from GNU gettext.
80497         * lib/javacomp.h: New file, from GNU gettext.
80498         * lib/javacomp.c: New file, from GNU gettext.
80499
80500 2005-01-26  Simon Josefsson  <jas@extundo.com>
80501
80502         * lib/gai_strerror.c: Use GPL in header.
80503
80504 2005-01-26  Bruno Haible  <bruno@clisp.org>
80505
80506         * modules/javaexec: New file.
80507         * MODULES.html.sh (Java): Add javaexec.
80508
80509 2005-01-26  Bruno Haible  <bruno@clisp.org>
80510
80511         * m4/javaexec.m4: New file, from GNU gettext.
80512
80513 2005-01-26  Bruno Haible  <bruno@clisp.org>
80514
80515         * lib/javaexec.sh.in: New file, from GNU gettext.
80516         * lib/javaexec.h: New file, from GNU gettext.
80517         * lib/javaexec.c: New file, from GNU gettext.
80518
80519 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80520
80521         * modules/lchown (Depends-on): Remove lchown.h
80522
80523 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80524
80525         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
80526         must be defined if the header file was not found, in order
80527         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
80528
80529 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80530
80531         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
80532         initializers for struct pentry_state.
80533         (__argp_error): Check return value of __asprintf
80534         (__argp_failure): Translate error message
80535
80536         * lib/argp-parse.c: Removed braces around the expansion of N_()
80537
80538 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80539
80540         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
80541         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
80542         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
80543         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
80544         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
80545         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
80546         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
80547         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
80548         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
80549         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
80550         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
80551         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
80552         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
80553         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
80554         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
80555         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
80556         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
80557         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
80558         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
80559         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
80560         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
80561         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
80562         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
80563         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
80564         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
80565         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
80566         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
80567         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
80568         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
80569         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
80570         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
80571         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
80572         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
80573         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
80574         xstrtol.m4, xstrtoumax.m4, yesno.m4:
80575         Use an all-permissive copyright notice, recommended by RMS.
80576
80577 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
80578
80579         * modules/chdir-long (Depends-on): Remove mempcpy.
80580
80581 2005-01-21  Jim Meyering  <jim@meyering.net>
80582
80583         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
80584         same value as for Solaris 9.
80585
80586         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
80587         component length.  This included changing the parameter to be
80588         of type `char *' rather than `char const *'.
80589         * lib/chdir-long.h (chdir_long): Update prototype.
80590
80591         * lib/openat.c (fdopendir, fstatat): New functions.
80592         * lib/openat.h: Include headers required for use of DIR and struct
80593         stat.
80594         [AT_SYMLINK_NOFOLLOW]: Define.
80595         (fdopendir, fstatat): Add prototypes.
80596
80597 2005-01-21  Bruno Haible  <bruno@clisp.org>
80598
80599         * modules/classpath: New file.
80600         * MODULES.html.sh (Java): Add classpath.
80601
80602 2005-01-21  Bruno Haible  <bruno@clisp.org>
80603
80604         * lib/classpath.h: New file, from GNU gettext.
80605         * lib/classpath.c: New file, from GNU gettext.
80606
80607 2005-01-20  Simon Josefsson  <jas@extundo.com>
80608
80609         * modules/version-etc-fsf: New file.
80610
80611 2005-01-20  Simon Josefsson  <jas@extundo.com>
80612
80613         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
80614         * lib/version-etc.c: Remove version_etc_copyright.
80615         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
80616         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
80617
80618 2005-01-20  Simon Josefsson  <jas@extundo.com>
80619
80620         * lib/base64.h (isbase64): Add.
80621
80622         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
80623         using a unsigned prototype, don't inline.
80624         (base64_decode): Use it.
80625
80626 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80627
80628         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
80629         it.
80630
80631 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80632
80633         * lib/save-cwd.c (save_cwd): Remove code to support the case
80634         where fchdir is missing or flaky.
80635
80636 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80637
80638         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
80639
80640 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
80641
80642         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
80643         AC_LIBSOURCES now does this.
80644         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
80645         with new ullong_max module.
80646
80647 2005-01-19  Bruno Haible  <bruno@clisp.org>
80648
80649         * modules/sh-quote: New file.
80650         * MODULES.html.sh (Executing programs): Add sh-quote.
80651
80652 2005-01-19  Bruno Haible  <bruno@clisp.org>
80653
80654         * lib/sh-quote.h: New file, from GNU gettext.
80655         * lib/sh-quote.c: New file, from GNU gettext.
80656
80657 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80658
80659         Merge from coreutils.
80660         * m4/ullong_max.m4: New file.
80661         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
80662         (gl_MACROS): Assume localeconv exists.
80663
80664 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80665
80666         Merge changes from coreutils, as described below in several
80667         changelogs dated today.
80668
80669         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
80670         (O_DIRECTORY): Remove; not needed here, since "." must be
80671         a directory.  All uses removed.
80672         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
80673         universal on Suns, and we also need to test for IRIX.
80674         Revamp code to use 'if' rather than '#if'.
80675         Avoid unnecessary comparison of cwd->desc to 0.
80676
80677         * lib/utimens.c (futimens): Robustify the previous patch, by checking
80678         for known valid error numbers rather than observed invalid ones.
80679
80680 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
80681
80682         * modules/ullong_max: New file.
80683
80684         * modules/chdir-long, modules/openat: New files.
80685         * modules/save-cwd (Depends-on): Depend on chdir-long.
80686         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
80687
80688 2005-01-18  Jim Meyering  <jim@meyering.net>
80689
80690         Merge from coreutils.
80691         * m4/chdir-long.m4, m4/openat.m4: New files.
80692         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
80693         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
80694         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
80695         is sane and DOES follow symlinks.  Besides, testing 20 different
80696         systems found no broken chown implementations.
80697         Prompted by a change in rsync's copy of this macro.
80698         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
80699
80700         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
80701
80702         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
80703         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
80704         NULL-means-set-to-current-time semantics.
80705         Remove temporary file immediately, rather than waiting
80706         for configure's at-exit trap code to do it.
80707
80708 2005-01-18  Jim Meyering  <jim@meyering.net>
80709
80710         * lib/version-etc.c (version_etc_copyright): Update copyright date.
80711
80712         * lib/utimens.c (futimens): Account for the fact that futimes
80713         can also fail with errno == ENOSYS or errno == ENOENT.
80714         Patch from Dmitry V. Levin.
80715
80716         Change the name of the robust chdir function from chdir to chdir_long.
80717         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
80718         (restore_cwd): Use chdir_long, not chdir.
80719         * lib/chdir-long.c: Renamed from chdir.c.
80720         * lib/chdir-long.h: Renamed from chdir.h.
80721         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
80722         Hurd.
80723
80724 2005-01-18  Bruno Haible  <bruno@clisp.org>
80725
80726         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
80727         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
80728         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
80729         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
80730         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
80731         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
80732         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
80733         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
80734         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
80735         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
80736         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
80737         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
80738         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
80739         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
80740         Use an all-permissive copyright notice, recommended by RMS.
80741
80742 2005-01-18  Bob Proulx  <bob@proulx.com>
80743
80744         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
80745         simplify offsetof() macro construct to avoid compile failure with
80746         native HP-UX 11.0 ANSI C compiler.
80747
80748 2005-01-17  Bruno Haible  <bruno@clisp.org>
80749
80750         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
80751         redundant because stpncpy.m4 takes care of it.
80752
80753 2005-01-17  Bruno Haible  <bruno@clisp.org>
80754
80755         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
80756
80757 2005-01-17  Bruno Haible  <bruno@clisp.org>
80758
80759         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
80760         used.
80761
80762 2005-01-17  Bruno Haible  <bruno@clisp.org>
80763
80764         * lib/fwriteerror.h (fwriteerror): Change specification to include
80765         fclose.
80766         * lib/fwriteerror.c: Include <stdbool.h>.
80767         (fwriteerror): At the end, close the file stream. Record whether
80768         stdout was already closed.
80769
80770 2005-01-17  Bruno Haible  <bruno@clisp.org>
80771
80772         * lib/execute.c (environ): Declare if needed.
80773         * lib/pipe.c (environ): Likewise.
80774         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
80775
80776 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80777
80778         * modules/argp: Depend on vsnprintf
80779
80780 2005-01-10  Jim Meyering  <jim@meyering.net>
80781
80782         * modules/closeout (Depends-on): Add atexit.
80783
80784 2005-01-06  Bruno Haible  <bruno@clisp.org>
80785
80786         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
80787
80788 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80789
80790         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
80791         definitions to be after all include files, to avoid collisions.
80792         Problem reported by Bob Proulx.
80793
80794 2005-01-04  Jim Meyering  <jim@meyering.net>
80795
80796         Changes imported from coreutils.
80797         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
80798         as the mkstemp template, use a temporary directory and an
80799         8.3-friendly template to avoid trouble on systems like DJGPP.
80800         Reported by Juan M. Guerrero via Stepan Kasal.
80801         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
80802         close. Remove the temporary directory right away, rather than waiting
80803         for configure's at-exit trap code to do it.
80804         Suggestion from Stepan Kasal.
80805
80806 2005-01-01  Simon Josefsson  <jas@extundo.com>
80807
80808         * gnulib-tool: Print #include directives when --import'ing.
80809
80810 2004-12-28  Simon Josefsson  <jas@extundo.com>
80811
80812         * tests/test-base64.c: Include required header files.  Remove
80813         unused variables.
80814
80815 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80816
80817         * modules/error (Depends-on): Remove gettext.
80818
80819 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
80820
80821         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
80822         not needed.  This removes a dependency on the gettext module.
80823         [defined _LIBC]: Do not include <libintl.h>; not needed.
80824
80825 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80826
80827         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
80828         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
80829
80830 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
80831
80832         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
80833         HAVE_DECL_STRTOLD.
80834
80835 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80836
80837         * modules/getdate (Depends-on): Remove alloca-opt.
80838
80839 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80840
80841         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
80842
80843 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
80844
80845         * lib/argp-parse.c: Include <stddef.h>.
80846         (alignof, alignto): New macros.
80847         (parser_init): Don't assume that void * is aligned sufficiently
80848         for struct option.
80849
80850         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
80851         need to extend the stack.
80852         (YYINITDEPTH): New macro, so that the initial stack isn't overly
80853         large.
80854
80855 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80856
80857         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
80858
80859 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80860
80861         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
80862         (2004-10-24) change.  Apparently this was a false alarm.
80863
80864         * modules/getdate: Depend on alloca-opt, not alloca.
80865
80866 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
80867
80868         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
80869         Remove now-obsolete comment about AIX.
80870         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
80871         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
80872         (YYMAXDEPTH): New macro.
80873
80874 2004-12-18  Simon Josefsson  <jas@extundo.com>
80875
80876         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
80877
80878 2004-12-18  Bruno Haible  <bruno@clisp.org>
80879
80880         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
80881
80882 2004-12-18  Bruno Haible  <bruno@clisp.org>
80883
80884         * lib/fatal-signal.c (fatal_signals): Make non-const.
80885         (init_fatal_signals): New function.
80886         (uninstall_handlers, install_handlers): Ignore signals that were set to
80887         SIG_IGN.
80888         (at_fatal_signal): Call init_fatal_signals.
80889         (init_fatal_signal_set): Likewise. Ignore signals that were set to
80890         SIG_IGN.
80891         Reported by Paul Eggert.
80892
80893 2004-12-18  Bruno Haible  <bruno@clisp.org>
80894
80895         * doc/alloca.texi: New file.
80896         * doc/alloca-opt.texi: New file.
80897
80898 2004-12-17  Jim Meyering  <jim@meyering.net>
80899
80900         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
80901         Otherwise, install-sh could exit with improper exit status when
80902         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
80903
80904 2004-12-16  Simon Josefsson  <jas@extundo.com>
80905
80906         * tests/test-base64.c: Add license.
80907
80908 2004-12-15  Stepan Kasal  <address@hidden>
80909
80910         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
80911
80912 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
80913
80914         * modules/getcwd (Files): Add m4/d-ino.m4.
80915         Suggested by Mark D. Baushke.
80916
80917 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80918
80919         * lib/getdate.y (textint): New member "negative".
80920         (time_zone_hhmm): New function.
80921         Expect 14 shift-reduce conflicts, not 13.
80922         (o_colon_minutes): New rule.
80923         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
80924         (yylex): Set the "negative" member of signed numbers.
80925
80926 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
80927
80928         * doc/getdate.texi (Time of day items, Time zone items):
80929         Describe new formats +00:00, UTC+00:00.
80930
80931 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80932
80933         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
80934         spurious "-l"s.  Problem reported by Stepan Kasal.
80935
80936 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
80937
80938         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
80939         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
80940
80941 2004-12-04  Simon Josefsson  <jas@extundo.com>
80942
80943         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
80944         Vandoorselaere <yoann@prelude-ids.org>.
80945
80946 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80947
80948         Changes imported from coreutils.
80949         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
80950         exist.
80951         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
80952
80953 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80954
80955         Changes imported from coreutils.
80956         * lib/hard-locale.c: Assume <locale.h> exists.
80957         Include "strdup.h".
80958         (GLIBC_VERSION): New macro.
80959         (hard_locale): Assume setlocale exists.
80960         Rewrite to avoid #ifdef.
80961         Use strdup rather than malloc + strcpy.
80962         * lib/human.c: Assume <locale.h> exists.
80963         (human_readable): Assume localeconv exists.
80964
80965 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
80966
80967         * modules/hard-locale (Depends-on): Add strdup.
80968
80969 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
80970
80971         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
80972         convert T2, not T.  (Imported from libc.)
80973
80974 2004-11-30  Simon Josefsson  <jas@extundo.com>
80975
80976         * modules/restrict (License): Change to LGPL.
80977
80978 2004-11-30  Simon Josefsson  <jas@extundo.com>
80979
80980         * m4/restrict.m4: Add copyright and copying conditions.
80981
80982 2004-11-30  Simon Josefsson  <jas@extundo.com>
80983
80984         * m4/base64.m4: New file.
80985
80986 2004-11-30  Simon Josefsson  <jas@extundo.com>
80987
80988         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
80989         base64.
80990
80991         * tests/test-base64.c: New file.
80992
80993         * modules/base64: New file.
80994
80995 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
80996
80997         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
80998         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
80999
81000         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
81001
81002 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
81003
81004         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
81005         (__getcwd.c): Don't restore errno; glibc doesn't.
81006         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
81007         first, falling back to our code only if its results look suspicious.
81008         Ensure that the resulting buffer is only as large as necessary.
81009
81010         * lib/readutmp.c: Include readutmp.h first.
81011         Include <errno.h>, since readutmp.h no longer does that.
81012         * lib/readutmp.h: Don't include <errno.h>,
81013         <sys/param.h>, <time.h>; not needed to establish interface.
81014         (errno): Remove decl.
81015         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
81016         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
81017         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
81018
81019 2004-11-28  Simon Josefsson  <jas@extundo.com>
81020
81021         * lib/base64.h, base64.c: New file.
81022
81023 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
81024
81025         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
81026
81027 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
81028
81029         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
81030         (Depends-on): Remove pathmax, same.  Add mempcpy.
81031         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
81032         (Makefile.am): Append getcwd.h to lib_SOURCES.
81033         (Include): Add getcwd.h.
81034         (Maintainer): Change from Jim Meyering to "all, glibc",
81035         since getdate now uses intended-for-glibc code.
81036         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
81037         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
81038
81039 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81040
81041         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
81042         HP's ANSI C compiler.
81043         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
81044         Declaring int functions causes warnings on some modern systems and
81045         shouldn't be needed to compile on ancient ones.
81046         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
81047         defined.
81048
81049         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
81050         with the following changes.
81051         (__set_errno): Parenthesize properly.
81052         Include <stdbool.h>.
81053         (MIN, MAX, MATCHING_INO): New macros.
81054         (__getcwd): Define with prototype, not K&R form.
81055         Use heuristics to allocate default buffer on stack if possible.
81056         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
81057         behavior, and to avoid the PATH_MAX limit when computing
81058         ../../../../...
81059         Use MATCHING_INO to compare inode number to file.
81060         Check for arithmetic overflow in size calculations.
81061         Fix bug in reallocation of dot array that caused getcwd to fail
81062         on directories nested deeper than 75.
81063         Be more careful about saving errno on error.
81064         Do not use realloc; use only free+malloc, as this is a bit
81065         more flexible and avoids a needless copy operation.
81066         Do not inspect st_dev and st_ino for symbolic links; POSIX
81067         doesn't specify the latter.
81068         Check for closedir errors.
81069         Avoid needless casts.
81070         Use "#ifdef weak_alias" around weak_alias, to be like other
81071         glibc code.
81072         The following changes to getcwd.c have effect only when used in
81073         gnulib; they have no effect inside glibc proper.
81074         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
81075         as alloca isn't used.
81076         (alloca, __alloca): Likewise.
81077         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
81078         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
81079         unconditionally, as gnulib assumes C89 or better.
81080         Do not include <sys/param.h>.
81081         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
81082         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
81083         better.
81084         (NULL) [!defined NULL]: Remove; we assume C89 or better.
81085         Include <dirent.h> in a way that is compatible with modern Autoconf.
81086         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
81087         New macros, if not already defined.
81088         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
81089         Use "_LIBC", not "defined _LIBC", for consistency.
81090         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
81091         a mempcpy module.
81092         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
81093         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
81094         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
81095         credit only to Jim Meyering and adjust the copyright dates.
81096         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
81097         <stdlib.h>, <unistd.h>, "pathmax.h".
81098         Instead, include "xgetcwd.h" (first) and "getcwd.h".
81099         (INITIAL_BUFFER_SIZE): Remove.
81100         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
81101
81102 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81103
81104         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
81105         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
81106         Use the _ONCE methods, for efficiency.
81107         Check for fcntl.h.  In test program, include <errno.h>
81108         and <fcntl.h> if available.  Remove old K&R cruft from
81109         test program.  Check for common errors in GNU/Linux,
81110         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
81111         don't do AC_LIBOBJ, as that's getcwd.m4's job.
81112         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
81113         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
81114         name accordingly.
81115         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
81116         accommodate new getcwd.c.
81117         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
81118         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
81119         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
81120         that's all we need now.
81121
81122 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81123
81124         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
81125         argp-parse.c depends on getopt internals, that means we should
81126         always use our getopt, to be on the safe side.
81127         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
81128         order not to spoil the result of an eventual previous invocation
81129         of gl_GETOPT_SUBSTITUTE.
81130
81131 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81132
81133         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
81134         redefinition warnings. To avoid them, include the defines
81135         in `#if !defined __need_getopt ... #endif'. The only place
81136         where __getopt_argv_const is used is in definitions
81137         of getopt_long and getopt_long_only below, which are as well
81138         protected by `#ifndef __need_getopt'.
81139         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
81140         __need_getopt after including <stdio.h> and <unistd.h> These
81141         headers might have defined it.
81142
81143 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81144
81145         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
81146
81147 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
81148
81149         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
81150         (futimens): New function, which uses futimes if available.
81151         (futimens, utimens): Support timespec==NULL, with same semantics
81152         as utime and utimens.
81153         * lib/utimens.h (futimens): New decl.
81154
81155 2004-11-23  Jim Meyering  <jim@meyering.net>
81156
81157         * lib/getopt_.h: Remove trailing blanks.
81158
81159 2004-11-23  Jim Meyering  <jim@meyering.net>
81160
81161         * lib/__fpending.c: Add comment.
81162
81163 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
81164
81165         * modules/canonicalize (Depends-on): Add xreadlink.
81166         Problem reported by James Youngman.
81167
81168 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
81169
81170         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
81171         New macros.
81172         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
81173         optopt): Use them instead of invoking ## directly; otherwise, the
81174         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
81175
81176 2004-11-19  Bruno Haible  <bruno@clisp.org>
81177
81178         * lib/strtok_r.c: Move comments from here...
81179         * lib/strtok_r.h: ... to here.
81180
81181 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81182
81183         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
81184         implementations that mishandle size_t overflow.
81185
81186 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
81187
81188         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
81189         might fail.  Problem reported by Yoann Vandoorselaere.
81190         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
81191         implementations that mishandle size_t overflow.
81192
81193 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81194
81195         * modules/canon-host (Depends-on): Add strdup.
81196
81197 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81198
81199         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
81200
81201 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81202
81203         * lib/canon-host.c: Include "strdup.h".
81204         (canon_host): Use getaddrinfo if available, so that IPv6 works.
81205         Use strdup instead of malloc/strcpy to duplicate strings.
81206
81207         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
81208         (human_space_before_unit): New constant.
81209         * lib/human.c (human_readable): Support it.
81210
81211         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
81212         (xgetcwd): Set errno correctly when failing.
81213         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
81214         the failure is actually due to a PATH_MAX problem.
81215
81216         Further getopt changes to make it more likely that glibc will
81217         buy the changes back.
81218         * lib/getopt.c (POSIXLY_CORRECT): New constant.
81219         (getopt): Use it, so to preserve glibc semantic
81220         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
81221         when compiling for libc.
81222         * lib/getopt_.h (__getopt_argv_const): Bring it back.
81223         (getopt_long, getopt_long_only): Use it.
81224
81225         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81226         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
81227         (getopt): Argv is now char * const *, as per standard.
81228         (_getopt_internal_r, _getopt_internal): Argv is now char **,
81229         not char *__getopt_argv_const *.
81230         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81231         _getopt_long_only_r): Likewise.
81232         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
81233         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81234         _getopt_long_r, _getopt_long_only_r): Likewise.
81235         * lib/getopt_.h (__getopt_argv_const): Remove.
81236         (getopt): Argv is now char * const *, as per standard.
81237
81238         * lib/getdate.y (tORDINAL): New token.
81239         (day, relunit): Allow it for relative times.
81240         (relative_time_table): Use tORDINAL for ordinals.
81241
81242 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81243
81244         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
81245         Document that "second" isn't allowed as an ordinal number.
81246
81247 2004-11-16  Jim Meyering  <jim@meyering.net>
81248
81249         * modules/closeout (Depends-on): Add fpending.
81250
81251 2004-11-15  Jim Meyering  <jim@meyering.net>
81252
81253         * lib/closeout.c: Include "__fpending.h" once again.
81254         Include <stdbool.h>.
81255         (close_stdout): Don't fail just because stdout was closed initially,
81256         since some programs don't write to stdout in the normal course of
81257         operation (other than --version and --help), and we don't want this
81258         function to make e.g. `touch file >&-' fail.
81259         But do fail if it was closed and someone has tried to write to it.
81260         E.g., `printf foo >&-' must fail.
81261
81262 2004-11-13  Jim Meyering  <jim@meyering.net>
81263
81264         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
81265
81266 2004-11-12  Simon Josefsson  <jas@extundo.com>
81267
81268         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
81269         small doc fix is still pending.
81270
81271 2004-11-11  Simon Josefsson  <jas@extundo.com>
81272
81273         * modules/strtok_r: New file.
81274
81275         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81276         strtok_r.
81277
81278 2004-11-11  Simon Josefsson  <jas@extundo.com>
81279
81280         * m4/strtok_r.m4: New file.
81281
81282         * m4/getopt.m4: Replace opterr.
81283
81284 2004-11-11  Simon Josefsson  <jas@extundo.com>
81285
81286         * lib/strtok_r.h, strtok_r.c: New file.
81287
81288 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81289
81290         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
81291         of replacing opterr, getopt, etc.  This should handle the
81292         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
81293
81294 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
81295
81296         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
81297         we can stop lying to compilers about the constness of argv when we
81298         are compiled outside glibc.
81299         (getopt, getopt_long, getopt_long_only): Use it.
81300         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
81301         _getopt_internal, getopt): Likewise.
81302         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
81303         _getopt_long_only_r): Likewise.
81304         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
81305         _getopt_long_r, _getopt_long_only_r): Likewise.
81306
81307         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
81308         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
81309         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
81310         the other external symbols.
81311         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
81312         declaration, since the above renaming now works around collisions.
81313
81314 2004-11-11  Jim Meyering  <jim@meyering.net>
81315
81316         * lib/linebreak.c: Remove trailing blanks.
81317         * lib/alloca_.h: Likewise.
81318         * lib/acosl.c: Likewise.
81319         * lib/euidaccess.c: Likewise.
81320         * lib/allocsa.h: Likewise.
81321
81322 2004-11-10  Simon Josefsson  <jas@extundo.com>
81323
81324         * m4/getaddrinfo.m4: New file.
81325
81326 2004-11-10  Simon Josefsson  <jas@extundo.com>
81327
81328         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
81329
81330 2004-11-10  Simon Josefsson  <jas@extundo.com>
81331
81332         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81333         getaddrinfo.
81334
81335         * modules/getaddrinfo: New file.
81336
81337 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81338
81339         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
81340
81341 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81342
81343         * lib/mktime.c (SHR): New macro, which is a portable
81344         substitute for >> that should work even on Crays.
81345         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
81346         Problem reported by Mark D. Baushke in
81347         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
81348         * lib/getdate.y (SHR): Likewise.
81349         (tm_diff): Use it.
81350         * lib/strftime.c (SHR): Likewise.
81351         (tm_diff): Use it.
81352         * lib/quotearg.c (struct quoting_options): Use unsigned int for
81353         quote_these_too, so that right shifts are well defined.  All uses
81354         changed.
81355
81356 2004-11-10  Jim Meyering  <jim@meyering.net>
81357
81358         Ensure that no close failure goes unreported.
81359         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
81360         return early when it seems there's nothing to flush.
81361         Don't include __fpending.h.
81362
81363 2004-11-10  Jim Meyering  <jim@meyering.net>
81364
81365         * modules/closeout (Depends-on): Remove fpending.
81366
81367 2004-11-10  Jim Meyering  <jim@meyering.net>
81368
81369         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
81370
81371 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81372
81373         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
81374         gl_FUNC_STRFTIME.
81375         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
81376         and AC_REQUIRE when possible, to avoid duplicate checks.
81377         Check for <wchar.h>.
81378
81379 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
81380
81381         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
81382
81383 2004-11-09  Bruno Haible  <bruno@clisp.org>
81384
81385         * m4/sockpfaf.m4: New file.
81386
81387 2004-11-05  Bruno Haible  <bruno@clisp.org>
81388
81389         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
81390         Reported by Mark D. Baushke <mdb@cvshome.org>.
81391
81392 2004-11-04  Bruno Haible  <bruno@clisp.org>
81393
81394         2004-09-11  Bruno Haible  <bruno@clisp.org>
81395                 * allocsa.valgrind: New file.
81396         2004-02-06  Bruno Haible  <bruno@clisp.org>
81397                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
81398                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
81399                 Reported by Christopher Seip <chris.seip@hp.com>.
81400
81401 2004-11-04  Bruno Haible  <bruno@clisp.org>
81402
81403         * modules/allocsa (Files): Add lib/allocsa.valgrind.
81404         (Makefile.am): Distribute it.
81405
81406 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
81407
81408         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
81409         with errno == ERANGE if the buffer is too small.
81410         Problem reported by Mark D. Baushke.
81411
81412 2004-11-03  Albert Chin  <china@thewrittenword.com>
81413             Paul Eggert  <eggert@cs.ucla.edu>
81414
81415         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
81416         equivalent, substitute $ac_type for equivalent type rather than
81417         blindly using uint32_t *always* which won't work if uint32_t is not
81418         available.  Define _UINT32_T to work around typedef of uint32_t if
81419         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
81420         2.5.1.
81421
81422 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81423
81424         * m4/jm-macros.m4: Sync from coreutils.
81425         (gl_MACROS): Check for mbrlen, for pathchk.
81426         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
81427
81428 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81429
81430         * lib/xreadlink.c (MAXSIZE): New macro.
81431         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
81432         size does not exceed MAXSIZE.  Avoid cast.
81433         As suggested by Mark D. Baushke in
81434         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
81435         if readlink fails with buffer size just under MAXSIZE, try again
81436         with MAXSIZE.
81437
81438 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
81439
81440         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
81441
81442 2004-11-02  Derek R. Price  <derek@ximbiot.com>
81443         and  Paul Eggert  <eggert@cs.ucla.edu>
81444
81445         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
81446         (get_date): Overparenthesize to avoid GCC warning.
81447
81448 2004-11-02  Bruno Haible  <bruno@clisp.org>
81449
81450         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
81451         returns void.
81452
81453 2004-11-02  Bruno Haible  <bruno@clisp.org>
81454
81455         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
81456         function returns void.
81457
81458 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81459
81460         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
81461         fflush_unlocked, flockfile, funlockfile, funlockfile,
81462         fputs_unlocked, putc_unlocked.
81463
81464 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81465
81466         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81467         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
81468         already declared.
81469
81470 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81471
81472         * modules/getdate (Files): Add doc/getdate.texi.
81473         (Depends-on): Add setenv, xalloc.
81474
81475 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81476
81477         * lib/getdate.y: Add support for TZ="foo" within a date string.
81478         Fix some bugs near time_t boundaries.  Reject dates with
81479         out-of-range components, e.g., "Sept 31".
81480         Include <stdlib.h>, "setenv.h", "xalloc.h".
81481         (ISDIGIT_LOCALE): Remove; unused.
81482         Note that the TZ and time functions used here are not reentrant.
81483         (mktime_ok, get_tz): New functions.
81484         (TZBUFSIZE): New constant.
81485         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
81486         This requires that we sometimes generate our own TZ="XXX..." setting.
81487
81488 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81489
81490         * doc/getdate.texi: New file, from coreutils with modifications for
81491         the new TZ parsing.
81492
81493 2004-10-27  Derek R. Price  <derek@ximbiot.com>
81494
81495         * lib/mktime.c (not_equal_tm): Remove redundant check.
81496
81497 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81498
81499         * modules/regex (lib_SOURCES): Add regex.c.
81500         Reported by James Youngman in
81501         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
81502
81503 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81504
81505         * lib/getdate.y: Use Bison 1.875 features, and some minor
81506         code cleanups.  This change does not affect semantics.
81507         Don't include <stdlib.h>; no longer needed.
81508         Don't include unlocked-io.h; only the "#if TEST" code uses
81509         stdio, and performance isn't crucial there.
81510         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
81511         Bison 1.875 features as described below.
81512         All uses of "PC." replaced by "pc->".
81513         (YYSTYPE): Add a forward declaration.
81514         (yylex, yyerror): Use full prototypes in forward decls.
81515         Use "%pure-parser" rather than obsolescent "%pure_parser".
81516         Use %parse-param and %lex-param instead of obsolescent
81517         YYPARSE_PARAM and YYLEX_PARAM.
81518         (meridian_table, month_and_day_table, time_units_table,
81519         relative_time_table, time_zone_table, military_table,
81520         lookup_zone, lookup_word, get_date):
81521         Use NULL instead of 0 where appropriate.
81522         (to_hour): Avoid abort (), to avoid a dependency on
81523         stdlib.h.
81524         (yyerror, yylex): Now accepts parser_control * arg.
81525         (main) [TEST]: Use '\0' rather than 0 for char.
81526
81527 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81528
81529         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
81530
81531 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81532
81533         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
81534         It's now the caller's responsibility to handle the case where
81535         !HAVE_GETPAGESIZE && !defined getpagesize.
81536
81537         * lib/mktime.c (leapyear): Arg is long int, not int.
81538
81539 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
81540
81541         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
81542
81543 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
81544
81545         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
81546         missing.  Problem reported by James Youngman.
81547
81548 2004-10-16  Simon Josefsson  <jas@extundo.com>
81549
81550         * gnulib-tool: Fix comments.  Fix parse problem.
81551         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
81552
81553 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
81554
81555         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
81556         implementation of getopt_long.  Problem reported by Alexander Taler in:
81557         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
81558
81559 2004-10-15  Bruno Haible  <bruno@clisp.org>
81560
81561         * gnulib-tool: Untabify. Initialize supplied_libname.
81562         (func_usage): More homogenous output.
81563         (func_modules_transitive_closure, func_modules_to_filelist,
81564         func_emit_lib_Makefile_am): New functions.
81565         (func_import): New function, extracted from big case statement. Use
81566         func_get_license, func_modules_transitive_closure,
81567         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
81568         opt_lgpl. Don't use test -a, as it's not portable.
81569         (func_create_testdir): Use func_modules_transitive_closure,
81570         func_modules_to_filelist, func_emit_lib_Makefile_am.
81571
81572 2004-10-15  Bruno Haible  <bruno@clisp.org>
81573
81574         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
81575
81576 2004-10-15  Bruno Haible  <bruno@clisp.org>
81577
81578         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
81579         the portions belonging to each module.
81580         Suggested by Derek Robert Price <derek@ximbiot.com>.
81581
81582 2004-10-12  Simon Josefsson  <jas@extundo.com>
81583
81584         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
81585         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
81586         to real functions.
81587
81588 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81589
81590         * modules/vsnprintf: New file.
81591
81592 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81593
81594         * m4/vsnprintf.m4: New file.
81595
81596 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81597
81598         * lib/vsnprintf.h: New file.
81599         * lib/vsnprintf.c: New file.
81600
81601 2004-10-11  Bruno Haible  <bruno@clisp.org>
81602
81603         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
81604         vsnprintf.
81605
81606 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81607
81608         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
81609
81610 2004-10-07  Bruno Haible  <bruno@clisp.org>
81611
81612         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
81613         fits into the provided buffer.
81614
81615 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81616
81617         * lib/diacrit.c, diacrit.h: Add GPL notice.
81618
81619         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
81620         notice.
81621         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
81622         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
81623         This avoids a potential constant-folding bug.
81624
81625 2004-10-05  Bruno Haible  <bruno@clisp.org>
81626
81627         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
81628         for the declaration of strsep.
81629
81630 2004-10-05  Bruno Haible  <bruno@clisp.org>
81631
81632         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
81633
81634 2004-10-04  Simon Josefsson  <jas@extundo.com>
81635
81636         * modules/memmem: New file.
81637         * tests/test-memmem.c: New file.
81638         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
81639
81640 2004-10-04  Simon Josefsson  <jas@extundo.com>
81641
81642         * m4/memmem.m4: New file.
81643
81644 2004-10-04  Simon Josefsson  <jas@extundo.com>
81645
81646         * lib/memmem.h: New file.
81647         * lib/memmem.c: New file, taken from glibc.
81648
81649 2004-10-04  Simon Josefsson  <jas@extundo.com>
81650
81651         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
81652         '#ifdef USE_UNLOCKED_IO'.
81653
81654 2004-10-04  Simon Josefsson  <jas@extundo.com>
81655
81656         * config/srclist.txt: Add memmem from glibc.
81657
81658 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81659
81660         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
81661
81662         * modules/argmatch, modules/argp, modules/closeout, modules/error,
81663         modules/exclude, modules/getdate, modules/getline,
81664         modules/getndelim2, modules/getpass, modules/getpass-gnu,
81665         modules/getusershell, modules/linebuffer, modules/md5,
81666         modules/mountlist, modules/posixtm, modules/readtokens,
81667         modules/readutmp, modules/regex, modules/sha1,
81668         modules/version-etc, modules/yesno:
81669         Remove dependency on unlocked-io.
81670
81671 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81672
81673         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
81674
81675         * m4/unlocked-io.m4: Add copyright notice.
81676         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
81677
81678 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81679
81680         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
81681         * lib/xmalloc.c (xmemdup): Likewise.
81682         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
81683         XFREE): Remove these long-obsolescent macros.
81684         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
81685         * lib/xstrdup.c: Remove.
81686
81687         * lib/regex.c (re_comp): Cast gettext return value to char *,
81688         Problem reported by Martin Neitzel via Mark D. Baushke.
81689
81690 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
81691
81692         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
81693         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
81694         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
81695         regex.c, sha1.c, version-etc.c, yesno.c:
81696         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
81697         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
81698         the includer's responsibility.
81699
81700         Sync from coreutils.
81701
81702         * lib/modechange.c (mode_compile): Don't decrement a pointer that
81703         points to the start of a string, as the C Standard says the
81704         resulting behavior is undefined.
81705
81706         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
81707         simple -> simple_backups, numbered_existing ->
81708         numbered_existing_backups, numbered -> numbered_backups
81709         to avoid shadowing problems.  All uses changed.
81710         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
81711         * lib/backupfile.c (check_extension, numbered_backup):
81712         Rename locals to avoid shadowing 'basename'.
81713         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
81714         once.
81715
81716         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
81717         * lib/.cvsignore: Add getopt.h.
81718
81719 2004-10-04  Bruno Haible  <bruno@clisp.org>
81720
81721         * modules/README: New file.
81722         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
81723         not a module.
81724
81725 2004-10-02  Jim Meyering  <jim@meyering.net>
81726
81727         * lib/dirfd.h, getpagesize.h: Add copyright notice.
81728
81729 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81730
81731         * modules/strsep: New file.
81732
81733 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81734
81735         * m4/strsep.m4: New file.
81736
81737 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
81738
81739         * lib/strsep.h: New file.
81740         * lib/strsep.c: New file.
81741
81742 2004-10-01  Simon Josefsson  <jas@extundo.com>
81743
81744         * lib/snprintf.c (snprintf): Handle size==0.
81745
81746 2004-10-01  Simon Josefsson  <jas@extundo.com>
81747             Bruno Haible  <bruno@clisp.org>
81748
81749         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
81750         (snprintf): Declare 'args'.
81751
81752 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
81753
81754         * lib/snprintf.c: Remove comments as to why each header is needed.
81755
81756 2004-10-01  Bruno Haible  <bruno@clisp.org>
81757
81758         * MODULES.html.sh: Add strsep.
81759
81760 2004-09-30  Simon Josefsson  <jas@extundo.com>
81761
81762         * modules/snprintf: New file.
81763
81764 2004-09-30  Simon Josefsson  <jas@extundo.com>
81765
81766         * m4/snprintf.m4: New file.
81767
81768 2004-09-30  Simon Josefsson  <jas@extundo.com>
81769
81770         * lib/snprintf.h, lib/snprintf.c: New files.
81771
81772 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81773
81774         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
81775         (hol_entry_help): Never translate an empty string.
81776         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
81777         * lib/argp.h (OPTION_NO_TRANS): New option.
81778
81779 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81780
81781         * modules/argp (Maintainer): Replace Simon Josefsson
81782         by Sergey Poznyakoff.
81783
81784 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81785
81786         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
81787         changes merged back into glibc.
81788
81789 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
81790
81791         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
81792
81793 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81794
81795         * lib/xvasprintf.c: Include xalloc.h.
81796         (xvasprintf): Use xalloc_die, not xmalloc_die.
81797
81798 2004-09-29  Bruno Haible  <bruno@clisp.org>
81799
81800         * modules/alloca-opt: New file, derived from modules/alloca.
81801         * modules/allocsa: Depend on alloca-opt instead of alloca.
81802         * modules/setenv: Likewise.
81803         * modules/vasnprintf: Likewise.
81804         * MODULES.html.sh: Add alloca-opt.
81805
81806 2004-09-28  Simon Josefsson  <jas@extundo.com>
81807
81808         * gnulib-tool: New parameter --lgpl, to asseert that modules are
81809         LGPL, and to replace license template from GPL to LGPL.
81810
81811 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81812
81813         * modules/dummy: Change license to LGPL.
81814
81815 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
81816
81817         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
81818
81819 2004-09-24  Simon Josefsson  <jas@extundo.com>
81820
81821         * modules/minmax (License): Change from GPL to LGPL.
81822
81823 2004-09-23  Simon Josefsson  <jas@extundo.com>
81824
81825         * gnulib-tool (--import): Typo.
81826
81827 2004-09-23  Simon Josefsson  <jas@extundo.com>
81828
81829         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
81830
81831 2004-09-22  Bruno Haible  <bruno@clisp.org>
81832
81833         * modules/*: Add 'License' field.
81834         * gnulib-tool: Accept --extract-license option.
81835         (func_get_license): New function.
81836
81837 2004-09-21  Bruno Haible  <bruno@clisp.org>
81838
81839         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
81840         Reported by Simon Josefsson.
81841
81842 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81843
81844         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
81845         gl_AC_TYPE_LONG_LONG.
81846
81847 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
81848
81849         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
81850
81851 2004-09-18  Simon Josefsson  <jas@extundo.com>
81852         and  Paul Eggert  <eggert@cs.ucla.edu>
81853
81854         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
81855         calls with autoreconf.  Define GL_LIB.
81856
81857 2004-09-14  Karl Berry  <karl@gnu.org>
81858
81859         * config/srclist.txt: unsync setenv.c, sigh.
81860
81861 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81862
81863         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
81864         Problem reported by Bruno Haible in:
81865         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
81866
81867 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
81868
81869         * config/srclist.txt: Comment out argp-pvh.c.
81870
81871 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
81872
81873         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
81874         in case some system header has #define'd it.  Problem reported by
81875         Soeren D. Schulze in
81876         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
81877
81878 2004-09-09  Karl Berry  <karl@gnu.org>
81879
81880         * regex.[ch]: delete from the root.  These were supposed to be
81881                 synced with emacs cvs, but this has not happened for about
81882                 a year, and anyway nothing else uses emacs regex.[ch].
81883                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
81884                 lib/regex[.ch] is untouched.
81885
81886 2004-09-09  Bruno Haible  <bruno@clisp.org>
81887
81888         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
81889
81890 2004-09-09  Bruno Haible  <bruno@clisp.org>
81891
81892         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
81893         modifications.
81894         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
81895
81896 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81897
81898         * modules/xvasprintf: New file.
81899         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
81900
81901 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
81902
81903         * lib/xvasprintf.h: New file.
81904         * lib/xvasprintf.c: New file.
81905         * lib/xasprintf.c: New file.
81906
81907 2004-09-08  Bruno Haible  <bruno@clisp.org>
81908
81909         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
81910
81911 2004-09-08  Bruno Haible  <bruno@clisp.org>
81912
81913         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
81914         length is > INT_MAX.
81915         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
81916         more.
81917
81918 2004-09-08  Bruno Haible  <bruno@clisp.org>
81919
81920         * lib/stdint_.h: New file, taken from GNU clisp.
81921
81922 2004-09-08  Bruno Haible  <bruno@clisp.org>
81923             Oskar Liljeblad  <oskar@osk.mine.nu>
81924
81925         * modules/stdint: New file.
81926         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
81927
81928 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81929
81930         Import from coreutils.
81931         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
81932         strings on unbounded length.  alloca's performance benefits aren't
81933         that important here.
81934         (V_STRDUP): Remove.
81935         (parse_with_separator): New function, with most of the internals
81936         of the old parse_user_spec.  Allow user to omit both user and group,
81937         for compatibility with FreeBSD.
81938         Clone only the user name, not the entire spec.
81939         Do not set *uid, *gid unless entirely successful.
81940         Avoid memory leak in some failing cases.
81941         Fix regression for USER.GROUP reported by Dmitry V. Levin in
81942         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
81943         (parse_user_spec): Rewrite to use parse_with_separator.
81944
81945 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81946
81947         * modules/userspec: Don't depend on alloca.
81948
81949 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81950
81951         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
81952
81953 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81954
81955         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
81956         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
81957         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
81958
81959 2004-08-16  Simon Josefsson  <jas@extundo.com>
81960
81961         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
81962         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
81963         Add --dry-run for --import.
81964         Let user provided command line parameters override configure.ac
81965         settings.
81966
81967 2004-08-12  Simon Josefsson  <jas@extundo.com>
81968
81969         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
81970         as discussed with Paul Eggert in threads rooted at
81971         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
81972         and
81973         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
81974         Before, the test was empty, and relied on ELIDE_CODE in source
81975         code.)
81976         (gl_PREREQ_GETOPT): New macro.
81977         (gl_GETOPT): Use them.
81978
81979 2004-08-12  Simon Josefsson  <jas@extundo.com>
81980
81981         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
81982         * lib/getopt_.h: Renamed from getopt.h.
81983
81984 2004-08-12  Simon Josefsson  <jas@extundo.com>
81985
81986         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
81987         Change default library name from libfoo to libgnu.
81988         Now, if you have a configure.ac that says:
81989                 gl_SOURCE_BASE(gl)
81990                 gl_M4_BASE(gl/m4)
81991                 gl_MODULES(error getopt etcetera)
81992                 gl_INIT
81993         you can import all you need by running:
81994                 ../gnulib/gnulib-tool --import
81995
81996         * modules/getopt (Files): Rename getopt.h to getopt_.h.
81997         (Makefile.am): Rewrite, use logic from argz.
81998         (Include): Use <getopt.h> instead of "getopt.h".
81999
82000 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82001
82002         * modules/argp (Files): Add m4/unlocked-io.m4.
82003         (Depends-on): Add extensions.
82004
82005 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82006
82007         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
82008         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
82009         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
82010         Check for program_invocation_name, program_invocation_short_name,
82011         flockfile, funlockfile, features.h, _getopt_long_only_r.
82012
82013 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82014
82015         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
82016         its complicated substitute.
82017         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
82018         and program_invocation_name.
82019         (__argp_basename) [!_LIBC]: Remove; the only use was
82020         replaced by its body.
82021         (__argp_short_program_name): Change condition from
82022         !defined __argp_short_program_name to
82023         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
82024         to match argp-namefrob.h.
82025         (__argp_failure): Don't assume strerror_r returns char *.
82026         * lib/argp-parse.c (N_): Define unconditionally.
82027         (argp_default_options): Fill out initializers with 0 to avoid
82028         gcc warnings.
82029
82030 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
82031
82032         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
82033         getopt1.c.
82034
82035 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82036
82037         Merge from coreutils.
82038
82039         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
82040
82041         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
82042         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
82043
82044 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82045
82046         Merge from coreutils.
82047
82048         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
82049         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
82050         for Reliant Unix 5.43.
82051
82052         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
82053         (union fooround): Use uintmax_t, not long int.
82054         The rest is a merge from libc:
82055         [defined _LIBC]: Include <shlib-compat.h>.
82056         (_obstack) [defined _LIBC]: Remove after 2.3.4.
82057
82058         * lib/settime.c (settime): Recode to avoid warning with
82059         Sun Forte C 6U2.
82060
82061         * lib/strverscmp.c: Convert to UTF-8.
82062
82063 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
82064
82065         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82066         m4/uintmax_t.m4.
82067
82068 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82069
82070         * modules/xalloc-die: New file.
82071         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
82072
82073         * modules/md5 (Files): Add m4/uint32_t.m4.
82074         * modules/sha1: Renamed from modules/sha.
82075         (Files):
82076         Rename lib/sha.h to lib/sha1.h.
82077         Rename lib/sha.c to lib/sha1.c.
82078         Rename m4/sha.m4 to m4/sha1.m4.
82079         (lib_SOURCES): Likewise.
82080         (configure.ac): Rename gl_SHA to gl_SHA1.
82081         (Include): sha.h -> sha1.h.
82082
82083 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82084
82085         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
82086         * m4/sha1.m4: Renamed from sha.m4.
82087         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
82088
82089 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
82090
82091         * lib/obstack.h (obstack_empty_p):
82092         Don't assume that chunk->contents is suitably aligned.
82093         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
82094         Likewise. Problem reported by Benno in
82095         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
82096
82097         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
82098         readable.  This could be improved further but it'd take some work.
82099
82100 2004-08-08  Simon Josefsson  <jas@extundo.com>
82101
82102         * modules/xgethostname (Depends-on): Remove exit and error (not
82103         used).
82104
82105         * modules/getpass-gnu: Add getpass.h.
82106         (Depends-on): Add stdbool.
82107         * modules/getpass: Add getpass.h.
82108
82109 2004-08-08  Simon Josefsson  <jas@extundo.com>
82110
82111         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
82112         Check getpass declaration.
82113
82114 2004-08-08  Simon Josefsson  <jas@extundo.com>
82115
82116         * lib/xgethostname.c: Don't include error.h (not used).
82117
82118         * lib/getpass.h: Add.
82119         * lib/getpass.c: Include getpass.h first.
82120
82121 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
82122
82123         * lib/xalloc-die.c: New file.
82124         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
82125         All uses removed.
82126         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
82127         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
82128         xalloc-die.c.
82129         (_, N_, xalloc_die): Move to xalloc-die.c.
82130         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
82131         so that we needn't mess with xalloc_msg_memory_exhausted.
82132
82133         * lib/sha1.h: Renamed from sha.h.
82134         (SHA1_H): Renamed from _SHA_H.
82135         (sha1_ctx): Renamed from sha_ctx.
82136         (sha1_init_ctx): Renamed from sha_init_ctx.
82137         (sha1_process_block): Renamed from sha_process_block.
82138         (sha1_process_bytes): Renamed from sha_process_bytes.
82139         (sha1_finish_ctx): Renamed from sha_finish_ctx.
82140         (sha1_read_ctx): Renamed from sha_read_ctx.
82141         (sha1_stream): Renamed from sha_stream.
82142         (sha1_buffer): Renamed from sha_buffer.
82143         * lib/sha1.c: Likewise; renamed from sha.c.
82144         Do not include <sys/types.h>.
82145         Include <stddef.h> rather than <stdlib.h>.
82146
82147 2004-08-08  Bruno Haible  <bruno@clisp.org>
82148
82149         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
82150         FILESYSTEM_PREFIX_LEN.
82151         * lib/progreloc.c: Likewise.
82152         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
82153
82154 2004-08-06  Simon Josefsson  <jas@extundo.com>
82155
82156         * modules/progname (Depends-on): Don't depend on stdbool.
82157
82158 2004-08-06  Simon Josefsson  <jas@extundo.com>
82159
82160         * modules/getsubopt: New file.
82161         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82162         getsubopt.
82163
82164 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82165
82166         More merge from coreutils.
82167
82168         * m4/utimens.m4, m4/utimecmp.m4: New files.
82169         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
82170         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
82171         prereq.m4, sha.m4: Import changes from coreutils.
82172
82173 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82174
82175         More merge from coreutils.
82176         * modules/raise, modules/readtokens0, modules/utimens:
82177         * modules/utimecmp, module/xnanosleep: New files.
82178         * modules/strftime: Add lib/strftime.h.
82179         Change include from <time.h> to "strftime.h".
82180         * modules/yesno: Add lib/yesno.h.
82181         * modules/backupfile: Remove lib/addext.c.
82182         * modules/euidaccess: Add stat-macros.h.
82183         * modules/canonicalize, modules/euidaccess,
82184         modules/filemode, modules/lchown, modules/makepath,
82185         modules/rmdir, modules/stat: Likewise.
82186
82187 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
82188
82189         Merge from tar.
82190         * lib/argp-help.c (make_hol, hol_append): Don't assume that
82191         SIZE_MAX is a valid preprocessor constant.
82192         (__argp_basename): Change from "#ifndef _LIBC"
82193         to "#ifndef __argp_short_program_name", so that
82194         we don't compile these functions for tar.
82195
82196         More merges from coreutils.
82197         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
82198         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
82199         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
82200         * lib/addext.c: Remove; no longer needed.
82201         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
82202         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
82203         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
82204         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
82205         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
82206         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
82207         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
82208         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
82209         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
82210         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
82211         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
82212         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
82213         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
82214         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
82215         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
82216         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
82217         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
82218         Import changes from coreutils.
82219
82220 2004-08-05  Simon Josefsson  <jas@extundo.com>
82221
82222         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
82223
82224 2004-08-05  Simon Josefsson  <jas@extundo.com>
82225
82226         * m4/getsubopt.m4: New file.
82227
82228 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82229
82230         Merge from coreutils.
82231
82232         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
82233         * m4/getcwd-path-max.m4: New files.
82234
82235         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
82236         FILESYSTEM_PREFIX_LEN ->
82237         FILE_SYSTEM_PREFIX_LEN.
82238         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
82239         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
82240         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
82241         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
82242
82243         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
82244         prerequisite modules now handle the DOS stuff.
82245         Don't check for unistd.h.
82246
82247 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82248
82249         Merge from coreutils.
82250
82251         * lib/.gdb-history: Remove; this doesn't belong here.
82252
82253         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
82254         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
82255         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
82256         * lib/getcwd.c: New files.
82257
82258         * lib/dirname.h: Include <stdbool.h>.
82259         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
82260         for consistency with POSIX terminology.  All uses changed.
82261         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
82262         (strip_trailing_slashes): Use bool for booleans.
82263         * lib/stripslash.c (strip_trailing_slashes): Likewise.
82264
82265         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
82266         sometimes returns a positive errno value even when it succeeds.
82267         (print_errno_message) [!LIBC]: Fall back on strerror if
82268         __strerror_r fails.
82269
82270         * lib/path-concat.c (mempcpy): Don't define if a system header defines
82271         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
82272         (longest_relative_suffix): New function.
82273         (path_concat): Use it.  Assume first argument is not NULL.
82274         Port to DOS.  Omit redundant separators.
82275         Report an error instead of returning NULL.
82276         Use mempcpy instead of memcpy.
82277         (xpath_concat): Remove: not declared or used.
82278
82279         * lib/same.h: Include <stdbool.h>
82280         (same_name): Return bool, not int.
82281         * lib/same.c (same_name): Likewise.
82282         (errno): Don't declare; we assume C89 or better now.
82283
82284         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
82285         if not already defined.
82286
82287         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
82288         * lib/dup-safer.c (errno): Likewise.
82289
82290 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
82291
82292         Merge from coreutils.
82293         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
82294         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
82295         * modules/path-concat: Don't depend on strdup.
82296
82297 2004-08-03  Simon Josefsson  <jas@extundo.com>
82298
82299         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
82300         * lib/progname.h: Don't include stdbool.h.
82301
82302 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82303
82304         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
82305         * MODULES.html.sh (func_all_modules): Remove fatal.
82306
82307 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82308
82309         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
82310
82311 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
82312
82313         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
82314         working.
82315
82316 2004-08-02  Simon Josefsson  <jas@extundo.com>
82317
82318         * lib/getsubopt.h: New file, with comments from Bruno Haible.
82319         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
82320         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
82321
82322 2004-08-01  Simon Josefsson  <jas@extundo.com>
82323
82324         * lib/xgetdomainname.c: Include stdlib.h, for free().
82325
82326 2004-07-19  Bruno Haible  <bruno@clisp.org>
82327
82328         * MODULES.html.sh (func_all_modules): Add dummy.
82329
82330 2004-07-16  Simon Josefsson  <jas@extundo.com>
82331
82332         * modules/dummy: New file.
82333
82334 2004-07-16  Simon Josefsson  <jas@extundo.com>
82335
82336         * lib/dummy.c: New file.
82337
82338 2004-07-16  Bruno Haible  <bruno@clisp.org>
82339
82340         * lib/backupfile.h: Add extern "C" for C++.
82341         * lib/closeout.h: Likewise.
82342         * lib/copy-file.h: Likewise.
82343         * lib/findprog.h: Likewise.
82344         * lib/full-write.h: Likewise.
82345         * lib/pathname.h: Likewise.
82346         * lib/progname.h: Likewise.
82347         * lib/stpcpy.h: Likewise.
82348         * lib/stpncpy.h: Likewise.
82349         * lib/strcase.h: Likewise.
82350         * lib/strstr.h: Likewise.
82351         * lib/xalloc.h: Likewise.
82352
82353         * lib/mbswidth.h: Add extern "C" for C++.
82354         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
82355
82356 2004-07-13  Robert Millan  <robertmh@gnu.org>
82357
82358         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
82359
82360 2004-07-09  Simon Josefsson  <jas@extundo.com>
82361
82362         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
82363         failed without this.)
82364
82365 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82366
82367         * modules/chown (Files): Add lib/fchown-stub.c, since
82368         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
82369
82370 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
82371
82372         * lib/fchown-stub.c: New file.
82373
82374 2004-06-24  Jim Meyering  <jim@meyering.net>
82375
82376         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
82377
82378 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82379
82380         * modules/argz: Omit "#include".
82381
82382         * MODULES.html.sh (func_all_modules): Add calloc, to match
82383         2004-06-01 addition of calloc module.
82384
82385 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82386
82387         * m4/argz.m4: New file, which is autoupdated from libtool.
82388
82389 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82390
82391         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
82392         libtool.
82393
82394 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82395
82396         * config/srclist-update: Don't insist on "USA." before the
82397         close-comment, as libtool omits the period and puts the */ on a
82398         separate line.
82399         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
82400         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
82401
82402 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
82403
82404         * modules/argz: New file.
82405         * MODULES.html.sh (func_all_modules): Add argz.
82406
82407 2004-06-12  Jim Meyering  <jim@meyering.net>
82408         and  Paul Eggert  <eggert@cs.ucla.edu>
82409
82410         * modules/hash (Files): Add lib/xalloc.h.
82411         * modules/pipe (Depends-on): Add wait-process.
82412         * modules/stat (Depends-on): Add xalloc.
82413         * modules/userspec (Files): Add lib/userspec.h.
82414         * modules/xstrto
82415
82416         Upgrade from gettext-0.13.
82417         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
82418         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
82419         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
82420
82421 2004-06-10  Jim Meyering  <jim@meyering.net>
82422
82423         * lib/calloc.c: New file.
82424
82425 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
82426
82427         * lib/getdate.y (yylex): Allow space between sign and number.
82428         Problem reported by Dan Jacobson.
82429
82430 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82431
82432         Merge from coreutils CVS.
82433
82434         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
82435         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
82436         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
82437         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
82438         xstrtol.m4: Fix copyright date and/or serial number.
82439
82440         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
82441         See if we need an fchown replacement.
82442         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
82443         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
82444         and use the replacement function if we detect either defect.
82445
82446         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
82447         gl_UTIMECMP.
82448
82449 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
82450         and  Jim Meyering  <jim@meyering.net>
82451
82452         Merge from coreutils CVS.
82453
82454         * lib/stat-macros.h: New file, with contents from file-type.h
82455         and coreutils' system.h.
82456         * lib/file-type.c: Include "stat-macros.h".
82457         * lib/file-type.h (file_type): Move all macro definitions to new file,
82458         stat-macros.h.
82459
82460         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
82461         Wrap old code with this conditional.
82462         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
82463         function that does not dereference symlinks.
82464         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
82465
82466         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
82467         dependency problems.
82468         (xreadlink): Accept new arg SIZE, for efficiency.
82469         All decls and uses changed.
82470         * lib/xreadlink.h: Include <stddef.h>, for size_t.
82471
82472         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
82473         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
82474
82475         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
82476         sysexits.h.
82477
82478 2004-06-01  Jim Meyering  <jim@meyering.net>
82479
82480         * m4/calloc.m4: New file.
82481
82482 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
82483
82484         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
82485         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
82486         Also, fix a typo in a diagnostic.
82487
82488 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82489
82490         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
82491         or AC_FUNC_REALLOC.
82492
82493 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
82494
82495         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
82496         macros to be defined.
82497         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
82498         the allocator returns NULL because the requested size is zero.
82499
82500 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82501
82502         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
82503         var.  Add comment explaining why libc still defines it.  This
82504         merges the following patch from glibc:
82505         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
82506
82507 2004-05-20  Andreas Schwab  <schwab@suse.de>
82508
82509         * m4/free.m4: Replace free if it not known to work, not the other
82510         way round.
82511
82512 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82513
82514         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
82515         present in glibc since revision 1.1 of this file.
82516         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
82517         obstack_alignment_mask, obstack_alloc, obstack_base,
82518         obstack_blank, obstack_blank_fast, obstack_chunk_size,
82519         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
82520         obstack_grow0, obstack_init, obstack_int_grow,
82521         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
82522         obstack_next_free, obstack_object_size, obstack_ptr_grow,
82523         obstack_ptr_grow_fast, obstack_room): Remove declarations of
82524         nonexistent functions.
82525
82526 2004-05-18  Karl Berry  <karl@gnu.org>
82527
82528         * config/srclist.txt: break link for vasnprintf.c.
82529
82530 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82531
82532         Port obstack to the AS/400, where pointers are 16 bytes wide and
82533         you cannot cast an integer to a valid pointer.  This patch is
82534         currently waiting to be integrated into glibc; see
82535         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
82536
82537         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
82538         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
82539         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
82540         (struct obstack): temp member is now a union of a pointer and
82541         an integer, instead of an integer.  All integer uses changed.
82542         This does not affect the physical layout of struct obstack,
82543         except on hosts (like the AS/400) where the size or alignment of
82544         void * is greater than that of ptrdiff_t.
82545         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
82546         __STDC__)]: Store temporary in pointer member of union, not
82547         integer member.
82548         * lib/obstack.c: Include <stddef.h>, for offsetof.
82549         (struct fooalign): Remove; it doesn't need a name.
82550         (union fooround): Change double to long double, and add void *.
82551         (DEFAULT_ALIGNMENT): Use offsetof to compute.
82552         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
82553         not a macro.  Hence the values are always int; so remove all
82554         casts-to-int in uses.
82555
82556 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
82557
82558         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
82559         we can get this patch merged into glibc.
82560
82561 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82562             Paul Eggert  <eggert@cs.ucla.edu>
82563
82564         * m4/argp: Depend on alloca.
82565
82566 2004-05-17  Derek R. Price  <derek@ximbiot.com>
82567             Paul Eggert  <eggert@cs.ucla.edu>
82568
82569         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
82570         freecoding.
82571
82572 2004-05-17  Bruno Haible  <bruno@clisp.org>
82573
82574         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
82575         precision that consists of a '.' followed by an empty digit string.
82576         Patch by Tor Lillqvist <tml@iki.fi>.
82577
82578 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82579
82580         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
82581         for backward compatibility with older code.  We need our own
82582         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
82583         it under some other name, and our alloca.h will define it.
82584
82585 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
82586             Derek Price  <derek@ximbiot.com>
82587
82588         * lib/alloca.c: Include <alloca.h>, to get our interface.
82589         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
82590         include <alloca.h> first.  Use C89 prototype for alloca; this
82591         requires including <stddef.h> for size_t.  Use extern "C" if C++.
82592         Use #elif for simplicity, since we can assume C89 now.
82593         Don't try to source the system alloca.h since it will not be found
82594         and to prevent recursively including its replacement.
82595         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
82596         * lib/regex.c: Likewise.
82597
82598 2004-05-16  Derek Price  <derek@ximbiot.com>
82599             Paul Eggert  <eggert@cs.ucla.edu>
82600
82601         getline cleanup.  This changes the getndelim2 API: both order of
82602         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
82603         no delimiter).
82604
82605         * lib/getline.c: Don't include stddef.h or stdio.h, since our
82606         interface does that.
82607         (getline): Always use getdelim, so that we don't have two
82608         copies of this code.
82609         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
82610         if available.
82611         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
82612         (GETNDELIM2_MAXIMUM): New macro.
82613         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
82614         instead of the old practice of delim2==0.  All callers changed.
82615         Return -1 on overflow, instead of returning junk.
82616         Do not set *linesize unless allocation succeeds.
82617         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
82618         that we include sys/types.h.
82619         * lib/getnline.h: Likewise.
82620         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
82621         (getndelim2): Reorder arguments.
82622         * lib/getnline.c (getnline, getndelim):
82623         Don't discard the NMAX argument.
82624         (getnline): Invoke getndelim, to avoid code duplication.
82625         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
82626         of (size_t) -1 by callers of the getnline family.
82627
82628 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82629
82630         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
82631         Check for gettimeofday.
82632         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
82633         Check for settimeofday, stime.
82634
82635 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82636
82637         * lib/nanosleep.c (suspended): Change its type from int to
82638         sig_atomic_t volatile.
82639         (first_call): Make it private to rpl_nanosleep, and have it
82640         be zero initially as that's a bit faster.
82641         (my_usleep): Round up fractional times instead of truncating them,
82642         as this is the usual meaning for 'sleep'.
82643
82644         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
82645         doesn't work.
82646         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
82647         (ENOSYS): Define if not defined.
82648         (settime): Fall back on stime if it exists and settimeofday fails.
82649         But don't bother with fallbacks if a method fails with errno == EPERM.
82650
82651 2004-05-11  Jim Meyering  <jim@meyering.net>
82652
82653         Prior to this change, the save_cwd caller required read access to the
82654         current directory on most systems (ones with the fchdir function).
82655
82656         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
82657         fails, try write-only, and finally, resort to using xgetcwd.
82658
82659 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
82660
82661         * lib/obstack.c, obstack.h: Import changes from libc.
82662
82663 2004-04-28  Bruno Haible  <bruno@clisp.org>
82664
82665         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
82666         also implicitly appends .exe to executables.
82667         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
82668         accepts Windows pathnames.
82669         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82670         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82671         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
82672         Treat Cygwin like Windows, since it now accepts Windows pathnames.
82673         Reported by Derek Robert Price <derek@ximbiot.com>.
82674
82675 2004-04-21  Karl Berry  <karl@gnu.org>
82676
82677         * config/srclist.txt (localcharset.c): break sync.
82678
82679 2004-04-20  Paul Eggert  <eggert@twinsun.com>
82680
82681         * m4/host-os.m4: Add a copyright notice.
82682
82683 2004-04-20  Jim Meyering  <jim@meyering.net>
82684
82685         Change UTILS_ to gl_ in AC_DEFINE'd names.
82686         Change utils_- and jm_-prefixed variables, too.
82687         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
82688         UTILS_FUNC_MKDIR_TRAILING_SLASH.
82689         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
82690
82691         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
82692         Don't emit trailing blanks.
82693         Also rename jm_-prefixed variables to have gl_ prefix.
82694
82695         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
82696         Also rename jm_-prefixed variables to have gl_ prefix.
82697
82698         * m4/jm-macros.m4: Reflect the renamings.
82699         * m4/prereq.m4: Likewise.
82700
82701 2004-04-20  Jim Meyering  <jim@meyering.net>
82702
82703         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
82704         memory.
82705
82706 2004-04-20  Jim Meyering  <jim@meyering.net>
82707             Bruno Haible  <bruno@clisp.org>
82708
82709         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
82710         memory when realloc fails.
82711
82712 2004-04-19  Jim Meyering  <jim@meyering.net>
82713
82714         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
82715         now that readutmp.c may call `free (0)'.
82716
82717 2004-04-19  Bruno Haible  <bruno@clisp.org>
82718
82719         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
82720         * m4/inttypes_h.m4: Likewise.
82721         * m4/stdint_h.m4: Likewise.
82722         * m4/intmax_t.m4: Likewise.
82723         * m4/uintmax_t.m4: Likewise.
82724
82725 2004-04-18  Jim Meyering  <jim@meyering.net>
82726
82727         * m4/prereq.m4: Don't forbid jm_ prefix.
82728
82729         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
82730         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
82731         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
82732         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
82733         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
82734         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
82735         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
82736         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
82737         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
82738         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
82739         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
82740         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
82741         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
82742         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
82743         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
82744         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
82745         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
82746         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
82747         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
82748
82749 2004-04-18  Jim Meyering  <jim@meyering.net>
82750
82751         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
82752         failure, don't leak memory and do call END_UTMP_ENT.
82753
82754 2004-04-16  Jim Meyering  <jim@meyering.net>
82755
82756         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
82757         coreutils' stat program.
82758         (gl_PREREQ): Don't require jm_PREREQ_STAT.
82759
82760 2004-04-11  Paul Eggert  <eggert@twinsun.com>
82761
82762         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
82763         C89.
82764         (CHAR_BIT): Remove, since we assume C89.
82765         Include <stdint.h> if available, as per current Autoconf CVS advice.
82766
82767 2004-03-31  Jim Meyering  <jim@meyering.net>
82768
82769         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
82770         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
82771         * m4/xalloc.m4: Likewise.
82772
82773 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82774
82775         Merge from coreutils.
82776
82777         * m4/inttostr.m4: New file.
82778         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
82779         Require AM_STDBOOL_H and gl_TIMESPEC instead.
82780         Require gl_CLOCK_TIME.
82781         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
82782
82783 2004-03-30  Paul Eggert  <eggert@twinsun.com>
82784
82785         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
82786         not bool, to be more consistent with Unix conventions.
82787         Suggested by Bruno Haible.
82788
82789         Merge from coreutils.
82790
82791         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
82792         * lib/umaxtostr.c: New files.
82793
82794         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
82795         the usual <time.h> dance.
82796         (get_date): Change signature to support fractional time stamps.
82797         All callers changed.
82798         * lib/getdate.y: Include "getdate.h" first, as we can now
82799         assume C89 and don't need to worry about 'const'.
82800         Similarly, include "unlocked-io.h" near start, not in middle.
82801         Include <limits.h>.
82802         (textint.value): Use long int rather than int.
82803         (textint.digits): Use size_t rather than int.
82804         (BILLION, LOG10_BILLION): New constants.
82805         (parser_control): New member rel_ns.  Members day_ordinal,
82806         time_zone, month, day, hour, minutes, rel_year, rel_month,
82807         rel_day, rel_hour, rel_minutes, rel_seconds
82808         are now long int, not int.  Member seconds is now struct timespec,
82809         not int.  New member timespec_seen.  Members dates_seen, days_seen,
82810         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
82811         not int.
82812         (%union.intval): Now long int, not int.
82813         New member timespec.
82814         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
82815         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
82816         (spec): Now is a timespec or an item list.
82817         (timespec, items): New nonterminals.
82818         (time, rel, relunit, number, get_date):
82819         Add support for fractional seconds.
82820         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
82821         (gmtime, localtime, mktime): Remove decls; not needed with C89.
82822         (to_hour): First arg is now long int, not int.
82823         (to_year): Returns long int, not int.
82824         Don't treat year -70 like 70.
82825         (tm_diff): Returns long int, not int.
82826         (lookup_word): Use bool instead of int when appropriate.
82827         (yylex): Use size_t for count, not int.
82828         Detect overflow when parsing large integer constants.
82829         Add support for fractions.
82830         (get_date): Make pointers 'const' if possible.
82831         Use more-portable code to detect integer overflow.
82832         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
82833         Don't use ctime; it's not reliable if the year has >4 digits.
82834
82835         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
82836         This is for compatibility with BSD.
82837
82838         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
82839         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
82840         From coreutils' system.h.
82841
82842         * lib/userspec.c: Don't include "posixver.h".
82843         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
82844         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
82845         compatible extension.  Simplify code by removing a boolean int
82846         that was always nonzero if a string was nonnull.
82847
82848 2004-03-30  Jim Meyering  <jim@meyering.net>
82849
82850         Merge from coreutils.
82851
82852         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
82853         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
82854         on some systems one must include <grp.h> before it.
82855         Reported by Christian Krackowizer.
82856
82857 2004-03-30  Jim Meyering  <jim@meyering.net>
82858
82859         Merge from coreutils.
82860
82861         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
82862
82863         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
82864         an empty input stream.
82865
82866         * lib/readtokens.c: Include <stdbool.h>.
82867         (readtoken): Use `size_t' rather than int/long.
82868         All callers adjusted.
82869         Use `bool' rather than `int' where appropriate.
82870         Use memset rather than an explicit loop.
82871         Use x2nrealloc rather than xrealloc.
82872         Allow the use of `\0' as a delimiter.
82873         (readtokens): Likewise.
82874         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
82875
82876 2004-03-30  Jim Meyering  <jim@meyering.net>
82877
82878         * m4/realloc.m4: Remove file, since now it does no more than
82879         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
82880         the `configure.ac' section of module/realloc.
82881         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
82882
82883 2004-03-30  Bruno Haible  <bruno@clisp.org>
82884
82885         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
82886         nonnull.
82887
82888 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82889
82890         Merge changes to getloadavg.c from coreutils and Emacs.
82891
82892         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
82893         Define to an expression, not to the empty string.
82894         Include cloexec.h and xalloc.h.
82895         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
82896         Use set_cloexec_flag rather than rolling our own.
82897         * lib/cloexec.c, lib/cloexec.h: New files.
82898
82899 2004-03-29  Paul Eggert  <eggert@twinsun.com>
82900
82901         * m4/cloexec.m4: New file.
82902
82903 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82904
82905         * lib/getopt.h: Sync with libc CVS.
82906
82907 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82908             Bruno Haible  <bruno@clisp.org>
82909
82910         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
82911         mbswidth.
82912
82913 2004-03-18  Paul Eggert  <eggert@twinsun.com>
82914             Bruno Haible  <bruno@clisp.org>
82915
82916         * lib/mbswidth.h: Include <wchar.h> only if
82917         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
82918         <wchar.h>.
82919         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
82920
82921 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82922
82923         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
82924         Sync with libc CVS.
82925         * lib/getopt_int.h: New file, also synced from libc.
82926
82927 2004-03-09  Paul Eggert  <eggert@twinsun.com>
82928
82929         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
82930         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
82931         Bring back getopt.c, getopt.h, getopt1.c.
82932
82933 2004-03-07  Paul Eggert  <eggert@twinsun.com>
82934
82935         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
82936         All uses changed.  Check for sa_sigaction member; this fixes
82937         a bug first reported by Jason Andrade in
82938         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
82939
82940 2004-03-07  Paul Eggert  <eggert@twinsun.com>
82941
82942         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
82943         '#if' expressions.  Unlike the code it replaces, it does not
82944         depend on (defined _SC_PAGESIZE).  However, it does depend on
82945         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
82946         first reported by Jason Andrade in
82947         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
82948
82949 2004-02-25  Simon Josefsson  <jas@extundo.com>
82950
82951         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
82952
82953 2004-02-25  Simon Josefsson  <jas@extundo.com>
82954
82955         * lib/strdup.h: New file.
82956         * lib/strdup.c: Include it.
82957         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
82958         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
82959
82960 2004-02-23  Karl Berry  <karl@gnu.org>
82961
82962         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
82963         (from fencepost.gnu.org:/gd/gnuorg).
82964
82965 2004-02-23  Karl Berry  <karl@gnu.org>
82966
82967         * config/srclistvars.sh (GNUORG) [karl]: redefine.
82968         * config/srclist.txt: add maintain/standards documents.
82969
82970 2004-02-18  Bruno Haible  <bruno@clisp.org>
82971
82972         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
82973         Reported by Derek Robert Price <derek@ximbiot.com>.
82974
82975 2004-02-16  Karl Berry  <karl@gnu.org>
82976
82977         * config/mkinstalldirs, install-sh: update from automake.
82978
82979 2004-02-06  Karl Berry  <karl@gnu.org>
82980
82981         * m4/po.m4: update from gettext 0.14.1.
82982
82983 2004-02-06  Karl Berry  <karl@gnu.org>
82984
82985         * lib/config.charset: update from gettext 0.14.1.
82986
82987 2004-02-05  Paul Eggert  <eggert@twinsun.com>
82988
82989         Add comments and code, prompted by suggestions from Bruno Haible
82990         for sh-quote.
82991         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
82992         describing the enum quoting_style values.
82993         * lib/quotearg.c (quotearg_alloc): New function.
82994         (quotearg_buffer_restyled): Treat lone { and } as special.
82995         Treat = as special.  Work around bug with older shells
82996         that "see" a '\' that is really the 2nd byte of a multibyte char.
82997         Quote empty string with shell_quoting_style.
82998
82999 2004-02-03  Bruno Haible  <bruno@clisp.org>
83000
83001         * m4/pipe.m4: New file, from GNU gettext.
83002
83003 2004-02-03  Bruno Haible  <bruno@clisp.org>
83004
83005         * lib/pipe.h: New file, from GNU gettext.
83006         * lib/pipe.c: New file, from GNU gettext.
83007
83008 2004-01-27  Bruno Haible  <bruno@clisp.org>
83009
83010         * m4/execute.m4: New file, from GNU gettext.
83011
83012 2004-01-27  Bruno Haible  <bruno@clisp.org>
83013
83014         * lib/execute.h: New file, from GNU gettext.
83015         * lib/execute.c: New file, from GNU gettext.
83016         * lib/w32spawn.h: New file, from GNU gettext.
83017
83018 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83019
83020         Merge from diffutils.
83021
83022         * lib/file-type.c (file_type): Add typed memory objects.
83023         * lib/file-type.h (S_TYPEISTMO): New macro.
83024
83025         * lib/c-stack.h (c_stack_action): Remove argv argument.
83026         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
83027         (die): Don't calculate message unless segv_action returns.
83028         (get_stack_location, min_address_from_argv, max_address_from_argv,
83029         volatile stack_base, volatile_stack_size): Remove.
83030         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
83031         that every segmentation violation is a stack overflow.  (Ouch!)
83032         See Debian bug 136249 (still outstanding) for more info about why
83033         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
83034
83035 2004-01-24  Paul Eggert  <eggert@twinsun.com>
83036
83037         Exit-status fix from coreutils.
83038
83039         Use exit_failure consistently in place of EXIT_FAILURE,
83040         so that program exit statuses are consistent on failure.
83041
83042         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
83043         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
83044         * lib/argmatch.h: Comment fix to match the above.
83045         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
83046         Now a macro referring to exit_failure, instead of a separate
83047         variable.  Include "exitfail.h" to get it.
83048         * lib/xstrtol.h: Include "exitfail.h".
83049         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
83050
83051         * lib/long-options.c (parse_long_options): Use prototype
83052         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
83053         for clarity.
83054
83055 2004-01-21  Jim Meyering  <jim@meyering.net>
83056
83057         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
83058         so as not to conflict with a different-sized __mktime_internal
83059         function in GNU libc.
83060         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
83061         Problem building statically-linked `ls' reported by Michael Brunnbauer.
83062
83063 2004-01-20  Karl Berry  <karl@gnu.org>
83064
83065         * config/config.guess: update from config.
83066
83067         * config/srclistvars.sh: GNUWWWLICENSES for karl.
83068
83069 2004-01-20  Bruno Haible  <bruno@clisp.org>
83070
83071         Safer stack allocation.
83072         * lib/setenv.c: Include allocsa.h.
83073         (alloca): Remove fallback definition.
83074         (freea): Remove macro.
83075         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
83076         instead of freea.
83077
83078 2004-01-20  Bruno Haible  <bruno@clisp.org>
83079
83080         * m4/eealloc.m4: New file, from GNU gettext.
83081
83082 2004-01-20  Bruno Haible  <bruno@clisp.org>
83083
83084         * m4/allocsa.m4: New file, from GNU gettext.
83085
83086 2004-01-20  Bruno Haible  <bruno@clisp.org>
83087
83088         * lib/xallocsa.h: New file, from GNU gettext.
83089         * lib/xallocsa.c: New file, from GNU gettext.
83090
83091 2004-01-20  Bruno Haible  <bruno@clisp.org>
83092
83093         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
83094
83095 2004-01-20  Bruno Haible  <bruno@clisp.org>
83096
83097         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
83098         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
83099         specially.
83100
83101 2004-01-20  Bruno Haible  <bruno@clisp.org>
83102
83103         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
83104         patch.
83105
83106 2004-01-20  Bruno Haible  <bruno@clisp.org>
83107
83108         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
83109
83110 2004-01-20  Bruno Haible  <bruno@clisp.org>
83111
83112         * lib/eealloc.h: New file.
83113
83114 2004-01-20  Bruno Haible  <bruno@clisp.org>
83115
83116         * lib/binary-io.h: Avoid warnings on Cygwin.
83117
83118 2004-01-20  Bruno Haible  <bruno@clisp.org>
83119
83120         * lib/allocsa.h: New file, from GNU gettext.
83121         * lib/allocsa.c: New file, from GNU gettext.
83122
83123 2004-01-18  Karl Berry  <karl@gnu.org>
83124
83125         * doc/gpl.texi, doc/lgpl.texi: new files.
83126
83127 2004-01-18  Karl Berry  <karl@gnu.org>
83128
83129         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
83130         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
83131
83132 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83133
83134         Merge from coreutils.
83135
83136         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
83137         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
83138         (gl_DEFAULT_POSIX2_VERSION): Move
83139         the documentation from 'configure' into 'config.hin',
83140         so that 'configure --help' isn't burdened by it and
83141         we don't have to worry about its formatting there.
83142         Reword the documentation so that it's more succinct
83143         and can be run together into a single paragraph.
83144         * m4/same.m4 (gl_SAME): Check for pathconf.
83145
83146 2004-01-15  Paul Eggert  <eggert@twinsun.com>
83147
83148         Merge from coreutils.
83149
83150         * lib/posixver.c: Include posixver.h.
83151
83152         * lib/same.c: Include <stdbool.h>, <limits.h>.
83153         (_POSIX_NAME_MAX): Define if not defined.
83154         (MIN): New macro.
83155         (same_name): If file names are silently truncated, report
83156         that the file names are the same if they are the same after
83157         the silent truncation.
83158
83159         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
83160         conversion function.
83161         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
83162         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
83163         longer needed.
83164
83165 2004-01-15  Jim Meyering  <jim@meyering.net>
83166
83167         Merge from coreutils.
83168
83169         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
83170         if no library is required.
83171         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
83172         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
83173         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
83174         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
83175         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
83176         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
83177         value, $ac_cv_search_crypt, if it's "none required".
83178         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
83179         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
83180         not gl_FUNC_GETLOADAVG.
83181         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
83182         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
83183
83184 2004-01-15  Jim Meyering  <jim@meyering.net>
83185
83186         Merge from coreutils.
83187
83188         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
83189         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
83190         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
83191
83192         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
83193         optional configure-time default.
83194
83195         * lib/version-etc.c (version_etc_copyright): Update copyright date.
83196
83197         * lib/xreadlink.c (xreadlink): Correct outdated comment.
83198
83199 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
83200
83201         Merge from coreutils.
83202
83203         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
83204         value, $ac_cv_search_nanosleep, if it's "none required".
83205
83206 2004-01-14  Paul Eggert  <eggert@twinsun.com>
83207
83208         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
83209         with like-named macro in fnmatch.c.
83210         (EXT): Use an internal constant instead.
83211
83212         Merge fnmatch patches from glibc.
83213         * lib/fnmatch.c (mbsinit): Remove define.
83214         Add libc_hidden_ver (__fnmatch, fnmatch).
83215         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
83216         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
83217
83218 2004-01-14  Karl Berry  <karl@gnu.org>
83219
83220         * config/install-sh: update from automake.
83221
83222 2004-01-13  Karl Berry  <karl@gnu.org>
83223
83224         * config/install-sh: update from automake.
83225
83226 2004-01-09  Karl Berry  <karl@gnu.org>
83227
83228         * config/install-sh: update from automake.
83229
83230 2004-01-05  Karl Berry  <karl@gnu.org>
83231
83232         * config/config.{sub,guess}: update from config.
83233
83234 2003-12-31  Karl Berry  <karl@gnu.org>
83235
83236         * config/depcomp: update from automake.
83237
83238 2003-12-14  Karl Berry  <karl@gnu.org>
83239
83240         * lib/config.charset: update from gettext-runtime.
83241
83242 2003-12-03  Paul Eggert  <eggert@twinsun.com>
83243
83244         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
83245         Bug reported by Alfred M. Szmidt.
83246
83247 2003-12-03  Bruno Haible  <bruno@clisp.org>
83248
83249         * m4/gettext.m4: Upgrade from gettext-0.13.
83250         * m4/po.m4: Upgrade from gettext-0.13.
83251         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
83252         * m4/intmax.m4: New file, from gettext-0.13.
83253         * m4/printf-posix.m4: New file, from gettext-0.13.
83254
83255 2003-11-29  Karl Berry  <karl@gnu.org>
83256
83257         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
83258
83259 2003-11-25  Paul Eggert  <eggert@twinsun.com>
83260             Bruno Haible  <bruno@clisp.org>
83261
83262         * lib/printf-parse.h: Don't include sys/types.h.
83263         (ARG_NONE): New macro.
83264         (char_directive): Change type of *arg_index fields to size_t.
83265         * lib/printf-parse.c: Don't include sys/types.h.
83266         (SSIZE_MAX): Remove macro.
83267         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
83268         Remove unnecessary overflow check.
83269         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
83270         fields.
83271
83272 2003-11-25  Bruno Haible  <bruno@clisp.org>
83273
83274         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
83275
83276 2003-11-25  Bruno Haible  <bruno@clisp.org>
83277
83278         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
83279         gt_TYPE_SSIZE_T.
83280
83281 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83282
83283         * modules/alloca: Remove dependency on xalloc.
83284
83285 2003-11-24  Paul Eggert  <eggert@twinsun.com>
83286
83287         * lib/alloca.c: Remove dependency on xalloc module.
83288         (xalloc_die): Remove.
83289         (memory_full) [!defined emacs]: New macro.
83290         [!defined emacs]: Don't include xalloc.h.
83291         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
83292         address arithmetic overflows.  Change datatypes a bit to avoid
83293         unnecessary casts.
83294
83295 2003-11-22  Jim Meyering  <jim@meyering.net>
83296
83297         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
83298         s/size/size_t/.
83299
83300 2003-11-21  Karl Berry  <karl@gnu.org>
83301
83302         * config/config.{sub,guess}: update from config.
83303
83304 2003-11-18  Karl Berry  <karl@gnu.org>
83305
83306         * config/config.{sub,guess}: update from config.
83307
83308         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
83309
83310 2003-11-17  Paul Eggert  <eggert@twinsun.com>
83311
83312         * README: Mention that S+T cannot overflow if S is the size of
83313         an existing object and T is sufficiently small.
83314
83315 2003-11-17  Jim Meyering  <jim@meyering.net>
83316
83317         On systems without utime and without a utimes function capable of
83318         dealing with a NULL struct utimbuf* argument, this utime replacement
83319         could -- in unusual circumstances -- leak a file descriptor.
83320         * lib/utime.c: Include <unistd.h> and <errno.h>.
83321         (utime_null): Be sure to close `fd' and to preserve errno.
83322         Reported by Geoff Collyer via Arnold Robbins.
83323
83324 2003-11-17  Bruno Haible  <bruno@clisp.org>
83325
83326         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
83327         (Depends-on): Add xsize.
83328
83329 2003-11-17  Bruno Haible  <bruno@clisp.org>
83330
83331         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
83332
83333 2003-11-17  Bruno Haible  <bruno@clisp.org>
83334
83335         * lib/vasnprintf.c (alloca): Remove fallback definition.
83336         (freea): Remove definition.
83337         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
83338         Reported by Paul Eggert.
83339
83340 2003-11-16  Paul Eggert  <eggert@twinsun.com>
83341             Bruno Haible  <bruno@clisp.org>
83342
83343         Protect against address arithmetic overflow.
83344         * lib/printf-args.h: Include stddef.h.
83345         (arguments): Change type of field 'count' to size_t.
83346         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
83347         'unsigned int' where appropriate.
83348         * lib/printf-parse.h: Include sys/types.h.
83349         (char_directive): Change type of *arg_index fields to ssize_t.
83350         (char_directives): Change type of fields 'count', max_*_length to
83351         size_t.
83352         * lib/printf-parse.c: Include sys/types.h and xsize.h.
83353         (SSIZE_MAX): Define fallback value.
83354         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
83355         instead of 'int' where appropriate. Check a_allocated, d_allocated
83356         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
83357         * lib/vasnprintf.c: Include xsize.h.
83358         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
83359         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
83360         overflow. Avoid wraparound when converting a width or precision from
83361         decimal to binary.
83362
83363 2003-11-16  Bruno Haible  <bruno@clisp.org>
83364
83365         Update from GNU gettext.
83366         * lib/printf-parse.c: Generalize to it can be compiled for wide
83367         strings.
83368         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
83369         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
83370         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
83371         SNPRINTF): New macros.
83372         Don't include <alloca.h> if the file is used inside libintl.
83373         (local_wcslen): New function, for Solaris 2.5.1.
83374         (VASNPRINTF): Use it instead of wcslen.
83375
83376 2003-11-16  Bruno Haible  <bruno@clisp.org>
83377
83378         * lib/xsize.h (xmax): New function.
83379         (xsum, xsum3, xsum4): Declare as "pure" functions.
83380
83381 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83382
83383         * modules/xalloc (Files): Undo latest change, since xalloc.h
83384         no longer needs SIZE_MAX or PTRDIFF_MAX.
83385
83386 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83387
83388         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
83389         gl_PTRDIFF_MAX.
83390
83391 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83392
83393         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
83394         "return", to pacify some unknown compiler.  Problem reported
83395         by Joerg Schilling.
83396
83397 2003-11-12  Paul Eggert  <eggert@twinsun.com>
83398
83399         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
83400         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
83401         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
83402         heuristic is just as accurate as far as we know, and it removes a
83403         dependency on size_max.m4 and ptrdiff_max.m4.
83404
83405 2003-11-11  Bruno Haible  <bruno@clisp.org>
83406
83407         * modules/xsize (Files): Add m4/size_max.m4.
83408         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
83409
83410 2003-11-11  Bruno Haible  <bruno@clisp.org>
83411
83412         * m4/size_max.m4: New file.
83413         * m4/ptrdiff_max.m4: New file.
83414         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
83415         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
83416         (gl_XALLOC): Invoke it.
83417
83418 2003-11-11  Bruno Haible  <bruno@clisp.org>
83419
83420         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
83421         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
83422         defined.
83423
83424 2003-11-10  Paul Eggert  <eggert@twinsun.com>
83425
83426         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
83427         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
83428         rejected some allocations of exactly SIZE_MAX - 2 bytes.
83429         From Bruno Haible.
83430         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
83431         not (size_t) -1, since it's defined here.
83432
83433 2003-11-09  Karl Berry  <karl@gnu.org>
83434
83435         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
83436
83437 2003-11-06  Paul Eggert  <eggert@twinsun.com>
83438
83439         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
83440         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
83441         Reject sizes of exactly SIZE_MAX bytes.
83442         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
83443         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
83444
83445 2003-11-05  Bruno Haible  <bruno@clisp.org>
83446
83447         * lib/xsize.h: Include limits.h, to avoid a possible collision with
83448         SIZE_MAX defined in <limits.h> on Solaris.
83449
83450 2003-11-04  Jim Meyering  <jim@meyering.net>
83451
83452         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
83453         variable names, rather than @VAR@.
83454         * modules/poll: Likewise.
83455
83456 2003-11-04  Bruno Haible  <bruno@clisp.org>
83457
83458         * modules/xsize: New file.
83459         * modules/linebreak: Depend on xsize.
83460         * MODULES.html.sh (func_all_modules): Add xsize.
83461
83462 2003-11-04  Bruno Haible  <bruno@clisp.org>
83463
83464         * m4/xsize.m4: New file.
83465
83466 2003-11-04  Bruno Haible  <bruno@clisp.org>
83467
83468         * lib/xsize.h: New file.
83469         * lib/linebreak.c: Include xsize.h.
83470         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
83471         argument for overflow.
83472         Suggested by Paul Eggert.
83473
83474 2003-11-03  Karl Berry  <karl@gnu.org>
83475
83476         * config/config.{guess,sub}: update from config.
83477
83478 2003-11-03  Jim Meyering  <jim@meyering.net>
83479
83480         * modules/userspec (lib_SOURCES): Add userspec.h.
83481         (Include): Add "userspec.h".
83482         Improve description.
83483
83484 2003-11-03  Jim Meyering  <jim@meyering.net>
83485
83486         * lib/userspec.c: Include "userspec.h".
83487         * lib/userspec.h: New file.
83488
83489 2003-11-03  Bruno Haible  <bruno@clisp.org>
83490
83491         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
83492
83493 2003-11-03  Bruno Haible  <bruno@clisp.org>
83494
83495         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
83496         available, to avoid (extremely rare) race condition.
83497         Suggested by Paul Eggert.
83498
83499 2003-11-02  Karl Berry  <karl@gnu.org>
83500
83501         * config/srclist.txt (vasprintf.c): sync broken, sigh.
83502
83503 2003-10-31  Paul Eggert  <eggert@twinsun.com>
83504
83505         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
83506         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
83507         (read_filesystem_list): Set and use me_type_malloced.
83508         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
83509         whatever the type happens to be), for brevity and consistency.
83510         Check for size calculation overflow on Alphas running OSF/1.
83511
83512 2003-10-31  Jim Meyering  <jim@meyering.net>
83513
83514         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
83515
83516         * lib/linebuffer.c: Include <string.h> for declaration of memset.
83517
83518 2003-10-30  Paul Eggert  <eggert@twinsun.com>
83519             Bruno Haible  <bruno@clisp.org>
83520
83521         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
83522         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
83523
83524 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83525
83526         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
83527         netbsd*-gnu*.  Suggested by Robert Millan.
83528
83529 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83530
83531         * modules/group-member: Depend on stdbool.
83532
83533 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83534
83535         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
83536
83537 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83538
83539         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
83540         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
83541         after the 'gnu' in these cases.  This fixes some bugs in the
83542         previous change, and is based on suggestions by Robert Millan.
83543
83544 2003-10-29  Paul Eggert  <eggert@twinsun.com>
83545
83546         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
83547         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
83548         no longer needed.
83549         * lib/quotearg.c (quotearg_n_options): Use it.
83550         * lib/group-member.c: Include <stdbool.h>.
83551         (free_group_info): Arg is now const *; don't free arg.
83552         (get_group_info): Now returns bool and accepts struct group_info *,
83553         rather than returning a malloc'ed struct group_info *.
83554         All uses changed.  Check for overflow in internal size calculation.
83555
83556         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
83557         rather than xmalloc/xrealloc.
83558         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
83559         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
83560         conformance bug: the old code used a pointer after freeing the
83561         storage that it addressed.
83562         * lib/hash.c (hash_initialize): Simplify the code by using
83563         xalloc_oversized rather than doing it by hand.
83564         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
83565         the buffer preserved.  Use free and xmalloc instead.
83566         * lib/quotearg.c (quotearg_n_options): Likewise.
83567         Use a simpler test for size overflow.  Don't use xalloc_oversized
83568         because unsigned int might be wider than size_t (!); this suggests
83569         that we should switch from unsigned int to size_t for slot numbers.
83570
83571 2003-10-28  Paul Eggert  <eggert@twinsun.com>
83572
83573         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
83574         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
83575         NetBSD kernels.  Requested by Richard Stallman.
83576
83577 2003-10-27  Paul Eggert  <eggert@twinsun.com>
83578
83579         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
83580         to allocate the returned structure.  Do not allocate a subarray,
83581         as x2nrealloc will do that.
83582         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
83583         instead of xnrealloc.
83584         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
83585
83586 2003-10-27  Bruno Haible  <bruno@clisp.org>
83587
83588         * lib/stdbool_.h: Better support for BeOS.
83589
83590 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83591
83592         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
83593         now uses inline.
83594
83595 2003-10-26  Paul Eggert  <eggert@twinsun.com>
83596
83597         * lib/xalloc.h (xalloc_oversized): New static inline function, for
83598         callers that want to do their own size-overflow checking.  Include
83599         <stdbool.h>, since xalloc_oversized returns bool.
83600         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
83601         to use xalloc_oversized.
83602
83603         Add two functions x2realloc, x2nrealloc, for programs that grow
83604         arrays dynamically by doubling their sizes.
83605         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
83606         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
83607         New functions.
83608
83609         Port to C99 semantics for 'inline' of external functions.
83610         Bug reported by Bruno Haible.
83611         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
83612         with the old contents of xnmalloc.
83613         (xnmalloc, xmalloc): Use it.
83614         (xnrealloc_inline): New static inline function,
83615         with the old contents of xnrealloc.
83616         (xnrealloc, xrealloc): Use it.
83617
83618         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
83619         that.
83620
83621 2003-10-26  Karl Berry  <karl@gnu.org>
83622
83623         * config/srclist.txt (COPYING.DOC): no longer available from
83624         /gd/gnuorg; don't know where the ultimate source is.
83625
83626 2003-10-25  Paul Eggert  <eggert@twinsun.com>
83627
83628         Fix several address-calculation bugs in the hash modules,
83629         plus some minor code cleanup.
83630
83631         * lib/hash.h: Include <stdbool.h>, for bool.
83632         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
83633         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
83634         hash_get_n_entries, hash_get_max_bucket_length,
83635         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
83636         hash_rehash): Use size_t rather than unsigned.
83637         * lib/hash.c (struct hash_table, hash_get_n_buckets,
83638         hash_get_n_buckets_used, hash_get_n_entries,
83639         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
83640         hash_get_entries, hash_do_for_each, hash_string, is_prime,
83641         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
83642         Likewise.
83643         (SIZE_MAX): Define if not defined.
83644         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
83645         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
83646         hash_print):
83647         Use const * when possible.
83648         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
83649         (check_tuning): Fix bug: if tuning parameters were very close to
83650         0 or 1, rounding errors could have caused subscript violations.
83651         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
83652         (hash_initialize): Add 'fail:' label
83653         to free table and return NULL, and use it to simplify code.
83654         Use calloc rather than clearing the storage ourself.
83655         (hash_initialize, hash_rehash): Check for arithmetic overflow in
83656         buffer size calculations.
83657         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
83658         Include <stddef.h>, for size_t.
83659         * lib/hash-pjw.c (hash_pjw): Likewise.
83660         Switch to method described by Bruno Haible.
83661         Include <limits.h>, for CHAR_BIT.
83662         (SIZE_BITS): New macro.
83663
83664 2003-10-23  Paul Eggert  <eggert@twinsun.com>
83665
83666         * m4/getline.m4 (AM_FUNC_GETLINE):
83667         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
83668         hosts.  Problem reported by Derek Robert Price in
83669         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
83670         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
83671         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
83672
83673 2003-10-21  Paul Eggert  <eggert@twinsun.com>
83674
83675         * lib/getndelim2.c (getndelim2): When size calculation overflows,
83676         ceiling the allocation at NMAX bytes rather than silently
83677         discarding input bytes before NMAX is reached.  This makes
83678         a difference only if NMAX exceeds SIZE_MAX / 2.
83679
83680         * lib/obstack.c: Merge from glibc.
83681         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
83682         Add libc_hidden_def (_obstack_newchunk).
83683         (_obstack_free) [! defined _LIBC]: Remove.
83684         [defined _LIBC]: Make a strong alias from obstack_free, rather than
83685         a clone of the function body.
83686         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
83687         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
83688
83689         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
83690         glibc.
83691         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
83692         arg to memcpy.
83693
83694         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
83695         (obstack_ptr_grow_fast, obstack_int_grow_fast):
83696         Don't use lvalue casts, as GCC plans to remove support for them
83697         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
83698         was also present in the non-GCC version, indicating that this
83699         code had always been buggy and had never been widely used.
83700         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
83701         Use the fast variant of each macro, rather than copying the
83702         definiens of the fast variant; that way, we'll be more likely to
83703         catch future bugs in the fast variants.
83704
83705 2003-10-20  Bruno Haible  <bruno@clisp.org>
83706
83707         * modules/wait-process: New file.
83708         * MODULES.html.sh (func_all_modules): Add wait-process.
83709
83710 2003-10-20  Bruno Haible  <bruno@clisp.org>
83711
83712         * m4/wait-process.m4: New file.
83713
83714 2003-10-20  Bruno Haible  <bruno@clisp.org>
83715
83716         * lib/wait-process.h: New file, from GNU gettext.
83717         * lib/wait-process.c: New file, from GNU gettext.
83718
83719 2003-10-19  Jim Meyering  <jim@meyering.net>
83720
83721         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
83722         HPUX 10.20.
83723
83724 2003-10-18  Karl Berry  <karl@gnu.org>
83725
83726         * config/config.guess: update from config.
83727
83728 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83729
83730         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
83731         (getgroups): First arg is int, not size_t.
83732         Don't let 'free' mangle errno.
83733
83734 2003-10-16  Paul Eggert  <eggert@twinsun.com>
83735
83736         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
83737
83738 2003-10-16  Karl Berry  <karl@gnu.org>
83739
83740         * config/config.{guess,sub}: update from config.
83741
83742 2003-10-16  Jim Meyering  <jim@meyering.net>
83743
83744         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
83745         memcpy.
83746
83747 2003-10-15  Paul Eggert  <eggert@twinsun.com>
83748
83749         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
83750         (SIZE_MAX): Remove.
83751         (new_exclude, add_exclude_file): Initial size no longer needs to
83752         be a power of 2.
83753         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
83754         our own address arithmetic overflow checking.
83755
83756         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
83757         (fnmatch): Do not alloca more than 2000 wide characters;
83758         instead, use malloc for large buffers.
83759         Check for address arithmetic overflow, and return -1
83760         with errno set to ENOMEM in that case.
83761         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
83762         (NEW_PATTERN): Do not alloca more than 8000 bytes;
83763         instead, return -1.  Check for address arithmetic overflow.
83764
83765 2003-10-14  Paul Eggert  <eggert@twinsun.com>
83766
83767         Handle invalid suffixes and overflow independently, so that
83768         callers can treat them independently as needed.  Fix some bugs in
83769         suffix handling, e.g., "100k@" was not diagnosed as an invalid
83770         suffix for a human-readable blocksize.  The major caller-visible
83771         change is the addition of a new
83772         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
83773         that both overflow and suffix chars were found.
83774
83775         * lib/human.c (humblock): Don't check separately for invalid suffix
83776         char; that is xstrtoumax's job (now that its bug is fixed).
83777         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
83778         INTMAX_MAX]: New macros.
83779         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
83780         TYPE_MAXIMUM): New macros.
83781         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
83782         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
83783         if overflow occurs, as it's what __strtol does and it's more useful
83784         in practice.
83785         (__xstrtol): If __strtol reports some error other than ERANGE,
83786         reflect it to the caller as LONGINT_INVALID.  If it reports
83787         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
83788         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
83789         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
83790         value.
83791         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
83792         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
83793         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
83794         [defined UINTMAX_MAX]: New macros.
83795
83796 2003-10-14  Bruno Haible  <bruno@clisp.org>
83797
83798         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
83799
83800 2003-10-14  Bruno Haible  <bruno@clisp.org>
83801
83802         * m4/sig_atomic_t: New file, from GNU gettext.
83803         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
83804
83805 2003-10-14  Bruno Haible  <bruno@clisp.org>
83806
83807         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
83808         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
83809         Also use volatile where needed.
83810
83811 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83812
83813         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
83814         Change maintainer from Bruno Haible to 'all'.
83815
83816 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83817
83818         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
83819
83820 2003-10-12  Paul Eggert  <eggert@twinsun.com>
83821
83822         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
83823         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
83824         and define in terms of the other primitives.
83825         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
83826         (SIZE_MAX): Define if not already defined.
83827         (array_size_overflow): New function.
83828         (xalloc_die): Abort instead of exiting if 'error' returns.
83829         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
83830         (xmalloc, xrealloc): Use them.
83831         (xcalloc): Check for address arithmetic overflow.
83832         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
83833         a bit faster than strcpy.
83834
83835 2003-10-10  Simon Josefsson  <jas@extundo.com>
83836
83837         * modules/argp (Depends-on): Add restrict and strcase.
83838
83839 2003-10-10  Simon Josefsson  <jas@extundo.com>
83840
83841         * m4/argp.m4: Add AC_C_INLINE.
83842
83843 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83844
83845         Merge getpass from libc, plus a few fixes.
83846
83847         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
83848         Include <stdbool.h>.
83849         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
83850         __fsetlocking to empty.
83851         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
83852         do include <bits/libc-lock.h>.
83853         Do not include <fcntl.h>; not needed.
83854         [_LIBC]: Include <wchar.h>.
83855         (NOTCANCEL_MODE): New macro.
83856         (flockfile, funlockfile) [_LIBC]: New macros.
83857         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
83858         [!_LIBC]: New macros.
83859         (call_fclose): New function.
83860         (getpass): Use it.  Save tty stream separately; this simplifies the
83861         code and makes it more reliable if stdin happens to equal stdout.
83862         Invoke __fsetlocking on tty.
83863         Handle thread cancellation if needed.
83864         Namespace cleanup (use __tcgetattr, __getline).
83865         Use bool for Booleans.
83866         [USE_IN_LIBIO]: Handle wide streams.
83867         [!_LIBC]: Unconditionally do the fseek, since we don't know what
83868         stream might go where.
83869
83870         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
83871         doesn't have to include <stdio.h> before us.
83872         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
83873         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
83874         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
83875         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
83876         if not declared, so that we can use getpass.c code from libc without
83877         rewriting it.
83878         (flockfile, ftrylockfile, funlockfile): New macros.
83879
83880 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83881
83882         * modules/getpass: Depend on stdbool.
83883
83884 2003-10-08  Paul Eggert  <eggert@twinsun.com>
83885
83886         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
83887
83888 2003-10-07  Karl Berry  <karl@gnu.org>
83889
83890         * config/config.{guess,sub}: update from config.
83891
83892 2003-10-06  Jim Meyering  <jim@meyering.net>
83893             Bruno Haible  <bruno@clisp.org>
83894
83895         This lets translators provide better translations for the
83896         "Written by ..." part of --version output.
83897         * lib/version-etc.h: Include stdarg.h.
83898         (version_etc_copyright): Declare as readonly.
83899         (version_etc): Make this function variadic with a NULL-terminated list
83900         of author name strings.
83901         (version_etc_va): New declaration.
83902         * lib/version-etc.c: Include stdarg.h, stdlib.h.
83903         (version_etc_copyright): Declare as readonly.
83904         (version_etc_va): New function. Provide a different translatable string
83905         for each possible number of authors < 10. Abbreviate when there are 10
83906         authors or more.
83907         (version_etc): Make this function variadic. Call version_etc_va.
83908         Suggestion from Gary V. Vaughan.
83909
83910         * lib/long-options.h (parse_long_options): Change prototype: the
83911         authors string is moved to the end and becomes variadic.
83912         * lib/long-options.c: Include stdarg.h.
83913         (parse_long_options): Make this function variadic, too.
83914         Call version_etc_va, not version_etc.
83915
83916 2003-10-06  Bruno Haible  <bruno@clisp.org>
83917
83918         * modules/version-etc-2: Remove file.
83919         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
83920
83921 2003-10-06  Bruno Haible  <bruno@clisp.org>
83922
83923         * modules/fatal-signal: New file.
83924         * MODULES.html.sh (func_all_modules): Add fatal-signal.
83925
83926 2003-10-06  Bruno Haible  <bruno@clisp.org>
83927
83928         * m4/fatal-signal.m4: New file.
83929         * m4/signalblocking.m4: New file, from GNU gettext.
83930
83931 2003-10-06  Bruno Haible  <bruno@clisp.org>
83932
83933         * lib/version-etc-2.h: Remove file.
83934         * lib/version-etc-2.c: Remove file.
83935
83936 2003-10-06  Bruno Haible  <bruno@clisp.org>
83937
83938         * lib/fatal-signal.h: New file, from GNU gettext.
83939         * lib/fatal-signal.c: New file, from GNU gettext.
83940
83941 2003-10-05  Paul Eggert  <eggert@twinsun.com>
83942
83943         * README: Rework advice for preventing empty .o files.
83944         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
83945         not <sys/types.h>.
83946
83947 2003-10-04  Karl Berry  <karl@gnu.org>
83948
83949         * lib/argp*: update from libc.
83950
83951 2003-10-04  Karl Berry  <karl@gnu.org>
83952
83953         * config/config.{guess,sub}: update from config.
83954
83955 2003-10-02  Bruno Haible  <bruno@clisp.org>
83956
83957         * modules/lchown (Include): Add lchown.h.
83958         * modules/time_r (Include): Use "..." syntax.
83959         * modules/xgetdomainname (Include): Add xgetdomainname.h.
83960
83961 2003-10-01  Simon Josefsson  <jas@extundo.com>
83962
83963         * MODULES.html.sh (func_all_modules): Move gethostname from section
83964         'based on' to section 'lacking' POSIX:2001.
83965
83966 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
83967
83968         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
83969         to output mode on the same stream.
83970
83971 2003-09-29  Paul Eggert  <eggert@twinsun.com>
83972
83973         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
83974         Fix arg typo in previous patch.
83975
83976 2003-09-28  Jim Meyering  <jim@meyering.net>
83977
83978         * lib/error.c: Correct cpp indentation.
83979
83980 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83981
83982         * modules/free: New file.
83983
83984 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83985
83986         * m4/free.m4: New file.
83987
83988 2003-09-27  Paul Eggert  <eggert@twinsun.com>
83989
83990         * lib/minmax.h (MIN, MAX)
83991         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
83992         Omit the special code that used __typeof__, since we worry that
83993         it could be more trouble than it's worth.  See:
83994         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
83995         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
83996
83997         * lib/free.c: New file.
83998
83999 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
84000
84001         Trivial fixes to Makefile.am parts of module listings.
84002         * modules/strstr: Append strstr.h to lib_SOURCES.
84003         * modules/strcase: Likewise, for strcase.h.
84004
84005 2003-09-27  Karl Berry  <karl@gnu.org>
84006
84007         * config/mkinstalldirs: update from automake.
84008
84009 2003-09-26  Paul Eggert  <eggert@twinsun.com>
84010
84011         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
84012         (error_tail): Do not loop, reallocating temporary buffer, since
84013         the output cannot contain more wide characters than the input
84014         contains bytes, the size must be big enough already.  This avoids
84015         one potential size overflow calculation.  Check for size overflow
84016         when calculating temporary buffer size.  Free temporary buffer
84017         when done, if it was allocated with malloc; this plugs a memory
84018         leak.  Remove casts from void * to pointers, that are no longer
84019         needed now that we're assuming C89 or better.
84020
84021         Merge error changes from glibc.
84022
84023         * lib/error.c, error.h: Update copyright notice header to match glibc.
84024         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
84025         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
84026         Disable cancellation while printing error.
84027         * lib/error.h: Prepend __ to parameter names.
84028
84029 2003-09-26  Jim Meyering  <jim@meyering.net>
84030
84031         * lib/error.c (error_tail): Move some declarations
84032         into inner scope where the local variables are used.
84033
84034 2003-09-26  Bruno Haible  <bruno@clisp.org>
84035
84036         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
84037         stpncpy().
84038         Don't define stpncpy through config.h; it's now done through stpncpy.h.
84039
84040 2003-09-26  Bruno Haible  <bruno@clisp.org>
84041
84042         * lib/stpncpy.h (gnu_stpncpy): New declaration.
84043         (stpncpy): Define as alias for gnu_stpncpy.
84044         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
84045
84046 2003-09-25  Simon Josefsson  <jas@extundo.com>
84047
84048         * lib/xgetdomainname.h: New file.
84049         * lib/xgetdomainname.c: New file.
84050
84051 2003-09-25  Simon Josefsson  <jas@extundo.com>
84052             Bruno Haible  <bruno@clisp.org>
84053
84054         * modules/getdomainname: New file.
84055         * modules/xgetdomainname: New file.
84056         * MODULES.html.sh (func_all_modules): Add getdomainname,
84057         xgetdomainname.
84058
84059 2003-09-25  Simon Josefsson  <jas@extundo.com>
84060             Bruno Haible  <bruno@clisp.org>
84061
84062         * m4/getdomainname.m4: New file.
84063
84064 2003-09-25  Simon Josefsson  <jas@extundo.com>
84065             Bruno Haible  <bruno@clisp.org>
84066
84067         * lib/getdomainname.h: New file.
84068         * lib/getdomainname.c: New file.
84069
84070 2003-09-25  Karl Berry  <karl@gnu.org>
84071
84072         * lib/argp-fmtstream.c, argp-help.c: update from libc.
84073
84074 2003-09-25  Karl Berry  <karl@gnu.org>
84075
84076         * config/install-sh: update from automake.
84077
84078 2003-09-25  Bruno Haible  <bruno@clisp.org>
84079
84080         * modules/version-etc-2: New file, from modules/version-etc with
84081         modifications.
84082         * MODULES.html.sh (func_all_modules): Add version-etc-2.
84083
84084 2003-09-25  Bruno Haible  <bruno@clisp.org>
84085
84086         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
84087         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
84088
84089 2003-09-24  Simon Josefsson  <jas@extundo.com>
84090
84091         * modules/xgethostname: Add xgethostname.h.
84092
84093 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84094
84095         * lib/linebuffer.c (freebuffer): Don't free the argument, just
84096         the buffer associated with the argument.  Bug reported by
84097         Simon Josefsson.
84098
84099 2003-09-24  Paul Eggert  <eggert@twinsun.com>
84100
84101         * README: Document assumptions that 'int' is at least 32 bits
84102         wide, that integer arithmetic is 2's complement without overflow,
84103         that there are no holes in integer values, that adding sizes of
84104         two nonoverlapping objects can't overflow, and that all-bits-zero
84105         yields scalar zero.  Fix spelling and capitalization typos.
84106
84107 2003-09-19  Karl Berry  <karl@gnu.org>
84108
84109         * lib/argp.h: update from libc.
84110
84111 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84112
84113         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
84114         to avoid spurious warnings like "AC_RUN_IFELSE was called before
84115         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
84116
84117 2003-09-17  Paul Eggert  <eggert@twinsun.com>
84118
84119         * gnulib-tool: Use "test -h", not "test -L", for portability
84120         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
84121         (tags_regexp): Remove, since \| doesn't conform to POSIX.
84122         (sed_extract_prog): Issue s commands one-by-one, rather than
84123         using \| in one s command.
84124
84125 2003-09-16  Paul Eggert  <eggert@twinsun.com>
84126
84127         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
84128         input error, instead of returning NULL the next time we are called
84129         (and therefore losing track of errno).
84130
84131 2003-09-16  Bruno Haible  <bruno@clisp.org>
84132
84133         * gnulib-tool (func_create_testdir): Warn about duplicated
84134         dependencies.
84135
84136 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84137
84138         * modules/argmatch, modules/fatal, modules/obstack,
84139         modules/xalloc, modules/xgethostname: Sort dependencies by
84140         importance, not alphabetically.
84141
84142 2003-09-15  Paul Eggert  <eggert@twinsun.com>
84143
84144         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
84145         fails, so that the caller gets the proper errno.
84146
84147         * lib/readutmp.c (read_utmp): Likewise.
84148         Check for fstat error.  Close stream and free storage
84149         when failing.
84150
84151 2003-09-14  Karl Berry  <karl@gnu.org>
84152
84153         * config/srclist.txt (strdup.c): disable for c89 changes.
84154
84155 2003-09-14  Jim Meyering  <jim@meyering.net>
84156
84157         * lib/getloadavg.c: Correct cpp indentation.
84158         * lib/strdup.c: Likewise.
84159         * lib/vasnprintf.c: Likewise.
84160
84161 2003-09-14  Bruno Haible  <bruno@clisp.org>
84162
84163         * modules/fwriteerror: New file.
84164         * MODULES.html.sh (func_all_modules): Add fwriteerror.
84165
84166 2003-09-14  Bruno Haible  <bruno@clisp.org>
84167
84168         * lib/fwriteerror.h: New file.
84169         * lib/fwriteerror.c: New file.
84170
84171 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84172
84173         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
84174         modules/xgethostname, modules/xalloc: Depend on exit.
84175
84176 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84177
84178         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
84179
84180         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
84181         and AC_MINIX, too, so that their extensions are available.
84182
84183         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
84184         This macro has been superseded by gl_BACKUPFILE.
84185
84186         More patches to assume C89 or better.
84187
84188         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
84189
84190         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
84191         unconditionally.
84192         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
84193         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
84194         Include <string.h>, <stdlib.h> unconditionally.
84195         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
84196         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
84197         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
84198         headers or for string.h.
84199         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
84200         or strtoul.
84201
84202         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
84203         headers.
84204         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
84205         * m4/userspec.m4 (gl_USERSPEC): Likewise.
84206         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
84207         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
84208         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
84209         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
84210         memcpy, memset.
84211         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
84212         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
84213         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
84214         strtol.
84215         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
84216         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
84217         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
84218         strtoul.
84219
84220 2003-09-12  Paul Eggert  <eggert@twinsun.com>
84221
84222         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
84223         * lib/obstack.c [!defined _LIBC]: Likewise.
84224         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
84225         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
84226         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
84227
84228         More changes to assume C89 or better.
84229
84230         * lib/error.c (error_tail): Assume vprintf.
84231
84232         * lib/argmatch.c (getenv): Remove decl.
84233         * lib/progreloc.c (get_full_program_name): Define via prototype.
84234         * lib/setenv.c (clearenv): Likewise.
84235         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
84236         needed.
84237         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
84238         (malloc, memcpy): Remove decls.
84239         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
84240         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
84241         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84242         (memcpy): Remove macro.
84243         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
84244         (__P): Remove.  All uses removed.
84245         (PTR): Remove.  All uses changed to void *.
84246         (CHAR_BIT, NULL): Remove.
84247         (spaces, zeros, memset_space, memset_zero)
84248         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
84249         Remove.
84250         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
84251         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
84252         Define with prototype.
84253         Remove now-unnecessary prototype decl.
84254         (extra_args_spec): Assume ANSI C.  All uses changed.
84255         (extra_args_spec_iso): Remove.
84256         (my_strftime, emacs_strftimeu): Define via prototype.
84257         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
84258         unconditionally.
84259         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
84260         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
84261         (strtoul, strtol): Remove decls.
84262         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
84263         LONG_MAX): Remove.
84264         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
84265         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
84266         (LOCALE_PARAM_PROTO): New macro.
84267         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
84268         (INTERNAL (strtol), strtol): Define with a prototype.
84269         (PARAMS): Remove.  All uses removed.
84270         * lib/tempname.c: Include <string.h> unconditionally.
84271         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
84272         * lib/xgethostname.c (main): Define with a prototype.
84273         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
84274         Include <stdlib.h> unconditionally.
84275         (calloc, malloc, realloc, free): Remove decls.
84276         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
84277         Include <stdlib.h> unconditionally.  Sort include file names.
84278         (strtod): Remove.
84279         (xstrtod): Define with a prototype.
84280         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
84281         (strtol, strtoul): Remove decls.
84282
84283 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84284
84285         More patches to assume C89 or better.
84286         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
84287         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
84288         string.h, memchr, STDC_HEADERS.
84289
84290 2003-09-11  Paul Eggert  <eggert@twinsun.com>
84291
84292         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
84293         Include <stdlib.h>, <string.h> unconditionally.
84294         Remove now-unnecessary cast to char *.
84295         * lib/strnlen.c: Include <string.h> unconditionally.
84296         * lib/yesno.c (yesno): Define with a prototype.
84297
84298 2003-09-11  Bruno Haible  <bruno@clisp.org>
84299
84300         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
84301
84302 2003-09-10  Jim Meyering  <jim@meyering.net>
84303
84304         * lib/error.c: Correct indentation of cpp directives.
84305
84306 2003-09-10  Bruno Haible  <bruno@clisp.org>
84307
84308         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
84309         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
84310         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
84311         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
84312         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
84313         <stdlib.h> and <string.h> checks.
84314         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
84315         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
84316
84317 2003-09-10  Bruno Haible  <bruno@clisp.org>
84318
84319         * lib/strcspn.c: Include <string.h> unconditionally.
84320         * lib/strpbrk.c: Include <string.h> unconditionally.
84321         * lib/strstr.c: Include <string.h> unconditionally.
84322         * lib/unicodeio.c: Include <string.h> unconditionally.
84323         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
84324         * lib/unsetenv.c: Likewise.
84325         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
84326         * lib/yesno.c: Include <stdlib.h> unconditionally.
84327         (rpmatch): Add prototype.
84328
84329 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84330
84331         More patches to assume C89 or better.
84332         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
84333         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
84334         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
84335         or for string.h.
84336         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
84337         stdlib.h.
84338         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
84339         C headers.
84340         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
84341         string.h.
84342         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
84343         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
84344         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
84345         or for string.h.
84346         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
84347         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
84348         C headers.
84349         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
84350         memcpy.
84351         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
84352         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
84353         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
84354         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
84355         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
84356         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
84357         string.h, free.
84358         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
84359         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
84360         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
84361         C headers, or for string.h.
84362         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
84363         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
84364         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
84365         headers, memory.h, stdlib.h, string.h, strings.h.
84366         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
84367         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
84368         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
84369         strchr.
84370         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
84371         headers, memory.h, string.h.
84372         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
84373         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
84374         free.
84375         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
84376         headers.
84377         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
84378         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
84379         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
84380         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
84381         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
84382
84383 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84384
84385         More K&R removal.
84386
84387         * lib/acosl.c (main): Use a prototype.
84388         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
84389         tanl.c: Likewise.
84390
84391         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
84392
84393         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
84394         (getopt, etopt_long, getopt_long_only, _getopt_internal)
84395         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
84396         with a prototype.
84397         * lib/getopt.c (const): Remove macro.
84398         Include <string.h> unconditionally.
84399         (my_index): Remove; all uses changed to strchr.
84400         (strlen): Remove decl.
84401         (exchange): Remove forward decl; no longer needed.
84402         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
84403         Define with prototype.
84404         * lib/getopt1.c (const): Remove macro.
84405         (getopt_long, getopt_long_only, main): Define with prototype.
84406
84407         * lib/getugroups.c: Include <string.h> unconditionally.
84408
84409         * lib/getusershell.c: Include <stdlib.h> unconditionally.
84410         (getusershell, setusershell, endusershell, readname, main):
84411         Define with prototypes.
84412
84413         * lib/group-member.c: Include group-member.h first.
84414         Include <stdlib.h> unconditionally.
84415
84416         * lib/hard-locale.c: Include hard-locale.h first.
84417         Include <stdlib.h>, <string.h> unconditionally.
84418
84419         * lib/hash.c (free, malloc): Remove decls.
84420         Include <stdlib.h> unconditionally.
84421
84422         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
84423         (getenv): Do not declare.
84424
84425         * lib/idcache.c: Include <string.h> unconditionally.
84426
84427         * lib/long-options.c: Include long-options.h first, to test interface.
84428         Include <stdlib.h> unconditionally.
84429
84430         * lib/makepath.c: Include makepath.h first, to test interface.
84431         Include <stdlib.h> and <string.h> unconditionally.
84432
84433         * lib/linebuffer.c: Include <stdlib.h>.
84434         (free): Remove decl.
84435
84436         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
84437         stddef.h. rpl_malloc returns void *, not char *.
84438         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
84439         prototype.
84440
84441         * lib/md5.h: Include <limits.h> unconditionally.
84442         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
84443         (__P): Remove; all uses removed.
84444         * lib/md5.c: Include "md5.h" first.
84445         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
84446         md5_buffer, md5_process_bytes, md5_process_block):
84447         Define with prototypes.
84448         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
84449         * lib/sha.c: Include "sha.h" first.
84450         Include <stdlib.h>, <string.h> unconditionally.
84451
84452         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
84453         * lib/memcmp.c (__ptr_t): Likewise.
84454         * lib/memrchr.c (__ptr_t): Likewise.
84455         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
84456         Include <string.h> unconditionally.
84457         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
84458         * lib/memchr.c: Include <stdlib.h> unconditionally.
84459         * lib/memchr.c (LONG_MAX): Remove.
84460         * lib/memrchr.c (LONG_MAX): Likewise.
84461         * lib/memchr.c (__memchr): Define via a prototype.
84462         * lib/memrchr.c (__memrchr): Likewise.
84463         * lib/memcmp.c (__P): Remove, and remove all uses.
84464         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
84465         Remove forward decls; no longer needed.
84466         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
84467         Use types required by C89 in prototype.
84468
84469         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
84470         * lib/savedir.c: Likewise.
84471         * lib/mkdir.c (free): Remove decl.
84472         * lib/rmdir.c (rmdir): Define with a prototype.
84473         * lib/savedir.c: Include savedir.h first, to test interface.
84474
84475         * lib/mktime.c (STDC_HEADERS): Remove.
84476         Include <stdlib.h>, <string.h> unconditionally.
84477
84478         * lib/modechange.c: Include <stdlib.h> unconditionally.
84479         (malloc): Remove decl.
84480
84481         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
84482         (free): Remove decl.
84483
84484         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
84485         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
84486         (This type really should be intptr_t, but that's a C99ism.)
84487         (_obstack_memcpy): Remove: all uses changed to memcpy.
84488         Include <string.h> unconditionally.
84489         (struct obstack): Assume __STDC__ for types of members
84490         chunkfun, freefun, extra_arg.
84491         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
84492         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
84493         obstack_begin, obstack_specify_allocation,
84494         obstack_specify_allocation_with_arg, obstack_chunkfun,
84495         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
84496         Remove unprototyped decls and the macros that use them.
84497         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
84498         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
84499         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
84500         (defined __STDC__ && __STDC__)]:
84501         Remove nonprototyped code.
84502         Include <stdlib.h> unconditionally.
84503         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
84504         _obstack_allocated_p, _obstack_free, obstack_free,
84505         _obstack_memory_used, print_and_abort):
84506         Define using prototypes.
84507         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
84508         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
84509         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
84510         obstack_next_free, obstack_object_size, obstack_room) [0]:
84511         Remove unused, unprototyped code.
84512
84513         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
84514
84515         * lib/physmem.c (physmem_total, physmem_available, main): Define
84516         with prototypes.
84517
84518         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
84519         (main): Define with a prototype.
84520
84521         * lib/posixver.c (getenv): Remove decl.
84522
84523         * lib/putenv.c (malloc): Returns void *, not char *.
84524         Include <string.h> unconditionally.
84525         (strchr, memcpy, NULL): Do not define.
84526
84527         * lib/readtokens.c: Include readtokens.h first, to test interface.
84528         Include <stdlib.h>, <string.h> unconditionally.
84529         (init_tokenbuffer): Define with a prototype.
84530
84531         * lib/regex.c (PARAMS): Remove.  All uses removed.
84532         All uses of _RE_ARGS removed, too.
84533         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84534         unconditionally.
84535         (bzero): Assume memset exists.
84536         (memcmp, memcpy, NULL): Remove.
84537         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
84538         char, or assignments to local vars of type signed char.
84539         (init_syntax_once, PREFIX(extract_number_and_incr),
84540         PREFIX(print_partial_compiled_pattern),
84541         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
84542         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
84543         PREFIX(regex_grow_registers), PREFIX(regex_compile),
84544         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
84545         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
84546         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
84547         wcs_compile_range, byte_compile_range, truncate_wchar,
84548         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
84549         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
84550         count_mbs_length, wcs_re_match_2_internal,
84551         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
84552         PREFIX(alt_match_null_string_p),
84553         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
84554         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
84555         regfree, PREFIX(extract_number)): Define with prototype.  Remove
84556         now-unnecessary declaration, if any.
84557         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
84558         regcomp, regexec):
84559         Remove now-unnecessary casts among pointer types.
84560         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
84561
84562         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
84563         (free): Remove decl.
84564
84565         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
84566
84567         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
84568         (free): Remove decl.
84569
84570         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
84571         * lib/xgetcwd.c: Likewise.
84572
84573         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
84574         (free): Remove decl.
84575
84576         * lib/strchrnul.c (strchrnul): Define with a prototype.
84577         Fix bug: c_in was not converted to char before searching.
84578
84579         The following changes are not K&R related:
84580
84581         * lib/group-member.h: Include <sys/types.h>, so that this file is
84582         self-contained.
84583         * lib/makepath.h: Likewise.
84584
84585         * lib/getusershell.c (readname, default_index, line_size, readname):
84586         Use size_t, not int, for sizes.
84587         (readname): If the size overflows, report an error instead of
84588         looping forever.
84589
84590 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84591
84592         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
84593         libc.
84594
84595 2003-09-09  Paul Eggert  <eggert@twinsun.com>
84596
84597         * README: New section: portability guidelines.
84598
84599 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84600
84601         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
84602         C89 spec.
84603
84604 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
84605
84606         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
84607
84608 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84609
84610         Assume C89 or better; remove K&R cruft.
84611         A few of these changes were first proposed by Derek Robert Price
84612         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
84613
84614         * lib/addext.c: Include <string.h> unconditionally.
84615         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
84616         Don't declare getenv or malloc.
84617
84618         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
84619         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
84620         (NULL): Remove.
84621         (find_stack_direction, alloca): Use prototypes.
84622
84623         * lib/atexit.c (atexit): Define using a prototype.
84624
84625         * lib/basename.c, dirname.c, stripslash.c:
84626         Include <string.h> unconditionally.
84627
84628         * lib/bcopy.c: Include <stddef.h>.
84629         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
84630
84631         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
84632
84633         * lib/error.h (error, error_at_line, error_print_progname)
84634         [! (defined (__STDC__) && __STDC__)]: Remove decls.
84635         * lib/error.c: Include error.h first, to check interface.
84636         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84637         (VA_START): Remove; all uses changeed to va_start.
84638         (exit, strerror): Remove decls.
84639         (error_print_progname): Prototype uncondionally.
84640         Don't include <errno.h>; no longer needed.
84641         (private_strerror): Remove.
84642         (error_tail): Always define.
84643         (error, error_at_line): Assume C89 or better; always use prototypes.
84644         * lib/fatal.c: Include "fatal.h" first, to test interface.
84645         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
84646         (VA_START): Remove; all uses changed to va_start.
84647         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
84648         this case.
84649         (exit): Remove decl.
84650         (fatal): Prototype unconditionally.  Assume va_start works.
84651         Abort at end, to pacify gcc.
84652
84653         * lib/euidaccess.c (main): Define with a prototype.
84654
84655         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
84656
84657         * lib/exitfail.c: Include <stdlib.h> unconditionally.
84658
84659         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
84660         prototypes.
84661         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
84662         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
84663         (getenv): Remove decl.
84664         (fnmatch): Define using a prototype.
84665         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
84666         (FCT): Define using a prototype.
84667
84668         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
84669
84670         * lib/gethostname.c: Include <stddef.h>.
84671         (gethostname): Define with prototype.  Length is size_t, not int.
84672
84673 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84674
84675         Assume C89 or better; remove K&R cruft.
84676         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
84677         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
84678         string.h, getenv, malloc.
84679         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
84680         headers.
84681         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
84682         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
84683         do not check for strerror.
84684         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
84685         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
84686         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
84687         do not check for doprnt or vprintf.
84688         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
84689         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
84690
84691 2003-09-08  Paul Eggert  <eggert@twinsun.com>
84692
84693         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
84694         getversion.c should have been removed then, but was accidentally
84695         preserved.
84696
84697         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
84698         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
84699
84700 2003-09-08  Karl Berry  <karl@gnu.org>
84701
84702         * config/config.sub, config.guess, srclistvars.sh: update from savannah
84703                 config, forget about prep.
84704
84705         * config/depcomp, missing: update from automake.
84706
84707 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84708
84709         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
84710         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84711
84712 2003-09-07  Paul Eggert  <eggert@twinsun.com>
84713
84714         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
84715         copy_tm_result.  Bug reported by Simon Josefsson in
84716         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
84717
84718 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84719
84720         * m4/time_r.m4: New file.
84721         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
84722         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
84723         is. Check for timegm declaration.
84724         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
84725         Do not check for gmtime_r.
84726         Replace mktime if __mktime_internal does not exist and if mktime
84727         hasn't been replaced already.
84728
84729 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84730
84731         * lib/time_r.c, lib/time_r.h: New files.
84732
84733         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
84734         __localtime_r.
84735         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
84736         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
84737
84738         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
84739         __gmtime_r.
84740         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
84741         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
84742         Include <time_r.h>.
84743
84744         * lib/timegm.c: Switch to glibc implementation, with the following
84745         changes:
84746         [defined HAVE_CONFIG_H]: Include <config.h>.
84747         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
84748         (__mktime_internal) [!defined _LIBC]: New decl.
84749         (__gmtime_r) [!defined _LIBC]: New macro and function.
84750         (timegm): Use a prototype, since gnulib assumes C89.
84751         Do not bother declaring tmp to be const, as it's not really usefu.
84752         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
84753         (timegm): Declare only if HAVE_DECL_TIMEGM.
84754
84755 2003-09-06  Paul Eggert  <eggert@twinsun.com>
84756
84757         * MODULES.html.sh (func_all_modules): Add time_r.
84758         * modules/time_r: New file.
84759         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
84760         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
84761
84762 2003-09-03  Paul Eggert  <eggert@twinsun.com>
84763
84764         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
84765         Bug reported by Lute Kamstra in
84766         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
84767
84768         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
84769         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
84770         course with correspondingly smaller numbers for tomorrow and
84771         yesterday.  From Tadayoshi Funaba.  Originally installed into
84772         sh-utils on 1999-08-07, but the patch got lost (I guess during the
84773         coreutils merge?).
84774
84775 2003-08-31  Simon Josefsson  <jas@extundo.com>
84776
84777         * modules/timegm: New file.
84778         * MODULES.html.sh (func_all_modules): Add timegm.
84779
84780 2003-08-31  Simon Josefsson  <jas@extundo.com>
84781
84782         * m4/timegm.m4: New file.
84783
84784 2003-08-31  Simon Josefsson  <jas@extundo.com>
84785
84786         * lib/timegm.h: New file.
84787         * lib/timegm.c: New file.  Based on
84788         wget-1.8.2/src/http.c:mktime_from_utc.
84789
84790 2003-08-31  Karl Berry  <karl@gnu.org>
84791
84792         * lib/argp.h: update from libc.
84793
84794 2003-08-28  Bruno Haible  <bruno@clisp.org>
84795
84796         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
84797         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
84798         followed by '#define fnmatch fnmatch_posix' gives an error.
84799
84800 2003-08-28  Bruno Haible  <bruno@clisp.org>
84801
84802         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
84803         warning on QNX, which defines O_BINARY to 000000.
84804
84805 2003-08-27  Jim Meyering  <jim@meyering.net>
84806
84807         * m4/mkstemp.m4: Require that the system mkstemp be able to create
84808         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
84809         would fail after 32.  Reported by Danny Levinson.  Details here:
84810         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
84811
84812 2003-08-24  Bruno Haible  <bruno@clisp.org>
84813
84814         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
84815         MSVC7 <stdio.h> is included later.
84816
84817 2003-08-22  Simon Josefsson  <jas@extundo.com>
84818
84819         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
84820
84821 2003-08-20  Karl Berry  <karl@gnu.org>
84822
84823         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
84824
84825 2003-08-20  Bruno Haible  <bruno@clisp.org>
84826
84827         * modules/progname: New file.
84828         * MODULES.html.sh (func_all_modules): Add progname.
84829
84830 2003-08-20  Bruno Haible  <bruno@clisp.org>
84831
84832         * lib/progname.h: New file, from GNU gettext.
84833         * lib/progname.c: New file, from GNU gettext.
84834         * lib/progreloc.c: New file, from GNU gettext.
84835
84836 2003-08-19  Jim Meyering  <jim@meyering.net>
84837
84838         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
84839         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
84840
84841 2003-08-19  Bruno Haible  <bruno@clisp.org>
84842
84843         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
84844         more.
84845
84846 2003-08-19  Bruno Haible  <bruno@clisp.org>
84847
84848         * lib/xstrdup.c: Assume <string.h> exists.
84849
84850 2003-08-18  Paul Eggert  <eggert@twinsun.com>
84851
84852         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
84853         in makefile rules.
84854
84855 2003-08-18  Jim Meyering  <jim@meyering.net>
84856
84857         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
84858         * m4/lib-ld.m4: Likewise.
84859
84860 2003-08-18  Jim Meyering  <jim@meyering.net>
84861
84862         * lib/setenv.h: Indent nested cpp directive.
84863         * lib/vasnprintf.c: Remove trailing blanks.
84864
84865 2003-08-17  Simon Josefsson  <jas@extundo.com>
84866
84867         * modules/xstrndup: New file.
84868         * MODULES.html.sh (func_all_modules): Add xstrndup.
84869
84870 2003-08-17  Simon Josefsson  <jas@extundo.com>
84871
84872         * modules/argp: Fix autoconf macro name. Add more dependencies.
84873
84874 2003-08-17  Simon Josefsson  <jas@extundo.com>
84875
84876         * m4/xstrndup.m4: New file.
84877
84878 2003-08-17  Simon Josefsson  <jas@extundo.com>
84879
84880         * m4/argp.m4: New file.
84881
84882 2003-08-17  Simon Josefsson  <jas@extundo.com>
84883             Bruno Haible  <bruno@clisp.org>
84884
84885         * lib/xstrndup.h: New file.
84886         * lib/xstrndup.c: New file.
84887
84888 2003-08-17  Bruno Haible  <bruno@clisp.org>
84889
84890         * modules/strndup (Files, Include): Add lib/strndup.h.
84891
84892 2003-08-17  Bruno Haible  <bruno@clisp.org>
84893
84894         * modules/euidaccess (Files): Add lib/euidaccess.h.
84895
84896 2003-08-17  Bruno Haible  <bruno@clisp.org>
84897
84898         * lib/strndup.h: New file.
84899
84900 2003-08-17  Bruno Haible  <bruno@clisp.org>
84901
84902         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
84903         like AC_GNU_SOURCE.
84904         * modules/extensions (configure.ac): Comment out the invocation of
84905         gl_USE_SYSTEM_EXTENSIONS.
84906
84907 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84908
84909         Merges from coreutils, etc.
84910         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
84911         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
84912         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
84913         fixing a typo.
84914         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
84915         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
84916
84917 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84918
84919         Document merge from coreutils.
84920         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
84921         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
84922         * modules/utime: Add m4/utimes-null.m4.
84923
84924 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84925
84926         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
84927         space, undoing this 2003-08-12 change:
84928         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
84929
84930 2003-08-16  Paul Eggert  <eggert@twinsun.com>
84931
84932         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
84933         strtoul.c from libc, undoing this 2003-08-12 change:
84934         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
84935
84936 2003-08-16  Jim Meyering  <jim@meyering.net>
84937
84938         Merges from coreutils.
84939         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
84940         prefix.  Adjust cache variables similarly.  Create 500 rather than
84941         just 300 files, to exercise bug on Darwin6.5, too.
84942         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
84943         $missing_dir.
84944         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
84945         AM_SYS_POSIX_TERMIOS.
84946         Reported by mkc@mathdogs.com.
84947         Also change use of $am_cv_sys_posix_termios
84948         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
84949         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
84950         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
84951         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
84952         in /proc/mounts until it finds one with matching device number.  This
84953         is unnecessary when the FILE argument *is* a mount point.  No stat call
84954         is necessary in that case.  So, disable the statvfs-testing code on
84955         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
84956         as RedHat bug# 84846.
84957         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
84958         to 1MB, so as not to render systems with no stack size limit (e.g.,
84959         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
84960         Include <unistd.h>.  On some systems,
84961         it is required for the definition of _SC_PAGESIZE.
84962
84963 2003-08-16  Jim Meyering  <jim@meyering.net>
84964
84965         Merge from coreutils.
84966         * lib/xstrtoimax.c: #else #if -> #elif.
84967         * lib/xstrtoumax.c: Likewise.
84968
84969 2003-08-16  Jim Meyering  <jim@meyering.net>
84970
84971         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
84972         * m4/utimes.m4: Removed.
84973         * m4/utimes-null.m4: Renamed from utimes.m4.
84974
84975         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
84976         to 1MB, so as not to render systems with no stack size limit (e.g.,
84977         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
84978         Include <unistd.h>.  On some systems,
84979         it is required for the definition of _SC_PAGESIZE.
84980
84981 2003-08-16  Jim Meyering  <jim@meyering.net>
84982         and Paul Eggert  <eggert@cs.ucla.edu>
84983
84984         Merges from coreutils, etc.
84985
84986         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
84987         using the latest version from cvs.  This avoids problems with #line
84988         directives using a vendor (Sun) compiler.
84989         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
84990         Don't set GETGROUPS_LIB here; now it's
84991         done via getgroups.m4's wrapper function.
84992         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
84993         rather than just in sh-util/configure.in, so that the
84994         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
84995         same.
84996         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
84997         AC_FUNC_GETLOADAVG where to find getloadavg.c.
84998         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
84999         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
85000         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
85001         Remove code that is now done by the newly-required macros.
85002         Append $(EXEEXT) to DF_PROG.
85003         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
85004         Do not invoke or require the following here,
85005         since prereq.m4 or some gnulib .m4 now does this for us:
85006         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
85007         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
85008         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
85009         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
85010         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
85011         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
85012         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
85013         AC_FUNC_OBSTACK.
85014         Do not replace the following functions, as this is now the job
85015         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
85016         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
85017         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
85018         atexit getpass, strdup, getpagesize.
85019         Replace 'raise'.
85020         Do not check for the following functions, as this is now the job
85021         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
85022         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
85023         setregid.
85024         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
85025         Check for sys/sysctl.h.
85026         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
85027         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
85028         of checking for ssize_t ourselves.
85029
85030         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
85031         Require every macro that gnulib/modules/* suggests for us.
85032         (jm_PREREQ_ADDEXT): New macro.
85033         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
85034         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
85035
85036         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
85037         (gl_PHYSMEM): Use it.
85038         Also check for `table' function.
85039         Check for new headers and functions.
85040         Add check for sys/sysmp.h.
85041         With suggestions from Kaveh Ghazi.
85042         Ignore headers that are present but cannot be compiled.  This
85043         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
85044         C 5.4.
85045
85046 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85047
85048         Document merge from coreutils.
85049         * modules/userspec: Depend on posixver.
85050         * modules/strftime: Depend on tzset.
85051
85052 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85053
85054         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
85055         rather than tab, after '#' in shell-script copyright notices.
85056         Suggested by Bruno Haible.
85057
85058 2003-08-15  Paul Eggert  <eggert@twinsun.com>
85059
85060         * config/srclist-update: Use three spaces, rather than tab, after '#'
85061         in shell-script copyright notices.  Suggested by Bruno Haible.
85062         Remove unnecessary parenthesization in regular expression.
85063
85064 2003-08-15  Jim Meyering  <jim@meyering.net>
85065
85066         Merge from coreutils.
85067         * lib/xgethostname.c: Include <stdlib.h>.
85068         (xghostname): Don't exit for anything other than memory-related
85069         failure; just return NULL.
85070         * lib/userspec.c: Include "posixver.h".
85071         (parse_user_spec): Accept `.' as a separator only
85072         in pre-POSIX-200112 mode.
85073         * lib/strtoimax.c: Use #elif rather than #else #if.
85074         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
85075         Remove function, now that we can rely on a working tzset function.
85076         [!_LIBC]: Ensure that the required autoconf test has been run.
85077         [!defined _NL_CURRENT && HAVE_STRFTIME]:
85078         Use underlying_strftime for %r.
85079         * lib/sha.c: Merge in some clean-up and optimization changes from
85080         glibc.
85081         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
85082         Ensure that it is a multiple of 64.
85083         Rearrange loop exit tests so as to avoid performing an
85084         additional fread after encountering an error or EOF.
85085         * lib/realloc.c: Update copyright date.
85086
85087 2003-08-15  Jim Meyering  <jim@meyering.net>
85088         and Paul Eggert  <eggert@twinsun.com>
85089
85090         Merge from coreutils.
85091         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
85092         member but strut utmpx does not.  Needed for AIX 4.3.3.
85093         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
85094
85095 2003-08-15  Jim Meyering  <jim@meyering.net>
85096         and Paul Eggert  <eggert@cs.ucla.edu>
85097
85098         Merges from coreutils, etc.
85099         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
85100         Require gl_FUNC_TZSET_CLOBBER.
85101         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
85102         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
85103         members.
85104
85105 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85106
85107         Help the merge from coreutils.
85108         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
85109         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
85110         * m4/tzset.m4: Use it too.
85111
85112 2003-08-14  Paul Eggert  <eggert@twinsun.com>
85113
85114         * modules/tzset: New file.
85115
85116 2003-08-14  Jim Meyering  <jim@meyering.net>
85117
85118         Merges from coreutils.
85119         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
85120         variable names, rather than @FNMATCH_H@.
85121         * modules/alloca: Likewise for $(ALLOCA_H).
85122
85123         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
85124         the three copies of the literal target, `fnmatch.h'.
85125         * modules/alloca (alloca.h): Likewise.
85126
85127 2003-08-14  Jim Meyering  <jim@meyering.net>
85128
85129         Merge from coreutils.
85130         * m4/tzset.m4: New file.
85131         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
85132         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
85133         otherwise, AIX 5.1 systems would end up using the latter.
85134         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
85135         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
85136         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
85137         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
85138
85139 2003-08-14  Jim Meyering  <jim@meyering.net>
85140
85141         Merge from coreutils.
85142         * lib/obstack.h: Whitespace changes.
85143         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
85144         and xcalloc return values.
85145         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
85146         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
85147         hang on OSF/1 5.1 for DIR on both local and remote file systems.
85148         Reported by (and fix confirmed by) Nelson H. F. Beebe.
85149         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
85150         error from mntctl.
85151         Use mntctl's return value to drive the entry-processing loop, since
85152         we can't rely on the value of the vmt_length member in the last
85153         entry.  On some systems doing so could result in exhausting
85154         virtual memory.  Based in part on a patch from Mike Jetzer.
85155
85156 2003-08-14  Jim Meyering  <jim@meyering.net>
85157         and Paul Eggert  <eggert@twinsun.com>
85158
85159         Merges from coreutils, plus other fixes.
85160         * lib/physmem.c: Merge in portability changes from gcc/libiberty
85161         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
85162         for credits and details.  Thanks to Kaveh Ghazi for helping
85163         to keep these files in sync.
85164         (ARRAY_SIZE): Define it.
85165         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
85166         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
85167         (memcasecmp): Don't assume size_t fits in unsigned int.
85168         Remove casts and duplicate code.
85169         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
85170         (memcpy): Remove definition.
85171         Merge in some clean-up and optimization changes from glibc.
85172         [BLOCKSIZE]: Move definition to top of file.
85173         Ensure that it is a multiple of 64.
85174         Rearrange loop exit tests so as to avoid performing an
85175         additional fread after encountering an error or EOF.
85176         * lib/md5.h (md5_uintptr): Define.
85177         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
85178         return to the initial working directory.  Preserve errno
85179         for caller.
85180         * lib/idcache.c: Include "xalloc.h".
85181         (xmalloc, xrealloc): Remove decls.
85182         (getuser): Remove casts no longer required in C89.
85183         * lib/human.c: Include stdio.h, for sprintf.
85184         * lib/group-member.c: Include "xalloc.h".
85185         (xmalloc, xrealloc): Remove decls.
85186         (get_group_info): Remove casts no longer required in C89.
85187         * lib/getusershell.c (readname): Remove casts no longer required in
85188         C89.
85189         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
85190         * lib/getline.c: Whitespace fix, from coreutils.
85191
85192 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85193
85194         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
85195         Check for isascii.
85196
85197         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85198         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85199         Undo previous (whitespace-only) change.
85200
85201 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85202
85203         * lib/exclude.c: Include <ctype.h>
85204         (IN_CTYPE_DOMAIN): New macro.
85205         (is_space): New fn.
85206         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
85207         and empty lines.
85208
85209         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85210         Undo previous (whitespace-only) change.
85211
85212 2003-08-13  Paul Eggert  <eggert@twinsun.com>
85213
85214         * config/srclist-update: Change update back to the old behavior,
85215         leaving whitespace alone.  Use one 'sed' command rather than a
85216         pipeline.
85217         (fixlicense): Now a variable, not a function.
85218         (remove_trailing_blanks): Remove.
85219         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
85220         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85221         Undo previous (whitespace-only) change.
85222
85223 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85224
85225         Merge from coreutils.
85226         * modules/euidaccess: Add lib_SOURCES, include for new
85227         file euidaccess.h
85228
85229 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85230
85231         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
85232         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
85233         Normalize leading white space and remove trailing white space.
85234
85235         Merge from coreutils
85236         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
85237
85238         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
85239         0.12.1.  These files are now being upgraded automatically by
85240         ../config/srclist-update.
85241
85242 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85243
85244         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
85245         Normalize leading white space and remove trailing white space.
85246         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
85247         notice, as per ../config/srclist-update.
85248
85249         Merge from coreutils.
85250         * lib/euidaccess.h: New file.
85251         * lib/euidaccess.c: Include it.
85252         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
85253         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
85254         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
85255
85256 2003-08-12  Paul Eggert  <eggert@twinsun.com>
85257
85258         * config/srclist-update: Add copyright notice.
85259         (remove_id_lines, remove_trailing_blanks): New constants.
85260         (fixfile): Use them to normalize spacing a bit in copied files.
85261         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
85262         Normalize leading white space and remove trailing white space.
85263
85264         * config/texinfo.tex: Sync with texinfo.
85265
85266         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
85267         strtoul.c from libc, to merge coreutils whitespace changes.
85268
85269         * config/srclist.txt: Get the following m4 files from gettext:
85270         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
85271         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
85272         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
85273         wint_t.m4.
85274
85275 2003-08-12  Karl Berry  <karl@gnu.org>
85276
85277         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
85278         been made.
85279
85280 2003-08-11  Paul Eggert  <eggert@twinsun.com>
85281
85282         * modules/gnu-source, m4/gnu-source.m4:
85283         Remove; we're assuming Autoconf 2.54 or later now.
85284         Suggested by Bruno Haible.
85285         * MODULES.html.sh (func_all_modules): Remove gnu-source.
85286
85287 2003-08-11  Bruno Haible  <bruno@clisp.org>
85288
85289         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
85290
85291 2003-08-11  Bruno Haible  <bruno@clisp.org>
85292
85293         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
85294         (vasnprintf): Use it instead of wcslen.
85295
85296 2003-08-11  Bruno Haible  <bruno@clisp.org>
85297
85298         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
85299         value to ensure that _Bool promotes to int. Use #define for _Bool when
85300         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
85301
85302 2003-08-10  Karl Berry  <karl@gnu.org>
85303
85304         * lib/regex.h: update from libc (whitespace fix).
85305
85306 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85307
85308         Merge some files from coreutils.  These changes were
85309         originally made by Jim Meyering.
85310         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
85311         many older Unixes require this.
85312         * lib/alloca.c (alloca): Remove cast to argument of free;
85313         no longer needed in C89.
85314         * lib/alloca_.h, regex.h: Fix white space to match
85315         what GNU indent does.
85316
85317 2003-08-09  Paul Eggert  <eggert@twinsun.com>
85318
85319         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
85320         apparently Emacs's Unicode mode got confused before my 2003-08-05
85321         checkin.
85322
85323 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85324
85325         * m4/extensions.m4: New file.
85326         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
85327         Require gl_USE_SYSTEM_EXTENSIONS.
85328         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
85329         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
85330
85331 2003-08-08  Paul Eggert  <eggert@twinsun.com>
85332
85333         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
85334         * modules/extensions, modules/gnu-source: New files.
85335         * modules/timespec, modules/unlocked-io: Depend on extensions.
85336
85337 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85338
85339         * modules/restrict: New file.
85340         * MODULES.html.sh (func_all_modules): Add restrict.
85341         * modules/regex: Depend on restrict.
85342
85343 2003-08-07  Paul Eggert  <eggert@twinsun.com>
85344
85345         * m4/restrict.m4: New file.
85346         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
85347
85348 2003-08-07  Bruno Haible  <bruno@clisp.org>
85349
85350         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
85351         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
85352
85353 2003-08-07  Bruno Haible  <bruno@clisp.org>
85354
85355         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
85356         makes the module 'getndelim2' compatible with the module 'getline'.
85357
85358 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85359
85360         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
85361         byte with "\201" to avoid glitches when editing that source file
85362         with multi-gnome-terminal.
85363
85364 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85365
85366         * lib/bumpalloc.h: Remove.
85367
85368 2003-08-05  Paul Eggert  <eggert@twinsun.com>
85369
85370         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
85371         * modules/bumpalloc: Remove.
85372
85373 2003-08-04  Paul Eggert  <eggert@twinsun.com>
85374
85375         * lib/getloadavg.c: Change copyright notice and spacing to conform to
85376         GNU coding style.
85377
85378         Merge from coreutils.
85379         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
85380         1. From glibc.
85381         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
85382         from Karl Berry, implemented by Jim Meyering.
85383         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
85384         from Dmitry V. Levin.
85385         Remove anachronistic cast of xrealloc.
85386         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
85387         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
85388         type. Otherwise, it wouldn't compile with at least /bin/cc on
85389         ymp-cray-unicos9.0.2.X.
85390         Combine two mostly-identical uses of alloca into one.
85391         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
85392
85393 2003-08-04  Dave Love  <d.love@dl.ac.uk>
85394
85395         [From Emacs.]
85396
85397         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
85398         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
85399         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
85400         obsolete NLIST_NAME_UNION.
85401         [__GNU__]: Undef BSD and FSCALE.
85402         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
85403
85404 2003-08-03  Paul Eggert  <eggert@twinsun.com>
85405
85406         * lib/stdbool_.h (_Bool): Make it signed char, instead of
85407         an enum type, so that it's guaranteed to promote to int.  See:
85408         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
85409
85410 2003-08-03  Karl Berry  <karl@gnu.org>
85411
85412         * config/depcomp: update from automake.
85413
85414 2003-07-31  Paul Eggert  <eggert@twinsun.com>
85415
85416         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
85417         (strerror): Don't assume that a printable int fits in 14 bytes.
85418
85419 2003-07-31  Bruno Haible  <bruno@clisp.org>
85420
85421         * modules/getpass-gnu: New file.
85422         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
85423
85424 2003-07-31  Bruno Haible  <bruno@clisp.org>
85425
85426         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
85427
85428 2003-07-24  Karl Berry  <karl@gnu.org>
85429
85430         * config/missing: update from automake.
85431
85432 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
85433             Bruno Haible  <bruno@clisp.org>
85434
85435         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
85436         * lib/getline.c (getline, getdelim): Likewise.
85437         Remove _GNU_SOURCE define; now it's defined in config.h through
85438         m4/getline.m4.
85439
85440 2003-07-23  Karl Berry  <karl@gnu.org>
85441
85442         * config/config.sub: update from prep.
85443
85444 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85445
85446         * modules/xalloc (Depends-on): Add exitfail.
85447         * modules/xmemcoll: Likewise.
85448
85449 2003-07-22  Paul Eggert  <eggert@twinsun.com>
85450
85451         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
85452         over-parenthesization in macros.
85453
85454         Sync with coreutils.
85455
85456         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
85457         required by C99.
85458
85459         Use `exit_failure' for xalloc and xmemcoll instead of their own
85460         private exit-failure variables.
85461         * lib/xalloc.h (xalloc_exit_failure): Remove.
85462         * lib/xmalloc.c: Likewise.  Include exitfail.h.
85463         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
85464         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
85465         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
85466         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
85467
85468 2003-07-20  Jim Meyering  <jim@meyering.net>
85469
85470         * modules/closeout (Depends-on): Add exitfail.
85471         Suggestion from Bruno Haible.
85472
85473 2003-07-19  Karl Berry  <karl@gnu.org>
85474
85475         * config/config.sub: update from prep.
85476
85477 2003-07-18  Paul Eggert  <eggert@twinsun.com>
85478
85479         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
85480         Remove.
85481         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
85482         to test that it can stand by itself.  Include "exitfail.h".
85483         Clients should set exit_failure instead.
85484         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
85485
85486 2003-07-18  Bruno Haible  <bruno@clisp.org>
85487
85488         * modules/getndelim2: New file.
85489         * modules/getline: Share files with module getndelim2.
85490         * modules/getnline: Depend on getndelim2 instead of sharing files with
85491         it. Add getnline.c to lib_SOURCES.
85492         * MODULES.html.sh (func_all_modules): Add getndelim2.
85493
85494 2003-07-18  Bruno Haible  <bruno@clisp.org>
85495
85496         * m4/getndelim2.m4: New file.
85497         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
85498         invoke gl_PREREQ_GETNDELIM2.
85499         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
85500         gl_PREREQ_GETNDELIM2.
85501         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
85502         gl_GETNDELIM2.
85503
85504 2003-07-18  Bruno Haible  <bruno@clisp.org>
85505
85506         * lib/getndelim2.h: New file.
85507         * lib/getndelim2.c: Make into a module of its own. Include config.h,
85508         getndelim2.h.
85509         (getndelim2): Make non-static. Change return type to ssize_t.
85510         * lib/getline.h: Change argument names.
85511         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
85512         * lib/getnline.c: Include getndelim2.h.
85513
85514 2003-07-18  Andreas Schwab  <schwab@suse.de>
85515
85516         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
85517
85518 2003-07-17  Karl Berry  <karl@gnu.org>
85519
85520         * config/config.sub: update from prep.
85521
85522 2003-07-17  Bruno Haible  <bruno@clisp.org>
85523
85524         * modules/getnline: New file.
85525         * modules/getline: Add lib/getndelim2.c to source file list.
85526         * MODULES.html.sh (func_all_modules): Add getnline.
85527
85528 2003-07-17  Bruno Haible  <bruno@clisp.org>
85529
85530         * m4/getnline.m4: New file.
85531
85532 2003-07-17  Bruno Haible  <bruno@clisp.org>
85533
85534         * m4/Makefile.am.in: Remove file.
85535         * m4/Makefile.am: Remove file.
85536         * m4/Makefile.in: Remove file.
85537
85538 2003-07-17  Bruno Haible  <bruno@clisp.org>
85539
85540         * lib/getnline.h: New file.
85541         * lib/getnline.c: New file.
85542         * lib/getndelim2.c: New file, extracted from getline.c.
85543         (getndelim2): Renamed from getdelim2, with added nmax argument.
85544         * lib/getline.c: Include getndelim2.c.
85545         (getdelim2): Moved out to getndelim2.c.
85546         (getline, getdelim): Update.
85547
85548 2003-07-17  Bruno Haible  <bruno@clisp.org>
85549
85550         * lib/Makefile.am: Remove file.
85551         * lib/Makefile.in: Remove file.
85552
85553 2003-07-17  Bruno Haible  <bruno@clisp.org>
85554
85555         * configure.in: Remove file.
85556         * Makefile.in: Remove file.
85557
85558 2003-07-17  Bruno Haible  <bruno@clisp.org>
85559
85560         * MODULES.html.sh: Put the </BODY> right before </HTML>.
85561
85562 2003-07-16  Karl Berry  <karl@gnu.org>
85563
85564         * config/srclist-update: was running fixlicense twice, which caused
85565                 texinfo.tex to be nullified for some reason.  Simplify,
85566                 $gplsrc is no longer needed as far as I can see?
85567
85568 2003-07-16  Jim Meyering  <jim@meyering.net>
85569
85570         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
85571
85572 2003-07-15  Paul Eggert  <eggert@twinsun.com>
85573
85574         * config/srclist.txt: Get the following files from gettext-runtime/intl
85575         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
85576         ref-del.sin.  From Bruno Haible.
85577         * config/srclist-update (fixfile): Change grep pattern again, since the
85578         previous fix didn't work (there was another trailing $).  Use
85579         '[$]' to escape the $s.
85580
85581 2003-07-15  Karl Berry  <karl@gnu.org>
85582
85583         * lib/vasnprintf.c: update from gettext.
85584
85585 2003-07-15  Karl Berry  <karl@gnu.org>
85586
85587         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
85588         gets expanded when surrounded by '$'.
85589
85590 2003-07-15  Jim Meyering  <jim@meyering.net>
85591
85592         * modules/save-cwd: Don't depend on error.  From Derek Price.
85593
85594 2003-07-15  Jim Meyering  <jim@meyering.net>
85595
85596         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
85597
85598 2003-07-14  Simon Josefsson  <jas@extundo.com>
85599
85600         * modules/mempcpy: New file.
85601         * MODULES.html.sh (func_all_modules): Add mempcpy.
85602
85603 2003-07-14  Simon Josefsson  <jas@extundo.com>
85604
85605         * m4/mempcpy.m4: New file.
85606
85607 2003-07-14  Simon Josefsson  <jas@extundo.com>
85608
85609         * lib/mempcpy.h: New file.
85610         * lib/mempcpy.c: New file.
85611
85612 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85613
85614         * modules/getdate, modules/posixtm: Depend on mktime.
85615
85616 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85617
85618         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
85619         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
85620         unicodeio.c, unicodeio.h, unlocked-io.h:
85621         Switch from LGPL to GPL.
85622
85623 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85624
85625         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
85626         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
85627         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
85628         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
85629         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
85630         updated automatically by ../config/srclist-update.  This changes
85631         their license from LPGL to GPL.
85632
85633 2003-07-14  Paul Eggert  <eggert@twinsun.com>
85634
85635         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
85636         assumed to refer to the root of the most recent stable gettext version.
85637         * config/srclistvars.sh: Add defaults for eggert.
85638         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
85639         Match "This program" as well as "The program".  This is needed
85640         for gettext.
85641
85642 2003-07-14  Jim Meyering  <jim@meyering.net>
85643
85644         Don't emit diagnostics.  Let callers do that.
85645         * lib/save-cwd.c: Don't include "error.h".
85646         (save_cwd): Don't call error.  Ensure that errno is valid
85647         when returning nonzero.
85648
85649         * lib/save-cwd.h (restore_cwd): Update prototype.
85650         * lib/save-cwd.c (restore_cwd): Remove two parameters.
85651         Simplify.  Don't call error upon failure.  Let callers do that.
85652         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
85653         when auditing is enabled.  But don't bother updating the #if.
85654
85655 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
85656
85657         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
85658         it breaks C++ compilation.
85659         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
85660
85661 2003-07-10  Simon Josefsson  <jas@extundo.com>
85662
85663         * modules/strchrnul (Makefile.am): Add strchrnul.h.
85664
85665 2003-07-10  Jim Meyering  <jim@meyering.net>
85666
85667         * m4/clock_time.m4: Remove trailing blank.
85668         * m4/intmax_t.m4: Likewise.
85669
85670 2003-07-10  Jim Meyering  <jim@meyering.net>
85671
85672         * lib/vasnprintf.c: Remove trailing blanks.
85673         Make cpp indentation consistent.
85674
85675 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85676
85677         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
85678         posixver.c, strftime.c, strnlen.c, strverscmp.c:
85679         Switch from LGPL to GPL.
85680
85681 2003-07-09  Paul Eggert  <eggert@twinsun.com>
85682
85683         * config/srclist.txt: Sort sublists.  Add
85684         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
85685         that differ from gnulib for one reason or another; we'd like this list
85686         to be smaller but for now let's document what we have.
85687
85688 2003-07-08  Paul Eggert  <eggert@twinsun.com>
85689
85690         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
85691         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
85692         and sweeter "eval x=$x".
85693         * config/srclist.txt: Get lib/argp* from glibc.
85694
85695 2003-07-07  Paul Eggert  <eggert@twinsun.com>
85696
85697         * lib/mktime.c: Fix some boundary cases and remove need for floating
85698         point.
85699
85700         Issue a compile-time diagnostic if time_t is floating point, or if
85701         two's complement arithmetic is not in effect, or if arithmetic
85702         right shift does not propagate the sign.  These assumptions were
85703         all in the original code but they weren't checked.
85704
85705         (TIME_T_MIDPOINT, verify): New macros.
85706         (__isleap): Remove; it has integer overflow problems.
85707         (leapyear): New function, without those problems.
85708         (ydhms_tm_diff): Remove; splitting into two parts.
85709         (ydhms_diff): New function, containing the arithmetic part of
85710         the old ydhms_tm_diff function.  Issue a compile-time
85711         diagnostic if we are not using C99 integer division.
85712         Avoid casts when possible.
85713         (guess_time_tm): New function, containing the checking part of
85714         the old ydhms_tm_diff function.  Return the new value, rather than
85715         the difference between it and the old.  Accept a new argument T
85716         so that *T specifies the old value.  Check for overflow in the result.
85717
85718         (__mktime_internal): Use a time_t offset, not a long int offset.
85719         This undoes the 2003-06-04 change, which is no longer needed now
85720         that we have better overflow checking.
85721         (localtime_offset): Likewise.
85722
85723         (__mktime_internal): Avoid harmful overflow on hosts where time_t
85724         and long are 64-bit but int is only 32-bit.
85725         (ydhms_diff): Use long int to store year1 and yday1.
85726         Issue a compile-time diagnostic if long int is not wide enough.
85727
85728         (__mktime_internal): Use long int to store adjusted year and yday.
85729         Use plain C rather than preprocessor commands, if that doesn't
85730         affect efficiency.
85731         Check for overflow (and try to repair) after each probe
85732         rather than checking only at the very end.  This avoids some bugs
85733         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
85734         does not equal GMT offset at maximum time).
85735         Use integer to check for overflow rather than floating point; this
85736         is more portable to non-IEEE hosts, and is a tad faster.
85737         When we detect that we are oscillating between two values,
85738         don't check whether tm_isdst has the requested value, since
85739         we already know the answer.  When tm_isdst has the wrong value,
85740         use a different heuristic to find the right one, based on the
85741         extreme values actually observed in practice in tz2003a,
85742         rather than the (overly optimistic) "previous 3 calendar quarters".
85743
85744         (not_equal_tm, print_tm, check_result): Use "const T" rather than
85745         "T const" to accommodate glibc style.
85746         (check_result): Use less-confusing report format.  "long" -> "long int.
85747         (main): Likewise.
85748         Don't loop if the iteration overflows time_t.
85749         Allow a negative step in the iteration.
85750
85751 2003-07-06  Karl Berry  <karl@gnu.org>
85752
85753         * config/depcomp: update from automake.
85754         * config/config.sub: update from prep.
85755
85756 2003-07-03  Karl Berry  <karl@gnu.org>
85757
85758         * config/config.guess: update from prep.
85759
85760 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85761
85762         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
85763         xreadlink.c now includes it unconditionally.
85764
85765 2003-07-01  Paul Eggert  <eggert@twinsun.com>
85766
85767         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
85768         having it depend on HAVE_SYS_TYPES_H.
85769
85770 2003-07-01  Bruno Haible  <bruno@clisp.org>
85771
85772         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
85773         <sys/types.h> should be sufficient.
85774         Reported by Paul Eggert.
85775
85776 2003-06-26  Karl Berry  <karl@gnu.org>
85777
85778         * config/depcomp: update from automake.
85779
85780 2003-06-26  Bruno Haible  <bruno@clisp.org>
85781
85782         * modules/human: Depend on module stdbool.
85783
85784 2003-06-25  Bruno Haible  <bruno@clisp.org>
85785
85786         * modules/readlink: New file.
85787         * modules/xreadlink: Depend on it.
85788         * MODULES.html.sh (func_all_modules): Add readlink.
85789
85790 2003-06-25  Bruno Haible  <bruno@clisp.org>
85791
85792         * m4/readlink.m4: New file.
85793
85794 2003-06-25  Bruno Haible  <bruno@clisp.org>
85795
85796         * lib/readlink.c: New file.
85797
85798 2003-06-22  Karl Berry  <karl@gnu.org>
85799
85800         * config/srclist.txt: update mkinstalldirs from automake.
85801         * config/mkinstalldirs: update.
85802
85803 2003-06-22  Bruno Haible  <bruno@clisp.org>
85804
85805         Portability to mingw32.
85806         * m4/ssize_t.m4: New file, from GNU gettext.
85807         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
85808         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
85809
85810 2003-06-22  Bruno Haible  <bruno@clisp.org>
85811
85812         * modules/safe-read: Add m4/ssize_t.m4.
85813         * modules/xreadlink: Add m4/ssize_t.m4.
85814
85815 2003-06-20  Bruno Haible  <bruno@clisp.org>
85816
85817         Assume C89, so PARAMS isn't needed.
85818         * lib/unicodeio.h (PARAMS): Remove.
85819         * lib/unicodeio.c: Don't use PARAMS.
85820
85821 2003-06-18  Karl Berry  <karl@gnu.org>
85822
85823         * config/config.{guess,sub}: update from prep.
85824
85825 2003-06-18  Jim Meyering  <jim@meyering.net>
85826
85827         Merge changes from coreutils.
85828         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
85829         Remove explicit declarations of xmalloc and realloc.
85830         Include xalloc.h.
85831         (read_utmp): Remove anachronistic cast of xmalloc.
85832
85833 2003-06-17  Paul Eggert  <eggert@twinsun.com>
85834
85835         Assume C89, so PARAMS isn't needed.
85836         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
85837         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
85838         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
85839         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
85840         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
85841         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
85842         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
85843         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
85844         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
85845         lib/xstrtod.h, lib/xstrtol.h: Likewise.
85846         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
85847         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
85848         no longer needed. Anyway, config.h should always be included before any
85849         other file.
85850
85851 2003-06-11  Simon Josefsson  <jas@extundo.com>
85852
85853         * modules/sysexits: New file.
85854         * MODULES.html.sh (func_all_modules): Add sysexits.
85855
85856 2003-06-11  Simon Josefsson  <jas@extundo.com>
85857
85858         * lib/sysexit_.h: New file.
85859
85860 2003-06-11  Derek Price  <derek@ximbiot.com>
85861
85862         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
85863         necessary.
85864
85865 2003-06-11  Bruno Haible  <bruno@clisp.org>
85866
85867         * m4/sysexits.m4: New file.
85868
85869 2003-06-10  Simon Josefsson  <jas@extundo.com>
85870
85871         * lib/argp.h: New file, from glibc.
85872         * lib/argp-ba.c: New file, from glibc.
85873         * lib/argp-eexst.c: New file, from glibc.
85874         * lib/argp-fmtstream.c: New file, from glibc.
85875         * lib/argp-fmtstream.h: New file, from glibc.
85876         * lib/argp-fs-xinl.c: New file, from glibc.
85877         * lib/argp-help.c: New file, from glibc.
85878         * lib/argp-namefrob.h: New file, from glibc.
85879         * lib/argp-parse.c: New file, from glibc.
85880         * lib/argp-pv.c: New file, from glibc.
85881         * lib/argp-pvh.c: New file, from glibc.
85882         * lib/argp-xinl.c: New file, from glibc.
85883
85884 2003-06-10  Simon Josefsson  <jas@extundo.com>
85885
85886         * modules/strchrnul: New file.
85887
85888 2003-06-10  Simon Josefsson  <jas@extundo.com>
85889
85890         * modules/argp: New file.
85891
85892 2003-06-10  Simon Josefsson  <jas@extundo.com>
85893
85894         * m4/strchrnul.m4: New file.
85895
85896 2003-06-10  Simon Josefsson  <jas@extundo.com>
85897
85898         * lib/strchrnul.h: New file.
85899         * lib/strchrnul.c: New file.
85900
85901 2003-06-10  Bruno Haible  <bruno@clisp.org>
85902
85903         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
85904
85905 2003-06-07  Karl Berry  <karl@gnu.org>
85906
85907         * config/config.{guess,sub}: update from prep.
85908
85909 2003-06-07  Jim Meyering  <jim@meyering.net>
85910
85911         * modules/strtod: Use $(...) notation, not @...@ for
85912         AC_REPLACE'd variables.
85913         * modules/localcharset: Likewise.
85914
85915 2003-06-07  Jim Meyering  <jim@meyering.net>
85916
85917         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
85918         in place of my name in the copyright comment.
85919         Remove definition and uses of __P.
85920
85921         From coreutils.
85922         * lib/stat.c: Don't declare xmalloc explicitly.
85923         Instead, include "xalloc.h".
85924         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
85925         xrealloc, and xcalloc return values.
85926         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
85927         Improve comment.
85928         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
85929
85930 2003-06-07  Bruno Haible  <bruno@clisp.org>
85931
85932         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
85933         avoid AC_CONFIG_LINKS.
85934         * modules/fnmatch (Makefile.am): Use explicit creation rule for
85935         fnmatch.h, to avoid AC_CONFIG_LINKS.
85936         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
85937
85938 2003-06-07  Bruno Haible  <bruno@clisp.org>
85939
85940         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
85941         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
85942         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
85943         directory.
85944         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
85945         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
85946         directory.
85947
85948 2003-06-06  Jim Meyering  <jim@meyering.net>
85949
85950         Merge from coreutils.
85951         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
85952         Consolidate declarations and initializations of *_base* locals.
85953
85954         Merge from coreutils.
85955         This avoids a core dump on systems without GNU putenv,
85956         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
85957         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
85958         (unsetenv): New static function, from GNU libc.
85959         (rpl_putenv): Use it.
85960
85961         * lib/modechange.c: Remove trailing blanks.
85962
85963         Merge from coreutils.
85964         * lib/fsusage.c: Remove declaration of statfs.
85965         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
85966
85967         * lib/posixtm.c: Include <stdbool.h> unconditionally.
85968
85969 2003-06-06  Jim Meyering  <jim@meyering.net>
85970
85971         * lib/stdbool_.h: Renamed from stdbool.h.in.
85972
85973 2003-06-06  Jim Meyering  <jim@meyering.net>
85974             Bruno Haible  <bruno@clisp.org>
85975
85976         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
85977         Adjust Makefile.am snippet not to redirect directly to target.
85978         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
85979
85980 2003-06-05  Paul Eggert  <eggert@twinsun.com>
85981
85982         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
85983         mismatch, look in future quarters as well as past.  This fixes a
85984         bug when processing fall-backwards gaps immediately after a long
85985         period of daylight-saving time.
85986
85987         * lib/mktime.c: Assume freestanding C89 or better.
85988         (HAVE_LIMITS_H): Remove.  Assume it's 1.
85989         (__P): Remove; not used.
85990         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
85991         (mktime, not_equal_tm, print_tm, check_result,
85992         main): Use prototypes.  Use const * where appropriate.
85993         (main): Fix typo in testing code that uncovered by above changes.
85994         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
85995
85996 2003-06-04  Paul Eggert  <eggert@twinsun.com>
85997
85998         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
85999         locale.h, localeconv.  This merges changes from coreutils.
86000
86001         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
86002         It can be removed after the next Autoconf is released.
86003         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
86004         needed.
86005
86006 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86007
86008         * lib/mktime.c: Fix Debian bug 177940
86009         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
86010         (localtime_offset): Now long int, not time_t, because we want it
86011         to be guaranteed to be signed.  All uses changed.
86012         (__mktime_internal): If overflow would occur when adding offset,
86013         don't add it.
86014
86015         Merge 'human' changes from coreutils.  Rewrite to support
86016         locale-specific notations like thousands separators.
86017         * lib/human.c: Simplify authorship notice.
86018         Include human.h immediately after config.h.
86019         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
86020         <limits.h>: Do not include, since human.h does.
86021         (SIZE_MAX, UINTMAX_MAX): New macros.
86022         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
86023         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
86024         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
86025         (power_letter): Renamed from suffixes.
86026         (generate_suffix_backwards): Remove.
86027         (adjust_value): Now takes int style (because of human.h changes)
86028         and long double value (for greater precision on some platforms).
86029         (group_number): New function.
86030         (human_readable): Use it.  Use integer options, not enum.
86031         Put the options before the sizes in the arg list.
86032         Support all the new options.
86033         The old human_readable function has been removed;
86034         use inttostr.h instead.
86035         (human_readable, default_block_size, humblock):
86036         Use uintmax_t, not int, for block sizes.
86037         (human_readable_inexact, block_size_types): Remove.
86038         (block_size_opts): New constant.
86039         (human_options): Renamed from human_block_size, with new signature
86040         that allows block sizes up to UINTMAX_MAX.  All callers changed.
86041         * lib/human.h: Add copyright and authorship notice.
86042         Include <limits.h> and <stdbool.h> unconditionally.
86043         (PARAMS): Remove.  All uses removed.
86044         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
86045         (enum human_inexact_style): Remove tag; now a nameless enum.
86046         (human_floor, human_ceiling, human_round_to_even): Now have
86047         values 2, 0, 1 rather than -1, 1, 0.
86048         (human_group_digits, human_suppress_point_zero, human_autoscale,
86049         human_base_1024, human_SI, human_B): New constants.
86050         (human_readable_inexact, human_block_size): Remove.
86051         (human_readable): Size args are now uintmax_t, not int.
86052         (human_options): New decl.
86053
86054         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
86055         unnecessary now that we assume C89 or better.  This change
86056         imported from coreutils.
86057
86058         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86059         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
86060         in the 2003-05-30 sync from glibc.
86061
86062         .h files should stand alone, but we shouldn't include <sys/types.h>
86063         if we can get away with just <stddef.h>.
86064
86065         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
86066         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
86067         rather than <sys/types.h>, as we merely need size_t.
86068         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
86069         to get size_t.
86070         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
86071         Include <stdio.h>, to get FILE.
86072         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
86073         memcasecmp.h has included <stddef.h> and all we need is size_t.
86074         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
86075         our interface, instead of including <sys/types.h>
86076
86077 2003-06-04  Paul Eggert  <eggert@twinsun.com>
86078
86079         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
86080         now, as glibc mktime is buggy on non-glibc systems.
86081
86082 2003-06-03  Karl Berry  <karl@gnu.org>
86083
86084         * config/config.sub: update from prep.
86085
86086 2003-06-02  Paul Eggert  <eggert@twinsun.com>
86087
86088         [from coreutils]
86089         Fix some minor time-related bugs with POSIX time arguments.
86090         Some valid time stamps were being rejected (notably -1, and
86091         time stamps before 1900 on 64-bit hosts).  And some invalid
86092         time stamps were being accepted, e.g. September 31.
86093
86094         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
86095         that we can return (time_t) -1 successfully.
86096         * lib/posixtm.c: Likewise.
86097         [HAVE_STDBOOL_H]: Include <stdbool.h>.
86098         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
86099         (t): Remove static var.
86100         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
86101         of static var.  All uses changed.
86102         (year): Do not reject years before 1900; they can occur with
86103         64-bit time_t.
86104         (posix_time_parse): Do not check for out-of-range components;
86105         that is now the caller's responsibility, since our checks were
86106         only approximations.
86107         (posixtime): Use mktime to check for out-of-range components,
86108         since it knows them exactly.
86109         If mktime returns (time_t) -1, check whether an error actually occurred
86110         by invoking localtime on -1.
86111         (main) [TEST_POSIXTIME]: Check for input data errors, and report
86112         posixtime failures better.
86113         Improve the test data (in comments only).
86114
86115 2003-06-02  Karl Berry  <karl@gnu.org>
86116
86117         * config/mkinstalldirs (version): new variable.
86118         (--version): new option.
86119         (usage): improve message.
86120
86121 2003-05-30  Karl Berry  <karl@gnu.org>
86122
86123         * lib/mktime.c: update from libc.
86124
86125 2003-05-30  Bruno Haible  <bruno@clisp.org>
86126
86127         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
86128         * config/config.rpath: Upgrade to gettext-0.12.1.
86129
86130 2003-05-30  Bruno Haible  <bruno@clisp.org>
86131
86132         * m4/gettext.m4: Upgrade to gettext-0.12.1.
86133         * m4/nls.m4: New file, from gettext-0.12.1.
86134         * m4/po.m4: New file, from gettext-0.12.1.
86135         * m4/progtest.m4: Upgrade to gettext-0.12.1.
86136
86137 2003-05-30  Bruno Haible  <bruno@clisp.org>
86138
86139         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
86140         * lib/localcharset.h: Likewise.
86141         * lib/localcharset.c: Likewise.
86142
86143 2003-05-29  Karl Berry  <karl@gnu.org>
86144
86145         * config/config.rpath: update from gettext.
86146
86147 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86148
86149         Assume the headers required for C89 freestanding compilers.
86150         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
86151         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
86152         * m4/human.m4 (gl_HUMAN): Likewise.
86153         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
86154         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
86155         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86156         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
86157         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86158         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
86159
86160 2003-05-28  Paul Eggert  <eggert@twinsun.com>
86161
86162         Assume the headers required for C89 freestanding compilers.
86163         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
86164         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
86165         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
86166         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
86167         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
86168         define, since <limits.h> is guaranteed to do that.
86169         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
86170         * lib/exclude.c: Include <stdbool.h> unconditionally.
86171         * lib/tempname.c: Include <stddef.h> unconditionally.
86172         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
86173         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
86174         <stddef.h> does that.
86175         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
86176         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
86177         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
86178         needed.
86179         * lib/xstrtol.c: Likewise.
86180         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
86181         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
86182
86183         * lib/addext.c (addext): Use assignment rather than cast, to avoid
86184         warnings on some platforms.
86185
86186         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
86187         arbitrarily.
86188
86189 2003-05-26  Jim Meyering  <jim@meyering.net>
86190
86191         Merge in a change from coreutils:
86192         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
86193         that is guaranteed to be `no'.  Use `no_such_member' to indicate
86194         that condition, rather than `-1' which is slightly misleading.
86195         Change the name of the cache variable to have the gl_ prefix.
86196         Prompted by a patch from Richard Dawe for DJGPP.
86197
86198 2003-05-24  Karl Berry  <karl@gnu.org>
86199
86200         * config/config.guess: update from prep.
86201
86202 2003-05-22  Karl Berry  <karl@gnu.org>
86203
86204         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
86205
86206 2003-05-20  Karl Berry  <karl@gnu.org>
86207
86208         * config/config.guess: update from prep.
86209
86210 2003-05-18  Karl Berry  <karl@gnu.org>
86211
86212         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
86213         might actually be set by the user.
86214
86215         * config/depcomp, install-sh, mdate-sh: update from automake.
86216
86217 2003-05-17  Bruno Haible  <bruno@clisp.org>
86218
86219         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
86220         invalid expansion for AC_EGREP_CPP.
86221         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
86222         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
86223         Suggested by Akim Demaille <akim@epita.fr> in
86224         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
86225
86226 2003-05-12  Jim Meyering  <jim@meyering.net>
86227
86228         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
86229         the space-padded-by-default conversion specifiers, %e, %k, %l.
86230
86231 2003-05-12  Bruno Haible  <bruno@clisp.org>
86232
86233         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
86234         the string is longer than 4 KB.
86235
86236 2003-05-11  Karl Berry  <karl@gnu.org>
86237
86238         * config/config.{guess,sub}: update from prep.
86239
86240 2003-05-09  Bruno Haible  <bruno@clisp.org>
86241
86242         * modules/error: Add m4/strerror_r.m4 to file list.
86243
86244 2003-05-03  Bruno Haible  <bruno@clisp.org>
86245
86246         Upgrade to Unicode-4.0.
86247         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
86248         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
86249         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
86250         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
86251         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
86252         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
86253         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
86254         Change width of U+E0100..U+E01EF from 1 to 0.
86255
86256 2003-04-25  Jim Meyering  <jim@meyering.net>
86257
86258         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
86259         of type size_t, not int.
86260
86261 2003-04-25  Bruno Haible  <bruno@clisp.org>
86262
86263         * lib/copy-file.c: Include <stddef.h>, for size_t.
86264
86265 2003-04-21  Paul Eggert  <eggert@twinsun.com>
86266
86267         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
86268         code which expansion is under static control.  Patch imported from
86269         Akim Demaille's patch to Bison; see
86270         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
86271
86272 2003-04-14  Bruno Haible  <bruno@clisp.org>
86273
86274         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
86275
86276 2003-04-11  Jim Meyering  <jim@meyering.net>
86277
86278         Merge changes from Coreutils.
86279
86280         2003-03-22  Jim Meyering  <jim@meyering.net>
86281
86282         * lib/strftime.c (widen): Cast alloca return value to proper type.
86283
86284         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
86285
86286         From GNU libc.
86287         * lib/strftime.c (my_strftime): Handle very large width
86288         specifications for numeric values correctly.  Improve checks for
86289         overflow.
86290
86291         2003-01-19  Jim Meyering  <jim@meyering.net>
86292
86293         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
86294         definitions.
86295         (nl_get_alt_digit) [! defined my_strftime]: Define.
86296         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
86297         _nl_get_alt_digit and _nl_get_walt_digit.
86298
86299         * lib/strftime.c (my_strftime): Merge in locale-related changes from
86300         libc. These changes have no effect outside of _LIBC.
86301
86302 2003-04-10  Bruno Haible  <bruno@clisp.org>
86303
86304         * modules/findprog: New file.
86305         * MODULES.html.sh (func_all_modules): Add it.
86306
86307 2003-04-10  Bruno Haible  <bruno@clisp.org>
86308
86309         * m4/findprog.m4: New file.
86310         * m4/eaccess.m4: New file.
86311
86312 2003-04-10  Bruno Haible  <bruno@clisp.org>
86313
86314         * lib/findprog.h: New file, from GNU gettext.
86315         * lib/findprog.c: New file, from GNU gettext.
86316
86317 2003-04-05  Jim Meyering  <jim@meyering.net>
86318
86319         Merge changes from Coreutils.
86320
86321         * lib/exclude.h (PARAMS): Remove definition and uses.
86322         * lib/exclude.c: Remove uses of `PARAMS'.
86323
86324         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
86325         Add test-cases for DOS filenames. Declare program_name.
86326         (main): Set up program_name.  Patch by Rich Dawe.
86327
86328         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86329         error from mntctl.
86330         Use mntctl's return value to drive the entry-processing loop, since
86331         we can't rely on the value of the vmt_length member in the last
86332         entry.  On some systems doing so could result in exhausting
86333         virtual memory.  Based in part on a patch from Mike Jetzer.
86334
86335 2003-04-04  Bruno Haible  <bruno@clisp.org>
86336
86337         * modules/linebreak: New file.
86338         * MODULES.html.sh (func_all_modules): Add it.
86339
86340 2003-04-04  Bruno Haible  <bruno@clisp.org>
86341
86342         * m4/linebreak.m4: New file.
86343
86344 2003-04-04  Bruno Haible  <bruno@clisp.org>
86345
86346         * lib/linebreak.h: New file, from GNU gettext.
86347         * lib/linebreak.c: New file, from GNU gettext with slight
86348         modifications.
86349         * lib/lbrkprop.h: New file, from GNU gettext.
86350
86351 2003-04-03  Bruno Haible  <bruno@clisp.org>
86352
86353         * modules/utf8-ucs4: New file.
86354         * modules/utf16-ucs4: New file.
86355         * modules/ucs4-utf8: New file.
86356         * modules/ucs4-utf16: New file.
86357         * MODULES.html.sh (func_all_modules): Add them.
86358
86359 2003-04-03  Bruno Haible  <bruno@clisp.org>
86360
86361         * m4/utf-ucs4.m4: New file.
86362         * m4/ucs4-utf.m4: New file.
86363
86364 2003-04-03  Bruno Haible  <bruno@clisp.org>
86365
86366         * lib/utf8-ucs4.h: New file, from GNU gettext.
86367         * lib/utf16-ucs4.h: New file, from GNU gettext.
86368         * lib/ucs4-utf8.h: New file, from GNU gettext.
86369         * lib/ucs4-utf16.h: New file, from GNU gettext.
86370
86371 2003-04-02  Bruno Haible  <bruno@clisp.org>
86372
86373         * modules/binary-io: New file.
86374         * MODULES.html.sh (func_all_modules): Add it.
86375
86376 2003-04-02  Bruno Haible  <bruno@clisp.org>
86377
86378         * lib/binary-io.h: New file, from GNU gettext.
86379
86380 2003-04-01  Bruno Haible  <bruno@clisp.org>
86381
86382         * modules/pathname: New file.
86383         * MODULES.html.sh (func_all_modules): Add it.
86384
86385 2003-04-01  Bruno Haible  <bruno@clisp.org>
86386
86387         * lib/pathname.h: New file, from GNU gettext.
86388         * lib/concatpath.c: New file, from GNU gettext.
86389
86390 2003-03-30  Bruno Haible  <bruno@clisp.org>
86391
86392         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
86393
86394 2003-03-30  Bruno Haible  <bruno@clisp.org>
86395
86396         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
86397         function chown() doesn't exist.
86398
86399 2003-03-28  Bruno Haible  <bruno@clisp.org>
86400
86401         * modules/copy-file: New file.
86402         * MODULES.html.sh (func_all_modules): Add it.
86403
86404 2003-03-28  Bruno Haible  <bruno@clisp.org>
86405
86406         * m4/copy-file.m4: New file.
86407
86408 2003-03-28  Bruno Haible  <bruno@clisp.org>
86409
86410         * lib/copy-file.h: New file, from GNU gettext.
86411         * lib/copy-file.c: New file, from GNU gettext.
86412
86413 2003-03-18  Jim Meyering  <jim@meyering.net>
86414
86415         * lib/quote.c (quote_n): Fix typo in comment.
86416
86417 2003-03-18  Bruno Haible  <bruno@clisp.org>
86418
86419         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
86420         checking.
86421         * m4/onceonly_2_57.m4: Likewise.
86422
86423 2003-03-17  Bruno Haible  <bruno@clisp.org>
86424
86425         * m4/onceonly.m4: Require autoconf 2.54 or newer.
86426         (m4_quote): Remove macro.
86427         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
86428
86429 2003-03-14  Jim Meyering  <jim@meyering.net>
86430
86431         Merge changes from Coreutils.
86432         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
86433         to be const, in order to avoid warnings.
86434         (obstack_room): Likewise.
86435         (obstack_empty_p): Likewise.
86436
86437 2003-03-14  Bruno Haible  <bruno@clisp.org>
86438
86439         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
86440         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
86441
86442 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86443
86444         Merge changes from Bison.
86445         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
86446         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
86447         when compiling Bison 1.875's `bitset bset = obstack_alloc
86448         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
86449         * lib/hash.c: Include <stdbool.h> unconditionally.
86450
86451 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86452
86453         * m4/onceonly.m4 (m4_quote): New macro.
86454         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
86455         Quote AC_FOREACH variable-expansions properly.
86456
86457 2003-03-13  Paul Eggert  <eggert@twinsun.com>
86458
86459         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
86460
86461 2003-03-09  Paul Eggert  <eggert@twinsun.com>
86462
86463         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
86464         Reported by Bruce Becker; see:
86465         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
86466
86467 2003-03-03  Paul Eggert  <eggert@twinsun.com>
86468             Bruno Haible  <bruno@clisp.org>
86469
86470         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
86471         Reported by John Hughes, see
86472         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
86473
86474 2003-02-20  Bruno Haible  <bruno@clisp.org>
86475
86476         * MODULES.html.sh (func_all_modules): Add poll.
86477
86478 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86479
86480         * modules/poll: New file.
86481
86482 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86483
86484         * lib/poll_.h: New file.
86485         * lib/poll.c: New file.
86486
86487 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
86488
86489         * m4/poll.m4: New file.
86490
86491 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86492
86493         * modules/mathl: New file.
86494
86495 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86496
86497         * lib/mathl.h: New file.
86498         * lib/acosl.c: New file.
86499         * lib/asinl.c: New file.
86500         * lib/atanl.c: New file.
86501         * lib/ceill.c: New file.
86502         * lib/cosl.c: New file.
86503         * lib/expl.c: New file.
86504         * lib/floorl.c: New file.
86505         * lib/frexpl.c: New file.
86506         * lib/ldexpl.c: New file.
86507         * lib/logl.c: New file.
86508         * lib/sincosl.c: New file.
86509         * lib/sinl.c: New file.
86510         * lib/sqrtl.c: New file.
86511         * lib/tanl.c: New file.
86512         * lib/trigl.c: New file.
86513         * lib/trigl.h: New file.
86514
86515 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
86516
86517         * m4/mathl.m4: New file.
86518
86519 2003-02-18  Bruno Haible  <bruno@clisp.org>
86520
86521         * MODULES.html.sh (func_all_modules): Add mathl.
86522
86523 2003-02-17  Bruno Haible  <bruno@clisp.org>
86524
86525         * modules/mkdtemp: New module.
86526         * MODULES.html.sh (func_all_modules): Add it.
86527
86528 2003-02-17  Bruno Haible  <bruno@clisp.org>
86529
86530         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
86531
86532 2003-02-17  Bruno Haible  <bruno@clisp.org>
86533
86534         * lib/mkdtemp.h: New file, from GNU gettext.
86535         * lib/mkdtemp.c: New file, from GNU gettext.
86536
86537 2003-02-02  Jim Meyering  <jim@meyering.net>
86538
86539         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
86540         e.g. glibc-2.2.93.
86541
86542 2003-01-31  Bruno Haible  <bruno@clisp.org>
86543
86544         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
86545         'rpl_rename'.
86546         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
86547         'rpl_strnlen'.
86548         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
86549         'rpl_strtod'.
86550         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
86551         'rpl_utime'.
86552
86553 2003-01-31  Bruno Haible  <bruno@clisp.org>
86554
86555         * lib/rename.c: #undef rename before defining rpl_rename.
86556         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
86557
86558 2003-01-30  Bruno Haible  <bruno@clisp.org>
86559
86560         * modules/vasnprintf, modules/vasprintf: New modules.
86561         * MODULES.html.sh (func_all_modules): Add them.
86562
86563 2003-01-30  Bruno Haible  <bruno@clisp.org>
86564
86565         * m4/signed.m4: New file, from GNU gettext.
86566         * m4/longdouble.m4: New file, from GNU gettext.
86567         * m4/wchar_t.m4: New file, from GNU gettext.
86568         * m4/wint_t.m4: New file, from GNU gettext.
86569         * m4/vasnprintf.m4: New file.
86570         * m4/vasprintf.m4: New file.
86571
86572 2003-01-30  Bruno Haible  <bruno@clisp.org>
86573
86574         * lib/printf-args.h: New file, from GNU gettext.
86575         * lib/printf-args.c: New file, from GNU gettext.
86576         * lib/printf-parse.h: New file, from GNU gettext.
86577         * lib/printf-parse.c: New file, from GNU gettext.
86578         * lib/vasnprintf.h: New file, from GNU gettext.
86579         * lib/vasnprintf.c: New file, from GNU gettext.
86580         * lib/asnprintf.c: New file, from GNU gettext.
86581         * lib/vasprintf.h: New file, from GNU gettext with modifications.
86582         * lib/vasprintf.c: New file, from GNU gettext.
86583         * lib/asprintf.c: New file, from GNU gettext.
86584
86585 2003-01-29  Bruno Haible  <bruno@clisp.org>
86586
86587         * modules/stpncpy: New module.
86588         * MODULES.html.sh (func_all_modules): Add it.
86589
86590 2003-01-29  Bruno Haible  <bruno@clisp.org>
86591
86592         * m4/stpncpy.m4: New file.
86593
86594 2003-01-29  Bruno Haible  <bruno@clisp.org>
86595
86596         * lib/stpncpy.h: New file, from GNU gettext with modifications.
86597         * lib/stpncpy.c: New file, from GNU gettext with modifications.
86598
86599 2003-01-28  Bruno Haible  <bruno@clisp.org>
86600
86601         * modules/c-ctype: New module.
86602         * MODULES.html.sh (func_all_modules): Add it.
86603
86604 2003-01-28  Bruno Haible  <bruno@clisp.org>
86605
86606         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
86607         Paul Eggert.
86608         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
86609         Paul Eggert.
86610
86611 2003-01-27  Bruno Haible  <bruno@clisp.org>
86612
86613         * modules/xsetenv: New module.
86614         * MODULES.html.sh (func_all_modules): Add it.
86615
86616 2003-01-27  Bruno Haible  <bruno@clisp.org>
86617
86618         * lib/xsetenv.h: New file, from GNU gettext.
86619         * lib/xsetenv.c: New file, from GNU gettext.
86620
86621 2003-01-23  Jim Meyering  <jim@meyering.net>
86622
86623         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
86624         from working on systems without dirfd (at least Irix and OSF1/Tru64).
86625
86626 2003-01-23  Bruno Haible  <bruno@clisp.org>
86627
86628         * modules/minmax: New module.
86629         * MODULES.html.sh (func_all_modules): Add it.
86630
86631 2003-01-23  Bruno Haible  <bruno@clisp.org>
86632
86633         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
86634         Eggert.
86635
86636 2003-01-22  Bruno Haible  <bruno@clisp.org>
86637
86638         * modules/exit: New module.
86639         * MODULES.html.sh (func_all_modules): Add it.
86640
86641 2003-01-22  Bruno Haible  <bruno@clisp.org>
86642
86643         * lib/exit.h: New file, from GNU gettext.
86644
86645 2003-01-19  Bruno Haible  <bruno@clisp.org>
86646
86647         * gnulib-tool: Recognize option --extract-maintainer.
86648         (func_get_maintainer): New function.
86649         * modules/*: Add Maintainer entry.
86650
86651 2003-01-16  Jim Meyering  <jim@meyering.net>
86652
86653         * m4/regex.m4: The `regex' struct is both input and output.
86654         Initialize it before each use.  Patch by Tim Waugh.
86655
86656 2003-01-16  Bruno Haible  <bruno@clisp.org>
86657
86658         * MODULES.html.sh: Add a table of contents. Add the module name as
86659         leftmost column. Add hyperlinks.
86660
86661 2003-01-15  Bruno Haible  <bruno@clisp.org>
86662
86663         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
86664
86665 2003-01-15  Bruno Haible  <bruno@clisp.org>
86666
86667         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
86668         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
86669         suffix.
86670
86671 2003-01-15  Bruno Haible  <bruno@clisp.org>
86672
86673         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
86674
86675 2003-01-15  Bruno Haible  <bruno@clisp.org>
86676
86677         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
86678         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
86679
86680 2003-01-14  Jim Meyering  <jim@meyering.net>
86681
86682         * lib/same.c (same_name): Tweak a comment.
86683
86684 2003-01-14  Bruno Haible  <bruno@clisp.org>
86685
86686         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
86687         when a string comparison is sufficient.
86688
86689 2003-01-14  Bruno Haible  <bruno@clisp.org>
86690
86691         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
86692         'unsigned int'.
86693
86694 2003-01-14  Bruno Haible  <bruno@clisp.org>
86695
86696         * lib/hash-pjw.c: Add comment about low quality of this function.
86697
86698 2003-01-13  Bruno Haible  <bruno@clisp.org>
86699
86700         * modules/stpcpy: Distribute lib/stpcpy.h.
86701         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
86702
86703 2003-01-13  Bruno Haible  <bruno@clisp.org>
86704
86705         * modules/*: Add a description.
86706         * modules/strpbrk: Fix Makefile.am snippet.
86707         * modules/strtoimax: Fix dependencies.
86708         * modules/strtoumax: Likewise.
86709
86710 2003-01-13  Bruno Haible  <bruno@clisp.org>
86711
86712         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
86713         * modules/alloca (Makefile.am): All object files depend on alloca.h.
86714         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
86715
86716 2003-01-13  Bruno Haible  <bruno@clisp.org>
86717
86718         * gnulib-tool (func_create_testdir): Store config/* files in the main
86719         directory.
86720         * config.rpath: Move to ...
86721         * config/config.rpath: ... here.
86722         * modules/gettext: Contains config/config.rpath, not config.rpath.
86723         * modules/iconv: Likewise.
86724
86725 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86726
86727         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86728         to avoid collisions with libcurses and libreadline.
86729
86730         * m4/getstr.m4: Remove.
86731         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
86732
86733 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86734
86735         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86736         to avoid collisions with libcurses and libreadline.
86737
86738         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
86739         * lib/getstr.h, getstr.c: Remove.
86740         * lib/getline.c: Include "getline.h", to check interface.
86741         Move body of old getstr.c here: this defines MIN_CHUNK and
86742         declares getdelim2, which is renamed from getstr.
86743         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
86744
86745         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
86746         All uses changed.
86747         * lib/linebuffer.h: Likewise.
86748         (readline): Remove backward-compatibility macro.
86749
86750 2003-01-12  Paul Eggert  <eggert@twinsun.com>
86751
86752         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
86753         to avoid collisions with libcurses and libreadline.
86754         * getstr: Remove.
86755         * MODULES.html.sh: Remove getstr.
86756         * modules/getline: Depend on unlocked-io, not getstr.
86757
86758 2003-01-12  Jim Meyering  <jim@meyering.net>
86759
86760         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
86761
86762 2003-01-10  Bruno Haible  <bruno@clisp.org>
86763
86764         * modules/alloca: Change Makefile.am requirements. Simplify Include
86765         requirements. Add lib/alloca_.h to file list.
86766
86767 2003-01-10  Bruno Haible  <bruno@clisp.org>
86768
86769         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
86770
86771 2003-01-10  Bruno Haible  <bruno@clisp.org>
86772
86773         * lib/alloca_.h: New file.
86774         * lib/getdate.y: Unconditionally include alloca.h.
86775         * lib/makepath.c: Likewise.
86776         * lib/setenv.c: Likewise.
86777         * lib/userspec.c: Likewise.
86778
86779 2003-01-09  Karl Berry  <karl@gnu.org>
86780
86781         * MODULES.html.sh: include `dirname $0` in PATH, to find
86782         gnulib-tool.
86783
86784 2003-01-09  Bruno Haible  <bruno@clisp.org>
86785
86786         * modules/stdbool: Change configure.ac, Makefile.am requirements.
86787         Simplify Include requirements. Add lib/stdbool.h.in to file list.
86788
86789 2003-01-09  Bruno Haible  <bruno@clisp.org>
86790
86791         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
86792
86793 2003-01-09  Bruno Haible  <bruno@clisp.org>
86794
86795         * lib/stdbool.h.in: New file.
86796
86797 2003-01-09  Bruno Haible  <bruno@clisp.org>
86798
86799         * gnulib-tool (func_all_modules): Ignore files ending in ~.
86800         * MODULES.html.sh: Likewise.
86801
86802 2003-01-08  Jim Meyering  <jim@meyering.net>
86803
86804         * lib/full-write.c: Undefine and define-away `const' after inclusion
86805         of errno.h, not before.  Suggestion from Bruno Haible.
86806
86807 2003-01-08  Bruno Haible  <bruno@clisp.org>
86808
86809         * modules/full-read: Depend on full-write.
86810
86811 2003-01-08  Bruno Haible  <bruno@clisp.org>
86812
86813         * lib/safe-read.c: Include specification header first, to ensure its
86814         selfcontainedness.
86815         * lib/full-write.c: Likewise.
86816
86817 2003-01-07  Jim Meyering  <jim@meyering.net>
86818
86819         * lib/full-write.c: Rework so that it may serve to define full_read,
86820         too.
86821         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
86822
86823 2003-01-07  Bruno Haible  <bruno@clisp.org>
86824
86825         * lib/strtoimax.c: Include <stdint.h> as an alternative to
86826         <inttypes.h>.
86827         * lib/xstrtol.h: Likewise.
86828         * lib/xstrtoimax.c: Likewise.
86829         * lib/xstrtoumax.c: Likewise.
86830         * lib/human.h: Likewise.
86831
86832         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
86833         on systems that have <inttypes.h> but not <stdint.h>.
86834
86835 2003-01-07  Bruno Haible  <bruno@clisp.org>
86836
86837         * MODULES.html.sh: Add copyright notice.
86838         (missed_files): Omit CVS directory entries.
86839         (func_module): Make it work with sed-3.02.
86840         * MODULES.txt: Remove file.
86841
86842 2003-01-06  Jim Meyering  <jim@meyering.net>
86843
86844         * lib/version-etc.c: Update year in translatable copyright string.
86845
86846 2003-01-03  Karl Berry  <karl@gnu.org>
86847
86848         * config/config.{guess,sub}: update from prep.
86849
86850 2003-01-02  Karl Berry  <karl@gnu.org>
86851
86852         * doc/COPYING.DOC: belatedly updated to 1.2.
86853
86854 2003-01-01  Karl Berry  <karl@gnu.org>
86855
86856         * gnulib-tool (func_verify_module): report module name $module in
86857         error message, not $1.
86858         * gnulib-tool (create-testdir): don't complain if destdir couldn't
86859         be created, only if it doesn't exist.
86860         * gnulib-tool (last_checkin_date): don't expand the $Date here.
86861
86862 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86863
86864         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
86865
86866 2002-12-31  Paul Eggert  <eggert@twinsun.com>
86867
86868         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
86869         memcmp if strcoll doesn't work.
86870
86871 2002-12-31  Bruno Haible  <bruno@clisp.org>
86872
86873         * lib/utime.c (utime_null): No need to call ftruncate if the file was
86874         nonempty.
86875
86876 2002-12-31  Bruno Haible  <bruno@clisp.org>
86877
86878         * lib/memcoll.c (STRCOLL): New macro.
86879         (memcoll): Use it.
86880
86881 2002-12-31  Bruno Haible  <bruno@clisp.org>
86882
86883         * lib/localcharset.h: New file.
86884         * lib/localcharset.c: Include it.
86885         * lib/unicodeio.c: Likewise.
86886
86887 2002-12-31  Bruno Haible  <bruno@clisp.org>
86888
86889         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
86890         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
86891
86892 2002-12-31  Bruno Haible  <bruno@clisp.org>
86893
86894         * lib/getline.h: Include <stddef.h>, for size_t.
86895
86896         * lib/unicodeio.h: Include <stddef.h>, for size_t.
86897         * lib/unicodeio.c: Don't include <stddef.h>.
86898
86899 2002-12-31  Bruno Haible  <bruno@clisp.org>
86900
86901         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
86902         HAVE_TM_ZONE.
86903
86904 2002-12-24  Karl Berry  <karl@gnu.org>
86905
86906         * config/config.guess: update from prep.
86907
86908 2002-12-24  Bruno Haible  <bruno@clisp.org>
86909
86910         General infrasructure.
86911         * m4/README: Rewritten.
86912         * m4/onceonly.m4: New file.
86913         * m4/onceonly_2_57.m4: New file.
86914
86915         Module atexit.
86916         * m4/atexit.m4: New file.
86917
86918         Module strtod.
86919         * m4/strtod.m4: New file.
86920
86921         Module strtol.
86922         * m4/strtol.m4: New file.
86923
86924         Module strtoul.
86925         * m4/strtoul.m4: New file.
86926
86927         Module memchr.
86928         * m4/memchr.m4: New file.
86929
86930         Module memcmp.
86931         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
86932         (jm_FUNC_MEMCMP): Invoke it.
86933
86934         Module memcpy.
86935         * m4/memcpy.m4: New file.
86936
86937         Module memmove.
86938         * m4/memmove.m4: New file.
86939
86940         Module memset.
86941         * m4/memset.m4: New file.
86942
86943         Module strcspn.
86944         * m4/strcspn.m4: New file.
86945
86946         Module strpbrk.
86947         * m4/strpbrk.m4: New file.
86948
86949         Module strstr.
86950         * m4/strstr.m4: New file.
86951
86952         Module strerror.
86953         * m4/strerror.m4: New file.
86954
86955         Module mktime.
86956         * m4/mktime.m4: Renamed from jm-mktime.m4.
86957         (gl_PREREQ_MKTIME): New macro.
86958         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
86959
86960         Module malloc.
86961         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
86962         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
86963         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
86964
86965         Module realloc.
86966         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
86967         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
86968         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
86969
86970         Module strftime.
86971         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
86972         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
86973         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
86974         gl_TM_GMTOFF.
86975         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
86976
86977         Module xalloc.
86978         * m4/xalloc.m4: New file.
86979
86980         Module alloca.
86981         * m4/alloca.m4: New file.
86982
86983         Module putenv.
86984         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
86985         (jm_FUNC_PUTENV): Invoke it.
86986
86987         Module setenv.
86988         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
86989         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
86990         when invoked twice.
86991         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
86992         gt_FUNC_SETENV.
86993
86994         Module memrchr.
86995         * m4/memrchr.m4: New file.
86996
86997         Module stpcpy.
86998         * m4/stpcpy.m4: New file.
86999
87000         Module strcase.
87001         * m4/strcase.m4: New file.
87002
87003         Module strdup.
87004         * m4/strdup.m4: New file.
87005
87006         Module strnlen.
87007         * m4/strnlen.m4: New file.
87008
87009         Module strndup.
87010         * m4/strndup.m4: New file.
87011
87012         Module xstrtod.
87013         * m4/xstrtod.m4: New file.
87014
87015         Module xstrtol.
87016         * m4/xstrtol.m4: New file.
87017
87018         Module getdate.
87019         * m4/getdate.m4: New file.
87020
87021         Module unlocked-io.
87022         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
87023         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
87024         * m4/jm-glibc-io.m4n: Remove file.
87025
87026         Module long-options.
87027         * m4/long-options.m4: New file.
87028
87029         Module md5.
87030         * m4/md5.m4: New file.
87031
87032         Module sha.
87033         * m4/sha.m4: New file.
87034
87035         Module getstr.
87036         * m4/getstr.m4: New file.
87037
87038         Module getline.
87039         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
87040         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
87041         <sys/types.h>, for size_t. Use the function name gnu_getline, not
87042         simply getline. Infoke gl_PREREQ_GETLINE.
87043
87044         Module obstack.
87045         * m4/obstack.m4: New file.
87046
87047         Module hash.
87048         * m4/hash.m4: New file.
87049
87050         Module readtokens.
87051         * m4/readtokens.m4: New file.
87052
87053         Module strverscmp.
87054         * m4/strverscmp.m4: New file.
87055
87056         Module stdbool.
87057         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
87058         OSF/1.
87059
87060         Module strtoll.
87061         * m4/strtoll.m4: New file.
87062
87063         Module strtoull.
87064         * m4/strtoull.m4: New file.
87065
87066         Module strtoimax.
87067         * m4/strtoimax.m4: New file.
87068
87069         Module strtoumax.
87070         * m4/strtoumax.m4: New file.
87071
87072         Module xstrtoimax.
87073         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
87074         jm_AC_PREREQ_XSTRTOIMAX.
87075         Moved the strtol prerequisites to strtol.m4.
87076         Moved the strtoll prerequisites to strtoll.m4.
87077         Moved the strtoimax prerequisites to strtoimax.m4.
87078
87079         Module xstrtoumax.
87080         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
87081         jm_AC_PREREQ_XSTRTOUMAX.
87082         Moved the strtoul prerequisites to strtoul.m4.
87083         Moved the strtoull prerequisites to strtoull.m4.
87084         Moved the strtoumax prerequisites to strtoumax.m4.
87085
87086         Module chown.
87087         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
87088         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
87089
87090         Module dup2.
87091         * m4/dup2.m4: New file.
87092
87093         Module ftruncate.
87094         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
87095         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
87096
87097         Module getgroups.
87098         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
87099         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
87100
87101         Module gettimeofday.
87102         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
87103         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
87104         gl_PREREQ_GETTIMEOFDAY.
87105
87106         Module mkdir.
87107         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
87108         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
87109
87110         Module mkstemp.
87111         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
87112         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
87113         jm_AC_TYPE_UINTMAX_T.
87114         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
87115
87116         Module stat.
87117         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
87118         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
87119
87120         Module lstat.
87121         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
87122         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
87123
87124         Module timespec.
87125         * m4/timespec.m4 (gl_TIMESPEC): New macro.
87126         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
87127         * m4/st_mtim.m4: Indentation.
87128
87129         Module nanosleep.
87130         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
87131         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
87132         gl_PREREQ_NANOSLEEP.
87133
87134         Module regex.
87135         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
87136         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
87137         (gl_REGEX): New macro.
87138
87139         Module rename.
87140         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
87141         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
87142
87143         Module rmdir.
87144         * m4/rmdir.m4: New file.
87145
87146         Module utime.
87147         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
87148         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
87149         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
87150
87151         Module dirname.
87152         * m4/dirname.m4: New file.
87153
87154         Module getopt.
87155         * m4/getopt.m4: New file.
87156
87157         Module unistd-safer.
87158         * m4/unistd-safer.m4: New file.
87159
87160         Module fnmatch.
87161         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
87162         declaration.
87163         (gl_PREREQ_FNMATCH_EXTRA): New macro.
87164         (gl_FUNC_FNMATCH_POSIX): New macro.
87165         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
87166         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
87167         simply fnmatch.
87168
87169         Module exclude.
87170         * m4/exclude.m4: New file.
87171
87172         Module human.
87173         * m4/human.m4: New file.
87174
87175         Module acl.
87176         * m4/acl.m4: Nop.
87177
87178         Module backupfile.
87179         * m4/backupfile.m4: New file.
87180         * m4/d-ino.m4: Indentation.
87181
87182         Module fsusage.
87183         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
87184         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
87185         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
87186
87187         Module dirfd.
87188         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
87189         requirements.
87190
87191         Module euidaccess.
87192         * m4/euidaccess.m4: New file.
87193
87194         Module file-type.
87195         * m4/file-type.m4: New file.
87196
87197         Module fileblocks.
87198         * m4/fileblocks.m4: New file.
87199
87200         Module filemode.
87201         * m4/filemode.m4: New file.
87202
87203         Module isdir.
87204         * m4/isdir.m4: New file.
87205
87206         Module lchown.
87207         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
87208         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
87209
87210         Module makepath.
87211         * m4/makepath.m4: New file.
87212
87213         Module modechange.
87214         * m4/modechange.m4: New file.
87215
87216         Module mountlist.
87217         * m4/mountlist.m4: New file.
87218         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
87219         Indentation.
87220
87221         Module path-concat.
87222         * m4/path-concat.m4: New file.
87223
87224         Module pathmax.
87225         * m4/pathmax.m4: New file.
87226
87227         Module same.
87228         * m4/same.m4: New file.
87229
87230         Module save-cwd.
87231         * m4/save-cwd.m4: New file.
87232
87233         Module savedir.
87234         * m4/savedir.m4: New file.
87235
87236         Module xgetcwd.
87237         * m4/xgetcwd.m4: New file.
87238         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
87239
87240         Module xreadlink.
87241         * m4/xreadlink.m4: New file.
87242
87243         Module safe-read.
87244         * m4/safe-read.m4: New file.
87245
87246         Module safe-write.
87247         * m4/safe-write.m4: New file.
87248
87249         Module closeout.
87250         * m4/closeout.m4: New file.
87251
87252         Module stdio-safer.
87253         * m4/stdio-safer.m4: New file.
87254
87255         Module getpass.
87256         * m4/getpass.m4: New file.
87257
87258         Module getugroups.
87259         * m4/getugroups.m4: New file.
87260
87261         Module group-member.
87262         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
87263         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
87264
87265         Module idcache.
87266         * m4/idcache.m4: New file.
87267
87268         Module userspec.
87269         * m4/userspec.m4: New file.
87270
87271         Module gettime.
87272         * m4/clock_time.m4: New file.
87273         * m4/gettime.m4: New file.
87274
87275         Module settime.
87276         * m4/settime.m4: New file.
87277
87278         Module posixtm.
87279         * m4/posixtm.m4: New file.
87280
87281         Module gethostname.
87282         * m4/gethostname.m4: New file.
87283
87284         Module canon-host.
87285         * m4/canon-host.m4: New file.
87286
87287         Module gettext.
87288         * m4/codeset.m4: New file, from gettext-0.11.5.
87289         * m4/gettext.m4: New file, from gettext-0.11.5.
87290         * m4/glibc21.m4: New file, from gettext-0.11.5.
87291         * m4/iconv.m4: New file, from gettext-0.11.5.
87292         * m4/intdiv0.m4: New file, from gettext-0.11.5.
87293         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
87294         * m4/inttypes.m4: New file, from gettext-0.11.5.
87295         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
87296         * m4/isc-posix.m4: New file, from gettext-0.11.5.
87297         * m4/lcmessage.m4: New file, from gettext-0.11.5.
87298         * m4/lib-ld.m4: New file, from gettext-0.11.5.
87299         * m4/lib-link.m4: New file, from gettext-0.11.5.
87300         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
87301         * m4/progtest.m4: New file, from gettext-0.11.5.
87302         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
87303         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
87304         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
87305
87306         Module localcharset.
87307         * m4/localcharset.m4: New file.
87308
87309         Module hard-locale.
87310         * m4/hard-locale.m4: New file.
87311
87312         Module mbswidth.
87313         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
87314         onceonly macros.
87315         * m4/mbrtowc.m4: Add comment.
87316
87317         Module memcasecmp.
87318         * m4/memcasecmp.m4: New file.
87319
87320         Module memcoll.
87321         * m4/memcoll.m4: New file.
87322
87323         Module unicodeio.
87324         * m4/unicodeio.m4: New file.
87325
87326         Module rpmatch.
87327         * m4/rpmatch.m4: New file.
87328
87329         Module yesno.
87330         * m4/yesno.m4: New file.
87331
87332         Module exitfail.
87333         * m4/exitfail.m4: New file.
87334
87335         Module c-stack.
87336         * m4/c-stack.m4 (gl_C_STACK): New macro.
87337         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
87338
87339         Module error.
87340         * m4/error.m4 (gl_ERROR): New macro.
87341         (jm_PREREQ_ERROR): Use onceonly macros.
87342
87343         Module fatal.
87344         * m4/fatal.m4: New file.
87345
87346         Module getloadavg.
87347         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
87348         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
87349
87350         Module getpagesize.
87351         * m4/getpagesize.m4: New file.
87352
87353         Module getusershell.
87354         * m4/getusershell.m4: New file.
87355
87356         Module physmem.
87357         * m4/physmem.m4: New file.
87358
87359         Module posixver.
87360         * m4/posixver.m4: New file.
87361
87362         Module quotearg.
87363         * m4/quotearg.m4: New file.
87364
87365         Module quote.
87366         * m4/quote.m4: New file.
87367
87368         Module readutmp.
87369         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
87370
87371         Module sig2str.
87372         * m4/sig2str.m4: New file.
87373
87374         Other.
87375         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
87376         ulonglong.m4.
87377         * m4/intmax_t.m4: New file.
87378         * m4/d-type.m4: Indentation.
87379         * m4/jm-macros.m4: Update.
87380         * m4/prereq.m4 (jm_PREREQ): Update.
87381         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
87382         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
87383         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
87384         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
87385         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
87386         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
87387         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
87388         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
87389         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
87390         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
87391         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
87392         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
87393         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
87394         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
87395         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
87396         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
87397         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
87398         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
87399         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
87400
87401 2002-12-24  Bruno Haible  <bruno@clisp.org>
87402
87403         * MODULES.txt: Update according to m4/ changes.
87404
87405         Module gettext.
87406         * config.rpath: New file, from gettext-0.11.5.
87407
87408         * modules/*: New module descriptions.
87409         * gnulib-tool: New file.
87410         * MODULES.html.sh: New file.
87411
87412 2002-12-21  Karl Berry  <karl@gnu.org>
87413
87414         * doc/fdl.texi: update to version 1.2.
87415
87416 2002-12-19  Karl Berry  <karl@gnu.org>
87417
87418         * config/config.guess: update from prep.
87419
87420 2002-12-18  Bruno Haible  <bruno@clisp.org>
87421
87422         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
87423         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
87424
87425 2002-12-17  Bruno Haible  <bruno@clisp.org>
87426
87427         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
87428         stdlib.h, string.h.
87429
87430 2002-12-17  Bruno Haible  <bruno@clisp.org>
87431
87432         * lib/canon-host.c (strdup): Remove unused declaration.
87433
87434         * lib/fsusage.c: Include full_read.h.
87435         (get_fs_usage): Use full_read instead of safe_read.
87436
87437         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
87438
87439 2002-12-12  Karl Berry  <karl@gnu.org>
87440
87441         * config/config.guess: update from prep.
87442
87443 2002-12-11  Bruno Haible  <bruno@clisp.org>
87444
87445         * m4/setenv.m4: New file, from gettext-0.11.5.
87446
87447 2002-12-11  Bruno Haible  <bruno@clisp.org>
87448
87449         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
87450         not unsetenv().
87451         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
87452         modifications:
87453
87454         2002-12-11  Bruno Haible  <bruno@clisp.org>
87455
87456                 * setenv.c (alloca): Fall back to malloc.
87457                 (freea): New macro.
87458                 (setenv): Use freea() to free memory allocated with alloca().
87459
87460         2002-11-13  Bruno Haible  <bruno@clisp.org>
87461
87462                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
87463                 function declarations.
87464                 * unsetenv.c (unsetenv): Likewise.
87465
87466         2002-03-04  Bruno Haible  <bruno@clisp.org>
87467
87468                 Portability to AIX 4.3.3.
87469                 * unsetenv.c: New file, extracted from setenv.c.
87470                 * setenv.c: Move the unsetenv() function to unsetenv.c.
87471
87472         2001-12-20  Bruno Haible  <bruno@clisp.org>
87473
87474                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
87475                 use malloc instead. For SunOS 4.
87476
87477         2001-12-11  Bruno Haible  <bruno@clisp.org>
87478
87479                 * setenv.c: Declare alloca.
87480                 (compar_fn_t): New typedef.
87481                 (KNOWN_VALUE, STORE_VALUE): Use it.
87482
87483         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
87484         setenv.h.
87485
87486 2002-12-10  Paul Eggert  <eggert@twinsun.com>
87487
87488         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
87489         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
87490         Choose values that are less likely to collide with system fnmatch
87491         options.
87492         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
87493         defined (e.g., a pure POSIX system).
87494         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
87495         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
87496
87497 2002-12-06  Paul Eggert  <eggert@twinsun.com>
87498
87499         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
87500         a pain in practice to deal with generated m4 files.  This change
87501         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
87502
87503         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
87504         and jm-glibc-io.m4, as they are no longer a special case.
87505         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
87506         kludge and the auto-generation stuff.  Check only whether the
87507         functions are declared, not whether they exist, since older hosts
87508         that don't declare the functions can't use the optimization anyway.
87509
87510 2002-12-06  Jim Meyering  <jim@meyering.net>
87511
87512         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
87513
87514         Merge in changes from libc's misc/error.c, in preparation
87515         for the merge of gnulib's changes back into libc.
87516
87517         * lib/error.c (_): Define only if not already defined.
87518         Move definition to follow all #include directives.
87519         Include unlocked-io.h only if !_LIBC.
87520         [_LIBC]: Include <libio/libioP.h>.
87521         [USE_IN_LIBIO]: Include <libio/iolibio.h>
87522         (fflush): Tweak definition to use INTUSE.
87523         (putc): Define.
87524
87525 2002-12-05  Paul Eggert  <eggert@twinsun.com>
87526
87527         * lib/alloca.c [defined emacs]: Include "lisp.h".
87528         (xalloc_die) [defined emacs]: New macro.
87529         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
87530         [! defined emacs]: Include <xalloc.h>.
87531         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
87532         (pointer): Typedef to POINTER_TYPE *.
87533         (malloc): Remove decl; we now always use xmalloc.
87534         (alloca): Use old-style definition, since Emacs needs this.
87535         Check for arithmetic overflow when computing combined size.
87536
87537 2002-12-04  Paul Eggert  <eggert@twinsun.com>
87538
87539         Do not generate unlocked-io.h automatically, since it's easier to
87540         maintain it by hand.
87541
87542         * lib/unlocked-io.h: New file, from GNU diffutils,
87543         but with proper copyright notice and attribution.
87544         * lib/gen-uio: Remove.
87545         * lib/Makefile.am: Add copyright notice.
87546         (libfetish_a_SOURCES): Add unlocked-io.h.
87547         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
87548         (DISTCLEANFILES, io_functions): Remove macros.
87549         (EXTRA_DIST): Remove gen_uio.
87550         (unlocked-io.h): Remove rule.
87551
87552 2002-12-04  Jim Meyering  <jim@meyering.net>
87553
87554         Reflect the fact that stat.c and lstat.c are no longer generated.
87555         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
87556         (DISTCLEANFILES): Likewise.
87557         (EXTRA_DIST): Likewise.
87558         (all_local): Don't depend on stat.c or lstat.c.
87559         (stat.c, lstat.c): Remove rules.
87560         (EXTRA_DIST): Remove xstat.in.
87561
87562         * lib/xstat.in: Remove file.  Contents moved into stat.c.
87563         * lib/stat.c: New file.  Contents mostly from xstat.in.
87564         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
87565         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
87566
87567         * lib/safe-read.c: Rework so that it may serve to define safe_write,
87568         too.
87569         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
87570
87571 2002-12-03  Jim Meyering  <jim@meyering.net>
87572
87573         * lib/safe-read.c, safe-write.c: Change variable names and comments,
87574         but not semantics, to minimize the differences between these two files.
87575         (safe_read): Change comment to mention SAFE_READ_ERROR.
87576
87577         * lib/safe-read.c (IS_EINTR): Define.
87578         (safe_read): Use IS_EINTR in place of in-function cpp directives.
87579
87580 2002-12-02  Jim Meyering  <jim@meyering.net>
87581
87582         * lib/safe-read.c (EINTR): Define.
87583         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
87584         (INT_MAX): Provide fallback.
87585         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
87586
87587         * lib/safe-read.h (SAFE_READ_ERROR): Define.
87588
87589 2002-12-02  Bruno Haible  <bruno@clisp.org>
87590
87591         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
87592         Define, taken from safe-read.c.
87593         (INT_MAX): Provide fallback.
87594         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
87595         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
87596
87597         * lib/safe-read.c (EINTR): Remove definition.
87598         (safe_read): Don't use EINTR if it is absent.
87599
87600 2002-12-01  Jim Meyering  <jim@meyering.net>
87601
87602         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
87603         zero.
87604         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
87605
87606 2002-11-27  Paul Eggert  <eggert@twinsun.com>
87607
87608         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
87609         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
87610         with `if (! (value < limit)) abort ();', for readability.
87611
87612 2002-11-26  Karl Berry  <karl@gnu.org>
87613
87614         * lib/strdup.c: copy from libc again, with jim's ok.
87615         * lib/.cppi-disable: re-add strdup.c
87616
87617 2002-11-25  Karl Berry  <karl@gnu.org>
87618
87619         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
87620         instead of "strtol.c".
87621
87622 2002-11-25  Karl Berry  <karl@gnu.org>
87623
87624         * config/install-sh: update from automake for variable quoting, $0 in
87625         error msgs, etc.
87626
87627         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
87628         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
87629         entry.
87630
87631 2002-11-25  Jim Meyering  <jim@meyering.net>
87632
87633         * lib/mktime.c: Sync from libc, now that it has the latest fix.
87634
87635 2002-11-24  Karl Berry  <karl@gnu.org>
87636
87637         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
87638         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
87639
87640 2002-11-24  Jim Meyering  <jim@meyering.net>
87641
87642         Update from coreutils:
87643
87644         * lib/mktime.c: Merge in changes from libc.
87645
87646         Avoid a link-time failure on some Linux systems.
87647         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
87648         (otherwise).
87649         (__mon_yday): Declare with the STATIC attribute.
87650         (__mktime_internal): Likewise.
87651         Based on a report from Greg Schafer.
87652
87653 2002-11-23  Jim Meyering  <jim@meyering.net>
87654
87655         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
87656         Use `unsigned', not `int', as type of index.
87657
87658         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
87659
87660         * lib/fsusage.c: Remove unneeded parentheses around operands of
87661         `defined'.
87662
87663 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87664
87665         * lib/quotearg.h: Allow multiple inclusion by surrounding with
87666         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
87667         so that we can be included first.
87668         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
87669         * lib/quotearg.c: Include quotearg.h immediately after config.h.
87670         No need to include stddef.h or sys/types.h any more.
87671         Surround local include files with "", not "<>".
87672         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
87673         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
87674         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
87675         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
87676         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
87677         (ISPRINT): Remove; no longer needed now that we assume C89.
87678
87679         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
87680         Preserve errno.
87681
87682         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
87683         quotearg_char): Use SIZE_MAX rather than
87684         (size_t) -1 when we are talking about "infinity".
87685
87686         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
87687
87688 2002-11-22  Paul Eggert  <eggert@twinsun.com>
87689
87690         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
87691         hint that one should use `if (! x) abort ();' rather than `assert
87692         (x);', and anyway it's one less thing to worry about configuring.
87693         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
87694         hash_rehash, hash_insert): Use abort rather than assert.
87695
87696 2002-11-22  Bruno Haible  <bruno@clisp.org>
87697
87698         * lib/safe-read.h: Assume C89. Add comments.
87699         (safe_read): Change return type to size_t.
87700         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
87701         byte counts > SSIZE_MAX correctly.
87702         * lib/safe-write.h: New file.
87703         * lib/safe-write.c: New file.
87704         * lib/full-read.h: New file.
87705         * lib/full-read.c: New file.
87706         * lib/full-write.h: Assume C89. Add comments.
87707         * lib/full-write.c: Include safe-write.h.
87708         (full_write): Rewritten to use safe_write.
87709         Suggested by Jim Meyering and Paul Eggert.
87710
87711 2002-11-21  Jim Meyering  <jim@meyering.net>
87712
87713         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
87714
87715         Merge in changes from the coreutils.
87716
87717         2002-09-25  Paul Eggert  <eggert@twinsun.com>
87718         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
87719         <stdint.h>.
87720         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
87721         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
87722         int.  Work more efficiently if X is the same width as uintmax_t.
87723         Do not compare X to -1, to avoid bogus compiler warning.
87724         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
87725         Don't assume that f_frsize and f_bsize are the same type.
87726
87727         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
87728         warning on FreeBSD.
87729
87730         * lib/makepath.c (make_path): Restore umask *before* creating the final
87731         component.
87732         (make_path): Minor reformatting.
87733
87734         * lib/xmalloc.c: Adjust to work with new autoconf macros,
87735         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
87736         HAVE_MALLOC/HAVE_REALLOC.
87737
87738         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
87739         dummy ones.  At least on GNU/Linux systems, `auto' means something
87740         else.
87741         From Michael Stone.
87742
87743 2002-11-21  Bruno Haible  <bruno@clisp.org>
87744
87745         Remove case insensitive option matching.
87746         * lib/argmatch.h (argcasematch): Remove declaration.
87747         (ARGCASEMATCH): Remove macro.
87748         (__xargmatch_internal): Remove case_sensitive argument.
87749         (XARGMATCH): Update.
87750         (XARGCASEMATCH): Remove macro.
87751         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
87752         case_sensitive argument.
87753         (argcasematch): Remove function.
87754         (__xargmatch_internal): Remove case_sensitive argument.
87755         (main): Use XARGMATCH instead of XARGCASEMATCH.
87756
87757         * lib/xmalloc.c: Change compile-time error message. Add comment about
87758         required autoconf version.
87759
87760 2002-11-20  Paul Eggert  <eggert@twinsun.com>
87761
87762         Merge argmatch cleanups from Bison.  Assume C89.
87763
87764         * lib/argmatch.c: Include config.h here, not in argmatch.h.
87765         Include stdlib.h, for EXIT_FAILURE.
87766         Always include <string.h>, since we assume C89.
87767         (EXIT_FAILURE): Remove pre-C89 bug workaround.
87768         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
87769         Include <stddef.h> instead, since it's all we need for size_t.
87770         (PARAMS): Remove.  All uses removed.
87771         (ARRAY_CARDINALITY): Do not bother to #undef.
87772         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
87773         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87774         Remove unnecessary parentheses.
87775         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
87776         Insert necessary parentheses.
87777         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
87778         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
87779
87780 2002-11-19  Bruno Haible  <bruno@clisp.org>
87781
87782         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
87783         * lib/mbswidth.h: Include <stddef.h>, for size_t.
87784
87785         * lib/mbswidth.h (PARAMS): Remove macro.
87786         (mbswidth, mbsnwidth): Use ANSI C function declarations.
87787         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
87788
87789         * lib/gcd.h (PARAMS): Remove macro.
87790         (gcd): Use ANSI C function declarations.
87791         * lib/gcd.c (gcd): Likewise.
87792
87793 2002-11-15  Bruno Haible  <bruno@clisp.org>
87794
87795         * lib/strcspn.c: Include <stddef.h>.
87796         (strcspn): Use ANSI C function declaration. Change return type to
87797         size_t. Use NULL.
87798         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
87799         (strpbrk): Use NULL.
87800         * lib/strpbrk.h (PARAMS): Remove macro.
87801         (strpbrk): Use ANSI C function declaration.
87802         * lib/strstr.c: Don't include <sys/types.h>.
87803         * lib/strstr.h (PARAMS): Remove macro.
87804         (strstr): Use ANSI C function declarations.
87805
87806 2002-11-14  Karl Berry  <karl@gnu.org>
87807
87808         * config/mkinstalldirs: `do' on separate line, instead of
87809         `for var; do'.
87810
87811 2002-11-06  Bruno Haible  <bruno@clisp.org>
87812
87813         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
87814         * lib/gcd.c (gcd): Likewise.
87815
87816 2002-11-05  Bruno Haible  <bruno@clisp.org>
87817
87818         * lib/gcd.h: New file, from gettext-0.11.5.
87819         * lib/gcd.c: New file, from gettext-0.11.5.
87820
87821 2002-11-05  Bruno Haible  <bruno@clisp.org>
87822
87823         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87824         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87825         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87826         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
87827
87828         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
87829         <libintl.h>.
87830         * lib/makepath.c: Include gettext.h instead of <locale.h> and
87831         <libintl.h>.
87832
87833         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
87834         * lib/human.c: Include gettext.h instead of <libintl.h>.
87835         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
87836         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
87837         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
87838         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
87839         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
87840         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
87841         (textdomain): Remove definition.
87842         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
87843
87844         * lib/long-options.c: Remove include of <libintl.h> and definition of
87845         _.
87846         * lib/same.c: Remove include of <libintl.h> and definition of _.
87847
87848 2002-11-04  Owen Taylor  <otaylor@redhat.com>
87849
87850         * lib/config.charset: A few additions for Solaris.
87851
87852 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87853
87854         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
87855         * lib/localcharset.c (locale_charset): Declare as extern "C".
87856
87857 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
87858
87859         * lib/config.charset: msdos in uk_UA uses CP1125.
87860
87861 2002-11-04  Bruno Haible  <bruno@clisp.org>
87862
87863         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
87864         * lib/strcase.h: New file, from GNU gettext-0.11.5.
87865         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
87866         * lib/strstr.h: New file, from GNU gettext-0.11.5.
87867         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
87868
87869 2002-11-04  Bruno Haible  <bruno@clisp.org>
87870
87871         * lib/localcharset.c (locale_charset): Don't return an empty string.
87872
87873 2002-11-04  Bruno Haible  <bruno@clisp.org>
87874
87875         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
87876         aliases.
87877
87878 2002-11-04  Bruno Haible  <bruno@clisp.org>
87879
87880         * lib/config.charset: Update for newest glibc. Add canonical names
87881         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
87882
87883 2002-11-04  Bruno Haible  <bruno@clisp.org>
87884
87885         * lib/config.charset: Add support for NetBSD.
87886
87887 2002-11-04  Bruno Haible  <bruno@clisp.org>
87888
87889         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
87890
87891 2002-11-01  Bruno Haible  <bruno@clisp.org>
87892
87893         * configure.in: Add AC_CONFIG_AUX_DIR call.
87894         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
87895         test/Makefile.
87896         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
87897
87898 2002-09-28  Karl Berry  <karl@gnu.org>
87899
87900         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
87901         installed automake until the next release, since changes have been
87902         made.
87903
87904 2002-09-25  Karl Berry  <karl@gnu.org>
87905
87906         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
87907         * lib/getopt*: copy from libc/posix.
87908         * lib/gettext.h: copy from gettext.
87909         * lib/.cppi-disable: add strdup.c, gettext.h.
87910
87911 2002-09-25  Karl Berry  <karl@gnu.org>
87912
87913         * config/srclist.txt: enable gettext.h check.
87914         * config/config.{guess,sub}: update from prep.
87915         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
87916                 from automake 1.6.3.
87917         See srclist*.
87918
87919 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
87920
87921         * regex.c (PATFETCH): Remove the translating fetch.
87922         (PATFETCH_RAW): Rename to PATFETCH.
87923         (set_image_of_range): New fun.
87924         (SET_RANGE_TABLE_WORK_AREA): Use it.
87925         (regex_compile): Don't translate the pattern chars so eagerly.
87926         Only do it when inserting an `exactn' bytecode or when handling
87927         a char-range.
87928         (mutually_exclusive_p): Avoid empty statement.
87929
87930 2002-07-06  Jim Meyering  <meyering@lucent.com>
87931
87932         * m4/README: Don't mention Makefile.am.in.
87933         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
87934
87935 2002-07-01  Jim Meyering  <meyering@lucent.com>
87936
87937         * lib/c-stack.c: Include sys/time.h.
87938         From Volker Borchert.
87939
87940 2002-06-26  Paul Eggert  <eggert@twinsun.com>
87941
87942         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
87943
87944 2002-06-26  Paul Eggert  <eggert@twinsun.com>
87945
87946         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
87947         New macro.  Use it uniformly instead of
87948         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
87949         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
87950         reported by Vin Shelton.
87951
87952 2002-06-22  Paul Eggert  <eggert@twinsun.com>
87953
87954         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
87955         Do not assume SA_SIGINFO behavior.
87956         Bug reported by Jim Meyering on NetBSD 1.5.2.
87957
87958 2002-06-22  Jim Meyering  <meyering@lucent.com>
87959
87960         * m4/c-stack.m4: New file, from diffutils-2.8.2.
87961         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
87962
87963         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
87964         now that configure.ac uses AC_GNU_SOURCE.
87965         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
87966         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
87967
87968         Update to latest tools.  Suggestions from Paul Eggert.
87969         * m4/stdbool.m4: New file, from diffutils-2.8.2.
87970         * m4/gnu-source.m4: Update from diffutils-2.8.2.
87971         * m4/fnmatch.m4: Likewise.
87972         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
87973         to AC_HEADER_STDBOOL
87974
87975 2002-06-22  Jim Meyering  <meyering@lucent.com>
87976
87977         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
87978         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
87979
87980 2002-06-22  Jim Meyering  <meyering@lucent.com>
87981
87982         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
87983
87984         * lib/exitfail.c, exitfail.h: Likewise.
87985         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
87986
87987         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
87988         of fnmatch.h.
87989         (EXTRA_DIST): Add fnmatch_loop.c.
87990         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
87991
87992         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
87993         * lib/fnmatch.c: Update from diffutils-2.8.2.
87994         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
87995         * lib/fnmatch.h: Remove file.
87996
87997 2002-06-21  Jim Meyering  <meyering@lucent.com>
87998
87999         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
88000         * m4/mbrtowc.m4: Likewise.
88001
88002         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
88003         * m4/mbswidth.m4: Reflect name change:
88004         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
88005         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
88006
88007         * m4/lib-link.m4: Update from gettext-0.11.2.
88008         * m4/gettext.m4: Likewise.
88009
88010         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
88011         From Alfred M. Szmidt.
88012
88013 2002-06-18  Paul Eggert  <eggert@twinsun.com>
88014
88015         * lib/file-type.h: Report an error if neither S_ISREG nor
88016         S_IFREG is defined, instead of using a test specific to glibc
88017         2.2.  This should be safe, since POSIX requires S_ISREG and
88018         Unix Version 7 had S_IFREG.  We don't need to check for
88019         <sys/types.h> since we don't use any symbols that it defines.
88020
88021 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
88022
88023         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
88024         $@-t, so that each temporary file name is unique and valid in the first
88025         8 characters, for operation under DOS.
88026
88027 2002-06-15  Paul Eggert  <eggert@twinsun.com>
88028
88029         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
88030
88031 2002-06-15  Jim Meyering  <meyering@lucent.com>
88032
88033         Work even with DJGPP 2.03, which lacks support for symlinks.
88034         From Richard Dawe.
88035         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
88036         is defined.
88037         * lib/lchown.c (S_ISLNK): Likewise.
88038
88039 2002-06-15  Jim Meyering  <meyering@lucent.com>
88040
88041         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
88042         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
88043         have been included before this file.
88044
88045 2002-06-14  Jim Meyering  <meyering@lucent.com>
88046
88047         * lib/file-type.h: Use the version from diffutils-2.8.2.
88048         * lib/file-type.c: Likewise.
88049
88050 2002-06-07  Jim Meyering  <meyering@lucent.com>
88051
88052         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
88053         They're needed at least for NetBSD 1.5.2.
88054         ($statxfs_includes): Include those same headers.
88055         ($statxfs_includes): Include sys/vfs.h if available.
88056         ($statxfs_includes): Likewise for sys/statvfs.h.
88057         Check for the following members in both structs statfs and statvfs:
88058         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
88059
88060 2002-06-01  Jim Meyering  <meyering@lucent.com>
88061
88062         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
88063         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
88064
88065 2002-05-28  Jim Meyering  <meyering@lucent.com>
88066
88067         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
88068         Reported by Volker Borchert.
88069
88070 2002-05-27  Jim Meyering  <meyering@lucent.com>
88071
88072         Fix a problem seen only on nonconforming systems whereby ls.c's
88073         use of localtime, and then of gettimeofday would cause trouble:
88074         the localtime call used to initialize rpl_gettimeofday's save
88075         mechanism would clobber ls's current local time information so
88076         that in any long listing the first file would always be listed
88077         with date 1970-01-01.  Analysis by Volker Borchert.
88078
88079         * lib/gettimeofday.c (localtime): Undefine.
88080         (rpl_localtime): New function.
88081
88082 2002-05-27  Jim Meyering  <meyering@lucent.com>
88083
88084         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
88085         localtime.
88086
88087         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
88088         use the replacement function; it wouldn't resolve at link time.
88089         Reported by Volker Borchert.
88090
88091 2002-05-22  Jim Meyering  <meyering@lucent.com>
88092
88093         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
88094         file-type.h.
88095         * lib/file-type.h: New file.
88096         * lib/file-type.c (file_type): New file/function.  Extracted from
88097         diffutils.
88098
88099 2002-04-30  Jim Meyering  <meyering@lucent.com>
88100
88101         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
88102
88103 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88104
88105         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
88106
88107 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88108
88109         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
88110         Do not check for alloca.h (no longer used) or stdbool.h (was never
88111         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
88112
88113 2002-04-29  Paul Eggert  <eggert@twinsun.com>
88114
88115         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
88116
88117 2002-04-29  Jim Meyering  <meyering@lucent.com>
88118
88119         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
88120         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
88121         Use AC_FUNC_STRNLEN here instead.
88122
88123         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
88124         With autoconf-2.53a, it's part of AC_PROG_CC.
88125
88126 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88127
88128         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
88129         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
88130
88131 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88132
88133         * lib/sig2str.h, lib/sig2str.c: New files.
88134         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
88135
88136 2002-04-28  Paul Eggert  <eggert@twinsun.com>
88137
88138         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
88139         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
88140         of 127, since 64 is the largest conceivable number for ancient
88141         nonstandard hosts.
88142         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
88143
88144 2002-04-28  Jim Meyering  <meyering@lucent.com>
88145
88146         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
88147
88148 2002-04-24  Jim Meyering  <meyering@lucent.com>
88149
88150         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
88151         (jm_PREREQ): Use it.
88152
88153         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
88154         mach/mach.h fcntl.h.
88155         Check for this function: setlocale.
88156
88157 2002-04-24  Jim Meyering  <meyering@lucent.com>
88158
88159         * lib/gettext.h: New file, from Gettext.
88160         * lib/Makefile.am (INCLUDES): Remove -I../intl.
88161         (libfetish_a_SOURCES): Add gettext.h.
88162
88163 2002-04-16  Jim Meyering  <meyering@lucent.com>
88164
88165         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
88166         ut_pid, ut_id, ut_exit.
88167
88168 2002-04-16  Jim Meyering  <meyering@lucent.com>
88169
88170         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
88171         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
88172         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
88173
88174 2002-04-12  Jim Meyering  <meyering@lucent.com>
88175
88176         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
88177         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
88178         existence of the getmntinfo function.  Needed for Darwin 5.3.
88179
88180         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
88181         This is necessary at least on Darwin 5.3.
88182
88183         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
88184         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
88185         strnlen.o in the library, and that makes some versions of ranlib
88186         object.
88187
88188 2002-04-12  Jim Meyering  <meyering@lucent.com>
88189
88190         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
88191
88192 2002-04-09  Jim Meyering  <meyering@lucent.com>
88193
88194         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
88195         to be more precise.  Rather than saying we're checking whether the
88196         function `works', say what we're testing.
88197         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
88198         Reported by Bruno Haible.
88199
88200 2002-03-10  Jim Meyering  <meyering@lucent.com>
88201
88202         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
88203         Suggestion from Santiago Vila.
88204
88205 2002-03-08  Jim Meyering  <meyering@lucent.com>
88206
88207         * lib/rename.c: Mention that this wrapper is needed also on
88208         mips-dec-ultrix4.4 systems.
88209
88210 2002-03-02  Jim Meyering  <meyering@lucent.com>
88211
88212         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
88213         not HAVE_CLOCK_SETTIME.
88214
88215 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88216
88217         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
88218         Check for clock_settime.
88219
88220 2002-02-27  Paul Eggert  <eggert@twinsun.com>
88221
88222         * lib/nanosleep.h: Rename to....
88223         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
88224
88225         * lib/gettime.c: New file.
88226         * lib/settime.c: New file.
88227         * lib/stime.c: Remove.
88228
88229         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
88230         timespec.h.  Remove nanosleep.h.
88231
88232 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88233
88234         * m4/acl.m4: New file.
88235         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
88236         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
88237
88238 2002-02-25  Paul Eggert  <eggert@twinsun.com>
88239
88240         * lib/acl.c, lib/acl.h: New files.
88241         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
88242
88243 2002-02-24  Jim Meyering  <meyering@lucent.com>
88244
88245         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
88246         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
88247         cause trouble.  Reported by Nelson Beebe.
88248
88249 2002-02-23  Paul Eggert  <eggert@twinsun.com>
88250
88251         * lib/path-concat.c (xpath_concat): Reorder code to pacify
88252         compilers that don't know that xalloc_die never returns.
88253
88254 2002-02-20  Jim Meyering  <meyering@lucent.com>
88255
88256         * lib/getdate.c: Regenerate using bison-1.33.
88257
88258 2002-02-17  Jim Meyering  <meyering@lucent.com>
88259
88260         * config/config.guess (main): Don't use `head -1'; it's no longer
88261         portable. Use `sed 1q' instead.
88262
88263 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
88264
88265         * m4/codeset.m4: Upgrade to gettext-0.11.
88266         * m4/gettext.m4: Upgrade to gettext-0.11.
88267         * m4/glibc21.m4: Upgrade to gettext-0.11.
88268         * m4/iconv.m4: Upgrade to gettext-0.11.
88269         * m4/isc-posix.m4: Upgrade to gettext-0.11.
88270         * m4/lcmessage.m4: Upgrade to gettext-0.11.
88271         * m4/lib-ld.m4: New file, from gettext-0.11.
88272         * m4/lib-link.m4: New file, from gettext-0.11.
88273         * m4/lib-prefix.m4: New file, from gettext-0.11.
88274         * m4/progtest.m4: Upgrade to gettext-0.11.
88275
88276 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88277
88278         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
88279         (jm_PREREQ): Use it.
88280
88281 2002-02-15  Paul Eggert  <eggert@twinsun.com>
88282
88283         * lib/posixver.c, lib/posixver.h: New files.
88284         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88285
88286 2002-02-02  Paul Eggert  <eggert@twinsun.com>
88287             Bruno Haible  <bruno@clisp.org>
88288
88289         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
88290         (fwrite_success_callback): New declaration.
88291         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
88292         print_unicode_char. Call failure callback instead of error.
88293         (fwrite_success_callback): New function.
88294         (exit_failure_callback): New function.
88295         (fallback_failure_callback): New function.
88296         (print_unicode_char): Call unicode_to_mb.
88297
88298 2002-01-26  Jim Meyering  <meyering@lucent.com>
88299
88300         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
88301         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
88302
88303 2002-01-26  Jim Meyering  <meyering@lucent.com>
88304
88305         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
88306
88307 2002-01-22  Paul Eggert  <eggert@twinsun.com>
88308
88309         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
88310
88311 2002-01-22  Jim Meyering  <meyering@lucent.com>
88312
88313         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
88314         Otherwise, some versions of automake would omit the rule that makes
88315         Makefile from Makefile.in.
88316
88317 2002-01-21  Paul Eggert  <eggert@twinsun.com>
88318
88319         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
88320         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
88321         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
88322         (memcoll): Set errno to zero if there is no error.
88323
88324         * lib/quotearg.c (quotearg_buffer_restyled):
88325         Fix bug with quoting buffers containing NUL when backslashing escapes.
88326         This bug was exposed by the other changes in this patch.
88327         (quotearg_n_options): New arg ARGSIZE.
88328         All callers changed.
88329         (quoting_options_from_style): New function.
88330         (quotearg_n_style): Use it.
88331         (quotearg_n_style_mem): New function.
88332
88333         * lib/quotearg.h (quotearg_n_style_mem): New function.
88334
88335 2002-01-19  Jim Meyering  <meyering@lucent.com>
88336
88337         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
88338         Remove useless quotes: DF_PROG="df".
88339         * m4/strnlen.m4: New file.
88340
88341 2002-01-16  Paul Eggert  <eggert@twinsun.com>
88342
88343         * lib/backupfile.c (ISDIGIT): Comment fix.
88344         * lib/getdate.y (ISDIGIT): Likewise.
88345         * lib/posixtm.c (ISDIGIT, year): Likewise.
88346         * lib/strverscmp.c (ISDIGIT): Likewise.
88347         * lib/userspec.c (ISDIGIT): Likewise.
88348
88349 2002-01-16  Jim Meyering  <meyering@lucent.com>
88350
88351         * lib/getdate.y: Add three semicolons, each just before a closing
88352         brace. Bison (as of version 1.31) no longer papers over that mistake.
88353
88354 2002-01-05  Jim Meyering  <meyering@lucent.com>
88355
88356         * lib/version-etc.c (version_etc_copyright): Update copyright year.
88357
88358 2001-12-19  Paul Eggert  <eggert@twinsun.com>
88359
88360         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
88361         not silently exit merely because the output buffer happens to
88362         have nothing pending.
88363
88364 2001-12-18  Paul Eggert  <eggert@twinsun.com>
88365
88366         See the big note in ../ChangeLog.
88367         * lib/human.c (suffixes): Prefer K to k for 1024.
88368         (generate_suffix_backwards): New function.
88369         (human_readable_inexact): Use it.
88370         * lib/xstrtol.c (__xstrtol): If there is no number but there
88371         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
88372         Accept 'K' as well as 'k'.
88373
88374 2001-12-15  Jim Meyering  <meyering@lucent.com>
88375
88376         * lib/regex.h (__restrict_arr): Update from libc.
88377
88378         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
88379         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
88380         (STREQ): Define.
88381
88382 2001-12-14  Jim Meyering  <meyering@lucent.com>
88383
88384         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
88385         Suggestion from Bruno Haible.
88386
88387 2001-12-10  Jim Meyering  <meyering@lucent.com>
88388
88389         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
88390         xrealloc, Instead, include "xalloc.h".
88391         (initbuffer): Don't cast xmalloc return value to char*.
88392         (readline): Reword comment.
88393         Don't cast xrealloc return value to char*
88394         Return NULL, not 0.
88395
88396 2001-12-09  Jim Meyering  <meyering@lucent.com>
88397
88398         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
88399         about `signed and unsigned type in conditional expression'.
88400         * lib/posixtm.c (posix_time_parse): Likewise.
88401
88402         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
88403
88404         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
88405         to avoid a pedantic warning.
88406
88407         * lib/getstr.c: Don't include assert.h.
88408         (getstr): Remove warning-evoking assertions.
88409         Return -1 if offset parameter is out of bounds.
88410         Change the type of a local from int to size_t.
88411
88412         * lib/strftime.c (my_strftime_localtime_r): Include this function
88413         definition in the `#if ! HAVE_TM_GMTOFF' block.
88414
88415         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
88416         Include xalloc.h instead.
88417
88418 2001-12-02  Jim Meyering  <meyering@lucent.com>
88419
88420         * lib/tempname.c: Don't declare getenv, thus reverting the change of
88421         2001-11-18.  It's no longer necessary, now that stdlib.h is always
88422         included.
88423
88424         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
88425         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
88426
88427 2001-11-30  Akim Demaille  <akim@epita.fr>
88428
88429         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
88430         before being defined.
88431
88432 2001-11-27  Paul Eggert  <eggert@twinsun.com>
88433
88434         * lib/quotearg.h (quotearg_n, quotearg_n_style):
88435         First arg is int, not unsigned.
88436         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
88437         (SIZE_MAX, UINT_MAX): New macros.
88438         (quotearg_n_options): Abort if N is negative.
88439         Avoid overflow check on hosts where size_t is 64 bits and int
88440         is 32 bits, as overflow is impossible there.
88441         Fix off-by-one typo that caused unnecessary reallocation.
88442
88443 2001-11-27  Jim Meyering  <meyering@lucent.com>
88444
88445         * lib/tempname.c: Merge with version from libc.
88446         * lib/regex.c: Likewise.
88447
88448         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
88449         systems for which STDC_HEADERS is 0, it was not included, resulting in
88450         a warning about an integer-to-pointer conversion problem with getenv.
88451         Reported by Volker Borchert.
88452
88453 2001-11-26  Jim Meyering  <meyering@lucent.com>
88454
88455         * lib/gtod.h: Remove file.
88456         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
88457         * lib/gettimeofday.c: Don't include gtod.h.
88458         (GTOD_init): Remove function.
88459         (rpl_gettimeofday): Do its job here instead, rather than aborting.
88460         Suggestion from Volker Borchert.
88461
88462 2001-11-23  Jim Meyering  <meyering@lucent.com>
88463
88464         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
88465         it.
88466         * lib/hash.c (struct hash_table): Define it here instead.
88467
88468 2001-11-22  Jim Meyering  <meyering@lucent.com>
88469
88470         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
88471
88472 2001-11-20  Jim Meyering  <meyering@lucent.com>
88473
88474         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
88475         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
88476
88477 2001-11-19  Jim Meyering  <meyering@lucent.com>
88478
88479         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
88480         directory.  Use "conftestXXXXXX" as the template.
88481         Suggestion from Paul Eggert.
88482
88483         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
88484         immediately, so the test doesn't mistakenly hit the max-open-files
88485         limit.
88486
88487 2001-11-18  Paul Eggert  <eggert@twinsun.com>
88488
88489         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
88490         (TEMPORARIES): New macro.
88491         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
88492         removes an artificial limitation (e.g. HP-UX 10.20, where
88493         TMP_MAX is 17576).
88494
88495 2001-11-18  Jim Meyering  <meyering@lucent.com>
88496
88497         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
88498
88499 2001-11-18  Jim Meyering  <meyering@lucent.com>
88500
88501         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
88502         on SunOS 4.
88503
88504         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
88505         files will be created before anything else.
88506
88507 2001-11-17  Paul Eggert  <eggert@twinsun.com>
88508
88509         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
88510         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
88511
88512 2001-11-17  Jim Meyering  <meyering@lucent.com>
88513
88514         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
88515         Prompted by a report from Bob Proulx.
88516
88517         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
88518         Instead, require UTILS_FUNC_MKSTEMP.
88519
88520 2001-11-17  Jim Meyering  <meyering@lucent.com>
88521
88522         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
88523         Now, that's done as part of AC_FUNC_STRTOD.
88524
88525 2001-11-17  Jim Meyering  <meyering@lucent.com>
88526
88527         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
88528         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
88529         rather than group writable.  Patch by Juan F. Codagnone.
88530
88531         * lib/readtokens.c: Remove explicit declarations of xmalloc and
88532         xrealloc, Instead, include "xalloc.h".
88533
88534         * lib/mountlist.c: Include unlocked-io.h after all system headers.
88535         Remove explicit declarations of xmalloc, xrealloc,
88536         and xstrdup.  Instead, include "xalloc.h".
88537
88538         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
88539         unlocked-io.h.
88540         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
88541         Likewise.
88542         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
88543
88544         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
88545         Reported by Padraig Brady.
88546
88547         * lib/mkstemp.c: #undef mkstemp.
88548         Include config.h.
88549         (rpl_mkstemp): Rename from mkstemp.
88550         Protoize.
88551
88552 2001-11-16  Jim Meyering  <meyering@lucent.com>
88553
88554         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
88555         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
88556         determine the amount of total physical memory, use pstat_getstatic.
88557         HPUX-11 doesn't define _SC_PHYS_PAGES.
88558         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
88559         If sysconf couldn't be used to determine the amount of available
88560         physical memory, use both pstat_getstatic and pstat_getdynamic.
88561         Based on a patch from Bob Proulx.
88562
88563 2001-11-10  Jim Meyering  <meyering@lucent.com>
88564
88565         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
88566         (jm_PREREQ): Use it.
88567
88568 2001-11-09  Jim Meyering  <meyering@lucent.com>
88569
88570         * m4/jm-macros.m4: Require autoconf-2.52f.
88571         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
88572         Use these AC_-prefixed names, not the AM_-prefixed ones.
88573
88574         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
88575
88576 2001-11-05  Jim Meyering  <meyering@lucent.com>
88577
88578         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
88579
88580 2001-11-04  Jim Meyering  <meyering@lucent.com>
88581
88582         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
88583         $DEFS.
88584
88585 2001-11-03  Jim Meyering  <meyering@lucent.com>
88586
88587         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
88588         of AC_DEFUN.
88589
88590         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
88591         know the name of the variable in the macro definition.
88592
88593 2001-11-03  Jim Meyering  <meyering@lucent.com>
88594
88595         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
88596         in argmatch_to_argument call.
88597
88598         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
88599         argument.
88600
88601         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
88602         e.g., a fault due to an attempt to free a NULL pointer.
88603
88604 2001-11-01  Jim Meyering  <meyering@lucent.com>
88605
88606         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
88607         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
88608
88609 2001-11-01  Jim Meyering  <meyering@lucent.com>
88610
88611         * lib/dirfd.c, lib/dirfd.h: New files.
88612         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
88613
88614         * lib/hash.c (hash_print) [TESTING]: Clean up.
88615
88616 2001-10-22  Paul Eggert  <eggert@twinsun.com>
88617
88618         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
88619         to avoid a warning if -Wall.
88620
88621 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
88622
88623         * README: New file
88624         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
88625         (per RMS's instructions, this is now the canonical source)
88626         * lgpl/, gpl/: New directories.
88627
88628 2001-10-21  Paul Eggert  <eggert@twinsun.com>
88629
88630         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
88631
88632 2001-10-21  Jim Meyering  <meyering@lucent.com>
88633
88634         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
88635         this code would end up calling gettext even in packages built
88636         with --disable-nls.
88637         * lib/getopt.c (_): Likewise.
88638         * lib/regex.c (_): Likewise.
88639
88640 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88641
88642         * m4/error.m4 (jm_PREREQ_ERROR):
88643         Do not invoke AC_CHECK_FUNCS with strerror_r, as
88644         AC_FUNC_STRERROR_R does that.
88645         Check for strerror declaration.
88646
88647         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
88648         are supposed to have them these days.
88649         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
88650         Merge changes from latest Autoconf CVS.
88651         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
88652         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
88653         POSIX decided to standardize on the int flavor of strerror_r.
88654
88655 2001-10-20  Paul Eggert  <eggert@twinsun.com>
88656
88657         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
88658         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
88659         Use strerror_r that is only a macro, even if it is not a function.
88660         (strerror): Check for HAVE_DECL_STRERROR before declaring.
88661         (private_strerror): Use prototypes, not old-style function definition.
88662         (print_errno_message): New function.
88663         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
88664         char*-flavored one.
88665         (error_tail, error, error_at_line): Use it.
88666
88667 2001-10-11  Jim Meyering  <meyering@lucent.com>
88668
88669         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
88670         and quote_n (1, ... to avoid clobbering a buffer.
88671
88672 2001-10-05  Jim Meyering  <meyering@lucent.com>
88673
88674         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
88675         hash-pjw.h.
88676         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
88677         * lib/hash-pjw.h: New file.
88678
88679 2001-09-30  Jim Meyering  <meyering@lucent.com>
88680
88681         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
88682         `struct fsstat' has the `f_fstypename' member.
88683         Use that to define FS_TYPE, which is now used to make
88684         the getfsstat link test tighter.
88685
88686 2001-09-30  Jim Meyering  <meyering@lucent.com>
88687
88688         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
88689         Include <sys/ucred.h>, for Apple Darwin.
88690         Include sys/mount.h and sys/fs_types.h only if available.
88691         (FS_TYPE): Define.
88692         (read_filesystem_list): Use FS_TYPE.
88693
88694 2001-09-29  Paul Eggert  <eggert@twinsun.com>
88695
88696         * lib/exclude.c (excluded_filename): 0 -> false, since it's
88697         a boolean context.
88698
88699 2001-09-29  Jim Meyering  <meyering@lucent.com>
88700
88701         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88702         [one-argument getmntent function]): Include stdio.h before mntent.h.
88703         SunOS 4.1.x needs it for the declaration of `FILE'.
88704         Patch by Volker Borchert.
88705
88706         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
88707         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
88708         sys/fs_types.h, and make the link-test for getfsstat guard #include
88709         directives with appropriate #if HAVE_*_H tests so that we can
88710         detect getfsstat on Apple Darwin1.3.7 systems.
88711         Reported by Nelson Beebe.
88712         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
88713
88714 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88715
88716         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88717         #defines strtoimax.  Also treat the other strto* functions
88718         like strtoimax.
88719
88720         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
88721         Check for strtoul and strtoumax,
88722         as those declarations are made even in the signed case.
88723         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
88724         Likewise, for strtol and strtoimax.
88725
88726 2001-09-28  Paul Eggert  <eggert@twinsun.com>
88727
88728         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
88729         #defines strtoimax.  Also treat the other strto* functions
88730         like strtoimax.
88731
88732         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
88733         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
88734         (strtoimax, strtoumax): Do not declare if already defined as a macro.
88735
88736 2001-09-26  Jim Meyering  <meyering@lucent.com>
88737
88738         Most macros in unlocked-io.h had the wrong number of arguments.
88739         * lib/gen-uio: New script.
88740         (USE_UNLOCKED_IO): Define to 1 if not already defined.
88741         * lib/unlocked-io.hin: Remove file.
88742         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
88743         rather than trying to embed it here.
88744         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
88745         Reported by Padraig Brady.
88746
88747 2001-09-25  Volker Borchert  <bt@teknon.de>
88748
88749         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
88750         `result'.
88751
88752 2001-09-24  Jim Meyering  <meyering@lucent.com>
88753
88754         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
88755
88756 2001-09-23  Jim Meyering  <meyering@lucent.com>
88757
88758         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
88759         instead of the mere test for existence of mntent.h.  The latter
88760         would get a false-positive on AIX 3.4 systems.
88761         In the outer getmntent if-block, don't die if neither of the getmntent
88762         tests succeeds.  Instead, just fall through and continue with the
88763         remaining tests.
88764
88765 2001-09-23  Jim Meyering  <meyering@lucent.com>
88766
88767         * lib/mountlist.c: Remove useless parentheses in #if directives.
88768         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
88769         the deprecated MOUNTED symbol is no longer defined in mntent.h.
88770
88771 2001-09-22  Jim Meyering  <meyering@lucent.com>
88772
88773         * m4/gettext.m4: New file.  From gettext.
88774         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
88775         * m4/progtest.m4: Likewise
88776         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
88777         * m4/glibc21.m4: Likewise.
88778
88779         * m4/libintl.m4: Remove.  No longer used.
88780
88781 2001-09-22  Jim Meyering  <meyering@lucent.com>
88782
88783         * lib/localcharset.c: Update from latest gettext.
88784         * lib/config.charset: Likewise.
88785
88786 2001-09-20  Jim Meyering  <meyering@lucent.com>
88787
88788         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
88789         strtoimax.
88790         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
88791         strtoumax.
88792
88793 2001-09-20  Jim Meyering  <meyering@lucent.com>
88794
88795         * lib/xstrtol.c (strtoimax): Guard declaration with
88796         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
88797         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
88798         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
88799         (strtoumax): Likewise, for completeness (it wasn't necessary).
88800
88801 2001-09-17  Paul Eggert  <eggert@twinsun.com>
88802
88803         * lib/strtoimax.c (HAVE_LONG_LONG):
88804         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
88805         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
88806         to work around bug in IBM C compiler.
88807
88808 2001-09-17  Jim Meyering  <meyering@lucent.com>
88809
88810         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
88811         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
88812         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
88813         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
88814         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
88815         whenever the right hand side need not be expanded by the shell.
88816
88817 2001-09-16  Paul Eggert  <eggert@twinsun.com>
88818
88819         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
88820         library.  It's not correct, as some older glibcs are buggy.
88821         fnmatch wasn't fixed until glibc 2.2.
88822
88823         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
88824         special shell magic here.
88825
88826 2001-09-16  Jim Meyering  <meyering@lucent.com>
88827
88828         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
88829         * m4/jm-macros.m4: Require it.
88830
88831 2001-09-16  Jim Meyering  <meyering@lucent.com>
88832
88833         * lib/mkdir.c: New file.
88834
88835 2001-09-15  Jim Meyering  <meyering@lucent.com>
88836
88837         * m4/jm-macros.m4: Check for help2man.
88838
88839 2001-09-11  Jim Meyering  <meyering@lucent.com>
88840
88841         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
88842         The body, by Paul Eggert, was moved here from configure.in.
88843         * m4/jm-macros.m4: Require UTILS_HOST_OS.
88844
88845 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88846
88847         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
88848         (jm_PREREQ): Use it.
88849
88850 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88851
88852         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
88853         Use ssize_t, not int, to store result of readlink.
88854         Check for ssize_t overflow as well as size_t overflow,
88855         as POSIX says the result of readlink is implementation-defined
88856         when ssize_t overflows.
88857         Remove unnecessary cast to char*.
88858         Use free+malloc instead of realloc, as the storage doesn't need
88859         to be preserved and it's clearer and can be more efficient that way.
88860         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
88861         * lib/xreadlink.h (xreadlink): Update prototype.
88862
88863 2001-09-04  Paul Eggert  <eggert@twinsun.com>
88864
88865         * lib/xgetcwd.c: Revert some of the previous change; intead,
88866         fix the HAVE_GETCWD_NULL code to behave more like the
88867         !HAVE_GETCWD_NULL code used to.
88868
88869         Include "xalloc.h".
88870         (xgetcwd): Do not return NULL when memory is exhausted; instead,
88871         invoke xalloc_die.
88872
88873 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88874
88875         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
88876         sys/param.h, as pathmax.h includes them.
88877
88878 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88879
88880         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
88881         (jm_PREREQ_XGETCWD): New macro.
88882
88883         * m4/getcwd.m4: New file.
88884
88885 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88886
88887         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
88888         like the HAVE_GETCWD_NULL code.
88889         Include pathmax.h if not HAVE_GETCWD.
88890         Do not include xalloc.h.
88891         (INITIAL_BUFFER_SIZE): New symbol.
88892         Do not use xmalloc / xrealloc, since the caller is responsible for
88893         handling errors.  Preserve errno around `free' during failure.
88894         Do not overrun buffer when using getwd.
88895
88896 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88897
88898         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
88899         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
88900         getcwd (NULL, 0).
88901
88902 2001-09-03  Paul Eggert  <eggert@twinsun.com>
88903
88904         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
88905         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
88906         spotted by Jim Meyering.
88907
88908 2001-09-03  Jim Meyering  <meyering@lucent.com>
88909
88910         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
88911         failure.
88912
88913 2001-09-02  Jim Meyering  <meyering@lucent.com>
88914
88915         * lib/error.c: Update from GNU libc.
88916
88917 2001-09-01  Jim Meyering  <meyering@lucent.com>
88918
88919         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
88920         Used by df.
88921
88922 2001-09-01  Jim Meyering  <meyering@lucent.com>
88923
88924         * lib/xreadlink.c: New file.
88925         * lib/xreadlink.h: New file.
88926         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
88927         xreadlink.h.
88928
88929         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
88930         doesn't conflict with sparc Solaris 7's definition in
88931         /usr/include/sys/int_types.h.
88932
88933         * lib/exclude.c: Use `""', not `<>' to #include non-system header
88934         files.
88935         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
88936         and strncasecmp as r-values.  Unixware didn't have declarations.
88937
88938 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88939
88940         * lib/xstrtol.h: Add copyright notice.
88941         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
88942         LONGINT_INVALID_SUFFIX_CHAR.
88943
88944 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88945
88946         * lib/xstrtol.c (strtoimax): New decl.
88947
88948 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88949
88950         * lib/xgetcwd.c: Don't include pathmax.h.
88951         Include stdlib.h and unistd.h if available.
88952         Include xalloc.h.
88953         (xmalloc, xstrdup, free): Remove decls.
88954         (xgetcwd): Don't assume sizes fit in unsigned.
88955         Check for overflow when computing sizes.
88956         Simplify reallocation code.
88957
88958 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88959
88960         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
88961         a directory's st_size can have an arbitrary value, so the old
88962         usage could waste an arbitrary amount of memory.  All uses
88963         changed.
88964         * lib/savedir.h: Update prototype.
88965
88966 2001-08-31  Paul Eggert  <eggert@twinsun.com>
88967
88968         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
88969
88970         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
88971         old strtoimax.c.
88972
88973         Also, make the following further changes to make this file's
88974         configuration more similar to that of strtol.c:
88975         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
88976         (strtoumax, uintmax_t, strtoull, strtol): Remove.
88977         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
88978         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
88979         changed to signed values.
88980
88981         And make the following changes as well:
88982         Fix copyright notice, as 1999 was missing.
88983         (verify): New macro.
88984         (strtoimax): Check sizes at compile-time, not run-time.
88985         Prefer strtol to strtoll if both work.
88986         (main): Remove; it was not that useful and was a pain to maintain.
88987
88988         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
88989
88990 2001-08-31  Jim Meyering  <meyering@lucent.com>
88991
88992         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
88993         Use an initial, malloc'd, buffer of length 128 rather than
88994         a statically allocated one of length 1024.
88995
88996 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88997
88998         Simplify code, partly by assuming autoconf 2.52 semantics.
88999
89000         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
89001
89002         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
89003         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
89004         All uses removed.
89005         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
89006         Move AC_REQUIRE to next-to-top level, to avoid confusion.
89007         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
89008         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
89009         jm_AC_HEADER_INTTYPES_H.
89010         * m4/jm-macros.m4 (jm_MACROS): Likewise.
89011
89012         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
89013
89014         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
89015         Quote first arg of AC_DEFUN.
89016         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
89017         since they are needed to parse the include file even if we need
89018         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
89019         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
89020         but with opposite signedness.
89021
89022 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89023
89024         Merge 'exclude' changes from tar 1.13.22.
89025         This fixes one or two unlikely storage allocation overflow bugs,
89026         but doesn't change user-visible behavior otherwise.
89027
89028 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89029
89030         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
89031         (jm_PREREQ_EXCLUDE): New macro.
89032
89033 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89034
89035         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
89036         tm to be declared.
89037
89038 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89039
89040         * lib/hash.c: Remove '2001' from copyright notice.
89041
89042 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89043
89044         * lib/full-write.h: New file.
89045         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
89046         * lib/full-write.c: Correct credits, as cccp.c no longer
89047         exists and anyway it was so heavily changed from the old cccp
89048         code as to be unrecognizable.  Include full-write.h.
89049         (full_write): Return size_t, with short writes meaning failure.
89050         All callers changed.  This fixes a bug with large buffers
89051         on 64-bit hosts.
89052         * lib/utime.c: Include full-write.h.
89053
89054 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89055
89056         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
89057         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
89058         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
89059         Include if available.
89060         (<xalloc.h>): Include
89061         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
89062         (verify): New macro.  Use it to verify that EXCLUDE macros do not
89063         collide with FNM macros.
89064         (struct patopts): New struct.
89065         (struct exclude): Use it, as exclude patterns now come with options.
89066         (new_exclude): Support above changes.
89067         (new_exclude, add_exclude_file):
89068         Initial size must now be a power of two to simplify overflow checking.
89069         (free_exclude, fnmatch_no_wildcards): New function.
89070         (excluded_filename): No longer requires options arg, as the options
89071         are determined by add_exclude.  Now returns bool, not int.
89072         (excluded_filename, add_exclude):
89073         Add support for the fancy new exclusion options.
89074         (add_exclude, add_exclude_file): Now takes int options arg.
89075         Check for arithmetic overflow when computing sizes.
89076         (add_exclude_file): xrealloc might modify errno, so don't
89077         realloc until after errno might be used.
89078
89079         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
89080         New macros.
89081         (free_exclude): New decl.
89082         (add_exclude, add_exclude_file): Now takes int options arg.
89083         (excluded_filename): No longer requires options arg, as the options
89084         are determined by add_exclude.  Now returns bool, not int.
89085
89086 2001-08-30  Paul Eggert  <eggert@twinsun.com>
89087
89088         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
89089
89090 2001-08-27  Jim Meyering  <meyering@lucent.com>
89091
89092         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
89093
89094         * lib/version-etc.c (N_): Remove definition.
89095         Revert most of last change.
89096         Instead, simply don't mark the `Copyright...' string for translation.
89097         Based on advice from Paul Eggert.
89098
89099         * lib/strtoxmax.c: Tweak comment.
89100
89101 2001-08-26  Jim Meyering  <meyering@lucent.com>
89102
89103         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
89104
89105         * m4/xstrtoimax.m4: New file.
89106         * m4/xstrtoumax.m4: Add comments explaining why we
89107         AC_REPLACE_FUNCS(strtol).
89108
89109 2001-08-26  Jim Meyering  <meyering@lucent.com>
89110
89111         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
89112         of copyright with `%s' so translators don't get an untranslated
89113         message in 2002.
89114         (COPYRIGHT_YEAR): Define.
89115         (version_etc): Use fprintf rather than fputs.
89116         Suggestion from Ulrich Drepper.
89117
89118         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
89119
89120         * lib/strtoll.c: New file, from GNU libc.
89121         * lib/xstrtoimax.c: New file.
89122
89123         * lib/xstrtol.h: Add xstrtoimax.
89124         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
89125         * lib/strtoimax.c: New file.  Likewise, but first define
89126         STRTOUXMAX_SIGNED.
89127
89128         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
89129         ...
89130         * lib/strtoxmax.c: ... then renamed to this.
89131
89132 2001-08-18  Paul Eggert  <eggert@twinsun.com>
89133
89134         * m4/inttypes.m4: Add AC_PREREQ(2.13).
89135         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
89136         (jm_AC_TYPE_INTMAX_T): New macro.
89137         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
89138
89139         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
89140
89141         * m4/longlong.m4: Renamed from ulonglong.m4.
89142         * m4/inttypes.m4: Renamed from inttypes_h.m4.
89143         * m4/uintmax_t.m4: Removed.
89144
89145 2001-08-13  Paul Eggert  <eggert@twinsun.com>
89146
89147         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
89148         Port to Solaris 8, where 'sed' requires a space after the 'r'
89149         command, and where sh dislikes "$/".  Clean up the spacing a bit.
89150         Redirect output to $tmp just once.
89151
89152 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
89153
89154         * lib/addext.c (<errno.h>): Include.
89155         (errno): Declare if not defined.
89156         (addext): Work correctly when pathconf returns -1 and leaves
89157         errno alone because there is no limit.  Also, work even if
89158         pathconf returns a value greater than SIZE_MAX.
89159
89160 2001-08-12  Jim Meyering  <meyering@lucent.com>
89161
89162         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
89163         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
89164         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
89165         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
89166         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
89167         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
89168         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
89169         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
89170         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
89171         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
89172         utime.m4, utimes.m4, xstrtoumax.m4:
89173         Quote the first argument in each use of AC_DEFUN.
89174
89175 2001-08-12  Jim Meyering  <meyering@lucent.com>
89176
89177         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
89178         Simply `return getcwd (NULL, 0);'.
89179         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
89180         Use 1300 as initial value for length, not PATH_MAX.
89181
89182         * lib/pathmax.h: Clean up cpp syntax.
89183
89184 2001-08-12  Jim Meyering  <meyering@lucent.com>
89185
89186         * lib/gettimeofday.c: New file.
89187         * lib/gtod.h: New file.
89188         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
89189
89190 2001-08-05  Jim Meyering  <meyering@lucent.com>
89191
89192         * m4/jm-macros.m4: Require autoconf-2.52.
89193
89194 2001-08-04  Jim Meyering  <meyering@lucent.com>
89195
89196         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
89197         stmt, to get in sync with glibc.
89198
89199 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89200
89201         The following changes are from gettext 0.10.39 as maintained by
89202         Bruno Haible.
89203
89204         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
89205         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
89206         with inverted sense.  All uses changed.
89207
89208         * lib/mbswidth.c: Don't include <limits.h>.
89209         Include <stdlib.h> and <string.h> unconditionally.
89210         (iswcntrl, mbsinit, ISCNTRL): New macros.
89211         (mbsnwidth): Use K&R style function declarations.
89212         Don't bother checking for MB_LEN_MAX == 1, since the compiler
89213         can optimize it when MB_CUR_MAX == 1.
89214         The width of control characters is zero, not 1.
89215
89216 2001-08-03  Paul Eggert  <eggert@twinsun.com>
89217
89218         The following changes are from gettext 0.10.39 as maintained by
89219         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
89220
89221         * m4/codeset.m4: Upgrade to serial AM1.
89222         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
89223         all uses changed.  Quote first arg of AC_DEFUN.
89224         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
89225
89226         * m4/iconv.m4: Upgrade to serial AM2.
89227         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
89228         Add --with-libconv-prefix.
89229         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
89230         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
89231         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
89232         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
89233         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
89234
89235         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
89236         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
89237         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
89238         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
89239         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
89240         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
89241         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
89242         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
89243         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
89244
89245         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
89246         string.h any more.
89247
89248         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
89249         not the default value.
89250
89251         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
89252         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
89253         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
89254         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
89255         Also check for iswcntrl, used for wcwidth fallback.
89256         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
89257         to Autoconf 2.13.
89258
89259 2001-08-03  Jim Meyering  <meyering@lucent.com>
89260
89261         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
89262         as it was in the original.  Reported by Paul Eggert.
89263
89264 2001-07-16  Jim Meyering  <meyering@lucent.com>
89265
89266         * m4/gettimeofday.m4: New file.
89267         Prompted by a report from Bernhard Baehr.
89268
89269 2001-07-15  Jim Meyering  <meyering@lucent.com>
89270
89271         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
89272         stuff. Now it's in ../Makefile.cfg.
89273
89274 2001-07-15  Jim Meyering  <meyering@lucent.com>
89275
89276         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
89277         (BUILT_SOURCES): Add unlocked-io.h.
89278         (io_functions): Define.
89279         (unlocked-io.h): New rule.
89280         (DISTCLEANFILES): Add unlocked-io.h.
89281         (all-local): Depend on unlocked-io.h, to ensure it is created.
89282
89283         * lib/unlocked-io.hin: New file
89284
89285         * lib/regex.c: Update from glibc.
89286
89287 2001-07-05  Jim Meyering  <meyering@lucent.com>
89288
89289         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
89290         recommendation.
89291         (libfetish_a_SOURCES): Put all .h files here instead.
89292         Remove a thus-exposed (better checks in automake) duplicate and
89293         two unnecessary .h files.
89294
89295 2001-07-04  Jim Meyering  <meyering@lucent.com>
89296
89297         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
89298         that generates jm-glibc-io.m4 so that it doesn't trigger any make
89299         distcheck failure.
89300
89301 2001-07-02  Jim Meyering  <meyering@lucent.com>
89302
89303         The following changes were prompted by suggestions from Bruno Haible.
89304
89305         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
89306         is now generated.
89307         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
89308         definition of EXTRA_DIST.
89309         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
89310         ensure that the generated file is created/updated whenever the list
89311         of $(unlocked_functions) is changed.
89312         (jm-glibc-io.m4): New rule.
89313         (unlocked-io.h): New rule -- currently unused.
89314
89315 2001-06-24  Jim Meyering  <meyering@lucent.com>
89316
89317         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
89318         unmatched right bracket, rather than kludging it with an extra,
89319         falsely-matching quote in a comment.  Patch by Akim Demaille.
89320
89321 2001-06-11  Jim Meyering  <meyering@lucent.com>
89322
89323         * lib/regex.c: Update from GNU libc.
89324
89325 2001-05-27  Jim Meyering  <meyering@lucent.com>
89326
89327         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
89328         Check for ut_type in struct utmp.
89329
89330 2001-05-27  Jim Meyering  <meyering@lucent.com>
89331
89332         * lib/readutmp.h (UT_TYPE): Define.
89333
89334 2001-05-24  Jim Meyering  <meyering@lucent.com>
89335
89336         * lib/argmatch.c: Include "quote.h".
89337         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
89338         quote function.  Reported by Göran Uddeborg.
89339
89340 2001-05-22  Jim Meyering  <meyering@lucent.com>
89341
89342         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
89343         now that we use the package-supplied version unconditionally.
89344         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
89345
89346 2001-05-21  Jim Meyering  <meyering@lucent.com>
89347
89348         * m4/regex.m4: Change a couple backticks to single quotes to avoid
89349         shell syntax errors.
89350
89351 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89352
89353         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
89354
89355 2001-05-20  Paul Eggert  <eggert@twinsun.com>
89356
89357         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
89358         Don't bother to check library strftime, since
89359         we'll be using our own my_strftime function anyway.
89360         Define my_strftime instead of strftime.
89361
89362 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
89363
89364         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
89365         which is not yet declared.
89366
89367 2001-05-15  Jim Meyering  <meyering@lucent.com>
89368
89369         * m4/regex.m4: Use proper quoting so brackets appear in the test
89370         program.
89371         Reported by, and with help from, Bruno Haible.
89372
89373 2001-05-13  Jim Meyering  <meyering@lucent.com>
89374
89375         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
89376         undefined.
89377
89378 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89379
89380         dirname code cleanup.  base_name now behaves more compatibly
89381         with POSIX basename when given file names that have trailing
89382         slashes, and similarly for dir_name.  Add new primitives
89383         base_len and dir_len.  Put the directory-name-related decls
89384         into dirname.h.
89385
89386         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
89387         * lib/backupfile.c (base_name): Likewise.
89388         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
89389         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
89390         * lib/makepath.c (strip_trailing_slashes): Likewise.
89391         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
89392         ISSLASH): Likewise.
89393         * lib/rename.c (strip_trailing_slashes): Likewise.
89394         * lib/same.c (base_name): Likewise.
89395         * lib/stripslash.c (ISSLASH): Likewise.
89396
89397         * lib/addext.c: Include <dirname.h> after size_t is defined.
89398         * lib/backupfile.c: Likewise.
89399
89400         * lib/addext.c (addext): Use base_len to trim redundant
89401         trailing slashes instead of doing it ourselves.
89402         But do not trim the last slash if it is not redundant.
89403
89404         * lib/backupfile.c (find_backup_file_name,
89405         max_backup_version): Use base_len instead of rolling it ourselves.
89406         Handle the case of "" and (on DOS) "C:" correctly.
89407
89408         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
89409         needed. Include <string.h>, <dirname.h>.
89410         (base_name): Allow file names ending in slashes, other than names
89411         that are all slashes.  In this case, return the basename followed
89412         by the slashes.  This is more general, and can be used in places
89413         where the original base_name purposely had an assertion failure.
89414         (base_len): New function.
89415
89416         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
89417         Do not include <assert.h>; no longer needed.
89418         Include xalloc.h.
89419         (memrchr): Remove decl.
89420         (dir_name_r): Remove.
89421         (dir_len): Renamed from dirlen.  All callers changed.
89422         Rewrite in terms of base_name, for simplicity and consistency.
89423         (dir_name): Never return NULL.  All callers changed.
89424         Do not include <stdlib.h> in test program; no longer needed.
89425         return 0; is fine for test program.
89426
89427         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
89428         New macros.
89429         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
89430
89431         * lib/path-concat.c (path_concat): Use base_len to compute
89432         base length, not strlen; this means we cannot rely on memcpy
89433         to null-terminate.
89434
89435         * lib/same.c (STREQ): Remove.
89436         (same_name): Handle the case where the basename ends in trailing '/'.
89437
89438         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
89439         a slash was stripped.  Do not strip the last slash after a
89440         file system prefix.
89441
89442 2001-05-11  Paul Eggert  <eggert@twinsun.com>
89443
89444         * lib/Makefile.am (libfetish_a_SOURCES):
89445         Add strftime.c, since we now compile it on all hosts.
89446
89447         * lib/strftime.c (my_strftime):
89448         Define to nstrftime if emacs, but only if my_strftime is not defined.
89449         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
89450         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
89451         Add one more extra argument: a nanoseconds value.
89452         All uses changed.
89453         (ns): New macro.
89454         (my_strftime function): Add %N format.
89455         (emacs_strftimeu): Renamed from emacs_strftime,
89456         with extra ut argument.
89457
89458 2001-05-09  Paul Eggert  <eggert@twinsun.com>
89459
89460         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
89461
89462 2001-04-21  Jim Meyering  <meyering@lucent.com>
89463
89464         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
89465         doesn't interfere.
89466
89467 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
89468
89469         * m4/ftruncate.m4: Check for chsize.
89470         Link with ftruncate.o unconditionally if ftruncate is missing.
89471         This was required when cross-compiling to i586-mingw32msvc.
89472
89473 2001-04-08  Jim Meyering  <meyering@lucent.com>
89474
89475         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
89476         recomputed; that's necessary when the offset spans a DST transition.
89477         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
89478
89479 2001-04-02  Jim Meyering  <meyering@lucent.com>
89480
89481         * lib/regex.h, regex.c: Update from GNU libc.
89482
89483 2001-03-24  Jim Meyering  <meyering@lucent.com>
89484
89485         * m4/jm-macros.m4: Require autoconf-2.49d.
89486
89487 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
89488
89489         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
89490
89491 2001-03-19  Paul Eggert  <eggert@twinsun.com>
89492
89493         * lib/version-etc.c (version_etc_copyright): Update to 2001.
89494
89495 2001-03-17  Jim Meyering  <meyering@lucent.com>
89496
89497         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
89498         now that the version in autoconf is equivalent.
89499         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
89500
89501         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
89502         Suggestion from Akim Demaille.
89503
89504         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
89505         (jm_PREREQ_TEMPNAME): New function.
89506
89507 2001-03-16  Paul Eggert  <eggert@twinsun.com>
89508
89509         * lib/tempname.c (uint64_t): Define to uintmax_t if
89510         not defined, and if UINT64_MAX is not defined.
89511         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
89512         Reported by John David Anglin.
89513
89514 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
89515
89516         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
89517         resolve alias if codeset is empty.
89518         * lib/config.charset (BeOS): Use wildcard syntax.
89519
89520 2001-03-13  Jim Meyering  <meyering@lucent.com>
89521
89522         * lib/path-concat.c (path_concat)
89523         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
89524         concatenating e.g., `C:' and `foo'.
89525         From Bruno Haible.
89526
89527 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89528
89529         * lib/localcharset.c (locale_charset): Don't use
89530         setlocale(LC_CTYPE,NULL). Don't return NULL.
89531         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
89532
89533 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
89534
89535         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
89536         support for DOS/DJGPP.
89537
89538 2001-03-01  Paul Eggert  <eggert@twinsun.com>
89539
89540         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
89541         lacks mkstemp.  Compile our own tempname.c if we compile our own
89542         mkstemp.c, as mkstemp relies on tempname.
89543
89544 2001-03-01  Jim Meyering  <meyering@lucent.com>
89545
89546         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
89547         AH_VERBATIM really does output its argument verbatim.
89548
89549 2001-02-28  Paul Eggert  <eggert@twinsun.com>
89550
89551         * lib/Makefile.am (libfetish_a_SOURCES):
89552         Add dup-safer.c, fopen-safer.c.
89553         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
89554
89555         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
89556         * lib/unistd-safer.h: New files.
89557
89558 2001-02-25  Paul Eggert  <eggert@twinsun.com>
89559
89560         The mkstemp replacement is taken from glibc 2.2.2, with some
89561         portability fixes for use outside glibc, as follows:
89562
89563         * lib/tempname.c (struct_stat64): New macro.
89564         (direxists, __gen_tempname): Use it.
89565         This avoids a portability problem with Solaris 8.
89566
89567         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
89568         (<stddef.h>, <stdint.h>, <string.h>):
89569         Include only if STDC_HEADERS || _LIBC.
89570         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
89571         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
89572         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
89573         (__set_errno): Define this macro if <errno.h> doesn't.
89574         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
89575         Define these macros if <stdio.h> doesn't.
89576         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
89577         Define these macros if <sys/stat.h>
89578         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
89579         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
89580         __xstat64): Define if not _LIBC.
89581         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
89582         (__gen_tempname): Invoke gettimeofday only if
89583         HAVE_GETTIMEOFDAY || _LIBC;
89584         otherwise, fall back on plain "time".
89585         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
89586
89587         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
89588
89589         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
89590
89591 2001-02-18  Paul Eggert  <eggert@twinsun.com>
89592
89593         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
89594
89595 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89596
89597         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
89598         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
89599         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
89600         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89601
89602 2001-02-17  Paul Eggert  <eggert@twinsun.com>
89603
89604         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
89605         Remove workaround macros for hosts that have mbrtowc but not
89606         mbstate_t, as we now insist on proper declarations for both
89607         before using mbrtowc.
89608
89609 2001-02-17  Jim Meyering  <meyering@lucent.com>
89610
89611         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
89612         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
89613         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
89614         UnixWare 7.1.1.
89615
89616         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
89617         rather than AC_CACHE_VAL.
89618
89619 2001-02-17  Jim Meyering  <meyering@lucent.com>
89620
89621         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
89622         around included file name.
89623
89624         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
89625
89626         * lib/strftime.c: Update from GNU libc (the only changes were to
89627         comments).
89628
89629 2001-02-17  Jim Meyering  <meyering@lucent.com>
89630
89631         * lib/regex.c: Update from libc.
89632
89633 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
89634
89635         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
89636         clash.
89637
89638 2001-02-16  Paul Eggert  <eggert@twinsun.com>
89639
89640         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
89641         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
89642         Reported by Mark Hounschell via Paul Eggert.
89643
89644 2001-02-07  Jim Meyering  <meyering@lucent.com>
89645
89646         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
89647
89648 2001-02-05  Jim Meyering  <meyering@lucent.com>
89649
89650         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
89651         it includes the patch required for `large file' support with at least
89652         HP-UX's 10.20 /bin/cc.
89653
89654 2001-02-03  Jim Meyering  <meyering@lucent.com>
89655
89656         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
89657         AS_IF, now that it works once again (mysteriously).
89658         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89659
89660 2001-01-30  Jim Meyering  <meyering@lucent.com>
89661
89662         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
89663         * m4/chown.m4: Rename conftestchown to conftest.chown.
89664         * m4/rename.m4: s/conftestdir/conftest.d1/ and
89665         s/conftestdir2/conftest.d2/.
89666         * m4/utimes.m4: s/conftestdata/conftest.data/
89667         Inspired by Pavel Roskin's change in autoconf.
89668
89669 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
89670
89671         * lib/config.charset: Update for FreeBSD 4.2.
89672
89673 2001-01-27  Jim Meyering  <meyering@lucent.com>
89674
89675         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
89676         a use of AS_IF.
89677         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
89678
89679 2001-01-26  Jim Meyering  <meyering@lucent.com>
89680
89681         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
89682         quotearg.c includes it.
89683
89684 2001-01-26  Jim Meyering  <meyering@lucent.com>
89685
89686         * lib/quotearg.c: Include stddef.h.
89687         * lib/quote.c: Include stddef.h.
89688         Reported by Axel Kittenberger.
89689
89690         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
89691         line in double quotes so that it evokes a better diagnostic.
89692         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
89693         Reported by Axel Kittenberger.
89694
89695 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
89696
89697         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
89698         as if it was a `charset'.
89699
89700 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89701
89702         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
89703         has const.
89704
89705 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
89706
89707         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
89708         to avoid a warning.  Add back 'const' to inptr.
89709
89710 2001-01-20  Jim Meyering  <meyering@lucent.com>
89711
89712         Be sure that headers are checked before used in code compiled
89713         for the type checks.
89714         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
89715         In place of that, invoke jm_CHECK_ALL_TYPES.
89716         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
89717         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
89718         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
89719         The check for ssize_t was mistakenly run before the test for unistd.h.
89720
89721         The configure-time check for stdbool.h was missing.
89722         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
89723         (jm_PREREQ_HASH): New function.
89724
89725 2001-01-17  Jim Meyering  <meyering@lucent.com>
89726
89727         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
89728         for autoconf-2.49c.
89729         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
89730
89731 2001-01-16  Jim Meyering  <meyering@lucent.com>
89732
89733         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
89734         From Bruno Haible.
89735
89736 2001-01-14  Jim Meyering  <meyering@lucent.com>
89737
89738         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
89739         foo and bar.  Create conftestdir/ in the script, not in the C code.
89740         Remove directories in the script, not in the C code.
89741         Remove conftestdir{,2} before trying to create the directory.
89742         Make the entire configure script fail if the mkdir fails.
89743
89744 2001-01-14  Jim Meyering  <meyering@lucent.com>
89745
89746         * lib/rename.c: New file.  From Volker Borchert.
89747         Include stdlib.h, string.h or strings.h, and xalloc.h.
89748         Use strip_trailing_slashes rather than open-coding it.
89749
89750 2001-01-03  Paul Eggert  <eggert@twinsun.com>
89751
89752         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
89753
89754 2001-01-03  Jim Meyering  <meyering@lucent.com>
89755
89756         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
89757         of local `inptr' to avoid warning with some system declarations of
89758         iconv.
89759
89760 2001-01-02  Volker Borchert  <bt@teknon.de>
89761
89762         * m4/rename.m4: New file.
89763         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
89764
89765 2001-01-01  Jim Meyering  <meyering@lucent.com>
89766
89767         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
89768         even on systems with utmpx.h.  It's necessary for the declaration of
89769         utmp's ut_user member.  Reported by Andreas Jaeger.
89770
89771         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
89772         available. They are required for the declarations of getgrgid and
89773         getpwuid resp.
89774         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
89775         Reported by Andreas Jaeger.
89776
89777 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
89778
89779         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
89780         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
89781         so `make install' also works in VPATH builds.
89782
89783 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
89784
89785         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
89786         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
89787         can be used in subdirectories.
89788
89789 2000-12-29  Paul Eggert  <eggert@twinsun.com>
89790
89791         * lib/modechange.c: Do not assume that mode_t uses the
89792         traditional octal encoding.  E.g. "chmod 1 FOO" should set
89793         the other-execute bit of FOO even if S_IXOTH != 1.
89794
89795         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
89796         WOTH, XOTH, ALLM): New macros.
89797         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
89798          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
89799         Use them.
89800         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
89801         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
89802         (mode_compile):
89803         No need to use uintmax_t; unsigned long is long enough.
89804         Don't bother to get suffix since we don't use it.
89805
89806 2000-12-26  Jim Meyering  <meyering@lucent.com>
89807
89808         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
89809         better with autoheader.
89810
89811 2000-12-24  Jim Meyering  <meyering@lucent.com>
89812
89813         * lib/hash.c (is_prime): Return explicit boolean values.
89814         (hash_get_first): Return NULL to appease Irix5.6's 89.
89815         Reported by Nelson Beebe.
89816
89817 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
89818
89819         * lib/localcharset.c (locale_charset): Add support for Win32.
89820
89821 2000-12-18  Paul Eggert  <eggert@twinsun.com>
89822
89823         * lib/physmem.h, lib/physmem.c: New files.
89824
89825         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
89826         (noinst_HEADERS): Add physmem.h.
89827
89828         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
89829         't' for compatibility with Solaris 8 sort.
89830
89831 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
89832
89833         * lib/config.charset: Add support for BeOS.
89834
89835 2000-12-17  Jim Meyering  <meyering@lucent.com>
89836
89837         * m4/dos.m4 (jm_AC_DOS): New file and macro.
89838         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
89839
89840 2000-12-16  Jim Meyering  <meyering@lucent.com>
89841
89842         This bug had a serious impact on chown: `chown N:M FILE' (for integer
89843         N and M) would have treated it like `chown N:N FILE'.
89844
89845         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
89846
89847 2000-12-16  Jim Meyering  <meyering@lucent.com>
89848
89849         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
89850         SHELLS_FILE to a file name that's useful on djgpp systems.
89851         Include stdlib.h.
89852         (ADDITIONAL_DEFAULT_SHELLS): Define.
89853         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
89854         Based mostly on a patch from Prashant TR.
89855
89856 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
89857
89858         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
89859         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
89860         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
89861
89862 2000-12-08  Andreas Schwab  <schwab@suse.de>
89863
89864         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
89865         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
89866
89867 2000-12-07  Jim Meyering  <meyering@lucent.com>
89868
89869         * lib/stripslash.c (ISSLASH): Define.
89870         (strip_trailing_slashes): Use ISSLASH rather than comparing against
89871         `/'.
89872         From Prashant TR.
89873
89874         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
89875         (dir_name_r): Declare this function as static.
89876         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
89877         manifest itself on a name containing a mix of slashes and
89878         backslashes.
89879         Make this function work with names starting with a DOS-style
89880         drive letter and colon prefix.
89881         (dir_name): Append `.' if necessary.
89882         Based mostly on patches from Prashant TR and Eli Zaretskii.
89883
89884         * lib/dirname.h (dir_name_r): Remove prototype.
89885
89886 2000-12-06  Paul Eggert  <eggert@twinsun.com>
89887
89888         * m4/off_t-format.m4: Remove this file.
89889         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
89890
89891 2000-12-06  Jim Meyering  <meyering@lucent.com>
89892
89893         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
89894         replacement strtoull, we may well need the replacement strtoul, too.
89895         Check for declarations of strtoul and strtoull.
89896         Check for strtol.  Mainly as a cue to cause automake to include
89897         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
89898         Check for limits.h -- strtol.c needs it.
89899
89900 2000-12-05  Jim Meyering  <meyering@lucent.com>
89901
89902         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
89903
89904 2000-12-04  Jim Meyering  <meyering@lucent.com>
89905
89906         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
89907         Also include memory.h, stdlib.h, unistd.h if appropriate.
89908         Reported by Andreas Jaeger (conflicting declaration of malloc).
89909
89910 2000-12-02  Jim Meyering  <meyering@lucent.com>
89911
89912         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
89913         * m4/jm-macros.m4 (jm_MACROS): require it.
89914
89915 2000-12-02  Jim Meyering  <meyering@lucent.com>
89916
89917         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
89918
89919 2000-12-01  Paul Eggert  <eggert@twinsun.com>
89920
89921         * lib/memrchr.c: Include <config.h> before any system include file.
89922
89923 2000-11-30  Jim Meyering  <meyering@lucent.com>
89924
89925         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
89926
89927 2000-11-30  Jim Meyering  <meyering@lucent.com>
89928
89929         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
89930
89931 2000-11-29  Paul Eggert  <eggert@twinsun.com>
89932
89933         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
89934
89935 2000-11-26  Jim Meyering  <meyering@lucent.com>
89936
89937         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
89938
89939 2000-11-22  Paul Eggert  <eggert@twinsun.com>
89940
89941         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
89942         size of (size_t) -1; it's not portable.
89943
89944 2000-11-17  Jim Meyering  <meyering@lucent.com>
89945
89946         * lib/strstr.c: Update from GNU libc.
89947
89948 2000-11-17  Akim Demaille  <akim@epita.fr>
89949
89950         * lib/obstack.h: Formatting changes.
89951         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
89952         prevent type checking.
89953         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
89954         cast the value to (void *): assigning a `foo *' to a `void *'
89955         variable is valid.
89956         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
89957
89958 2000-11-16  Jim Meyering  <meyering@lucent.com>
89959
89960         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
89961
89962 2000-11-11  Jim Meyering  <meyering@lucent.com>
89963
89964         * lib/error.c: Add a couple #includes, merging from GNU libc version.
89965
89966 2000-11-10  Jim Meyering  <meyering@lucent.com>
89967
89968         * lib/obstack.h: Update from GNU libc.
89969         * lib/obstack.c: Likewise.
89970
89971 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
89972
89973         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
89974
89975 2000-11-06  Paul Eggert  <eggert@twinsun.com>
89976
89977         * lib/getusershell.c (setusershell): Use rewind rather than
89978         fseek/fseeko, to avoid configuration hassles with fseeko.
89979         Don't bother opening SHELLS_FILE if shellstream is NULL;
89980         it's not necessary.
89981
89982 2000-11-05  Jim Meyering  <meyering@lucent.com>
89983
89984         * lib/makepath.h (make_dir): Declare.
89985         * lib/makepath.c (make_dir): Remove `static' attribute.
89986         Tweak a comment.
89987
89988 2000-11-04  Jim Meyering  <meyering@lucent.com>
89989
89990         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
89991
89992 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
89993
89994         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
89995         last one in a bucket, advance to the next bucket.
89996
89997 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
89998
89999         * lib/fnmatch.c: Do not comment out all the code if we are using
90000         the GNU C library, because in some cases we are replacing buggy
90001         code in the GNU C library itself.
90002
90003 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
90004
90005         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
90006         (regex_compile): Catch bogus \(\1\).
90007
90008 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90009
90010         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
90011         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
90012         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
90013
90014 2000-10-30  Paul Eggert  <eggert@twinsun.com>
90015
90016         * lib/error.h, getline.h, modechange.h:
90017         Remove "2000" from Copyright line, as the file hasn't been
90018         changed this year other than in the copyright notice.
90019
90020         * lib/xalloc.h: Add "2000" to Copyright line, as this file
90021         was changed this year.
90022
90023 2000-10-29  Jim Meyering  <meyering@lucent.com>
90024
90025         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
90026         renaming.
90027         * m4/ls-mntd-fs.m4: Likewise
90028
90029 2000-10-29  Jim Meyering  <meyering@lucent.com>
90030
90031         * lib/xstat.in: Fix grammar in comment.
90032
90033 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
90034
90035         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
90036         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
90037         doesn't define __restrict_arr.
90038
90039 2000-10-28  Jim Meyering  <meyering@lucent.com>
90040
90041         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
90042         (jm_PREREQ_MEMCHR): New function.
90043
90044 2000-10-28  Jim Meyering  <meyering@lucent.com>
90045
90046         * lib/memchr.c: Update from libc.
90047         Adjust for portability:
90048         [HAVE_STDLIB_H]: Include stdlib.h.
90049         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
90050         Undef __memchr, too.
90051         [!weak_alias]: Define __memchr to memchr.
90052
90053         * lib/regex.c: Update from libc.
90054         * lib/regex.h: Likewise.
90055         * lib/getopt1.c: Likewise.
90056         * lib/memcmp.c: Likewise.
90057
90058         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
90059         Avoid using fseek, when possible -- it's broken by design.
90060         Patch by Ulrich Drepper.
90061
90062 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
90063
90064         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
90065         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
90066         Giving in to popular pressure to shut up the compiler with casts.
90067
90068 2000-10-26  Jim Meyering  <meyering@lucent.com>
90069
90070         * lib/strftime.c: Update from libc.
90071
90072 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
90073
90074         * regex.c: More `unsigned char' -> `re_char' changes.
90075         Also change several `int' into `re_wchar_t'.
90076         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
90077         (PUSH_FAILURE_POINTER): Don't cast any more.
90078         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
90079         We want GCC to complain, since this piece of code makes
90080         re_match non-reentrant, which *should* be fixed.
90081         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
90082         (EXTEND_BUFFER): Use RETALLOC.
90083         (SET_LIST_BIT): Don't cast.
90084         (re_wchar_t): New type.
90085         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
90086         that those two functions will always properly return.
90087         (IMMEDIATE_QUIT_CHECK): Cast to void.
90088         (analyse_first): Use recursion rather than an explicit stack.
90089         (re_compile_fastmap): Can't fail anymore.
90090         (re_search_2): Don't check re_compile_fastmap for failure.
90091         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
90092         Now also sets the new value (passed in a new argument).
90093         (re_match_2_internal): Use it.
90094         Also, use a new var `reg' of type size_t when looping through regs
90095         rather than reuse the inappropriate `mcnt'.
90096
90097 2000-10-25  Jim Meyering  <meyering@lucent.com>
90098
90099         * lib/obstack.c: Update from libc.
90100
90101 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
90102
90103         * regex.c (regex_compile): Change the way of handling a range from
90104         a char less than 256 to a char not less than 256.
90105
90106 2000-10-24  Andrew Innes  <andrewi@gnu.org>
90107
90108         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
90109         NT-Emacs only.
90110         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
90111         so that re_search functions only quit when callers expect them to.
90112
90113 2000-10-23  Jim Meyering  <meyering@lucent.com>
90114
90115         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
90116         wrong.  That set_locale call must not have any side effects.
90117         From Paul Eggert.
90118
90119 2000-10-22  Jim Meyering  <meyering@lucent.com>
90120
90121         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
90122         [CYCLIC]: Remove now-unused definition.
90123
90124         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
90125         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
90126         Suggestion from Ulrich Drepper.
90127
90128 2000-10-21  Jim Meyering  <meyering@lucent.com>
90129
90130         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
90131         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
90132         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
90133
90134 2000-10-21  Jim Meyering  <meyering@lucent.com>
90135
90136         * lib/dirname.c (memrchr): Declare if necessary.
90137         (dir_name): Remove the restriction that there be no
90138         trailing slashes.  Now, this code skips past them, effectively
90139         ignoring them.
90140         [TEST_DIRNAME] (main): New unit tests.
90141
90142         * lib/memrchr.c: New file from GNU libc.
90143         Undef __memrchr, too.
90144         [!weak_alias]: Define __memrchr to memrchr.
90145         Guard weak_alias use with `#ifdef weak_alias'.
90146
90147 2000-10-21  Jim Meyering  <meyering@lucent.com>
90148
90149         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
90150         (dir_name): Use dir_name_r.
90151         * lib/dirname.h (dir_name_r): Declare it.
90152
90153 2000-10-17  Jim Meyering  <meyering@lucent.com>
90154
90155         * lib/quote.h (PARAMS): Define and use.
90156         Reported by Akim Demaille.
90157
90158         * lib/getopt.c: Update from libc.
90159
90160 2000-10-16  Jim Meyering  <meyering@lucent.com>
90161
90162         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
90163         setlocale.
90164         From Jan Fedak.
90165
90166 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
90167
90168         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
90169
90170 2000-09-25  Jim Meyering  <meyering@lucent.com>
90171
90172         * lib/md5.h (rol): Define (from GnuPG).
90173
90174         * lib/sha.c: Give credit (GnuPG) where due.
90175         (M): Use rol rather than open-coding it.
90176         Add a FIXME comment.
90177
90178 2000-09-21  Jim Meyering  <meyering@lucent.com>
90179
90180         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
90181         Reported by Michael Stone.
90182
90183 2000-09-20  Jim Meyering  <meyering@lucent.com>
90184
90185         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
90186         (noinst_HEADERS): Add sha.h.
90187         Based on code from Scott G. Miller and from GnuPG.
90188
90189 2000-09-18  Jim Meyering  <meyering@lucent.com>
90190
90191         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
90192         LIBS. Otherwise, everyone ends up linking with -lelf for some
90193         configurations.
90194         Reported by Mike Stone.
90195
90196 2000-09-15  Jim Meyering  <meyering@lucent.com>
90197
90198         * lib/regex.c: Update from libc.
90199
90200 2000-09-10  Jim Meyering  <meyering@lucent.com>
90201
90202         * lib/getopt.c (_getopt_internal): Update from glibc.
90203
90204 2000-09-09  Jim Meyering  <meyering@lucent.com>
90205
90206         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
90207         think it should be used as a general replacement for isascii.
90208         * lib/fnmatch.c: Likewise.
90209         * lib/mbswidth.c: Likewise
90210         * lib/regex.c: Likewise.
90211
90212         Don't use atoi.
90213         * lib/userspec.c: Include sys/param.h and limits.h.
90214         Include xstrtol.h.
90215         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
90216         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
90217         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
90218         UID, GID.  Check range.
90219
90220 2000-09-06  Jim Meyering  <meyering@lucent.com>
90221
90222         * lib/getopt.c (_getopt_internal): Update from glibc.
90223
90224 2000-08-30  Jim Meyering  <meyering@lucent.com>
90225
90226         * lib/strftime.c: Merge in changes from GNU libc.
90227
90228 2000-08-26  Jim Meyering  <meyering@lucent.com>
90229
90230         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
90231         * m4/fpending.m4: New file.
90232
90233 2000-08-26  Jim Meyering  <meyering@lucent.com>
90234
90235         * lib/closeout.c: Include "__fpending.h".
90236         (close_stdout_status): Return right away if there's nothing to flush.
90237
90238         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
90239         * lib/__fpending.c: New file.
90240         * lib/__fpending.h: New file.
90241
90242 2000-08-20  Jim Meyering  <meyering@lucent.com>
90243
90244         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
90245         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
90246         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
90247
90248 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
90249
90250         Improve fileutils installation on systems where running
90251         programs (like install) can't be unlinked.
90252         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
90253         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
90254
90255 2000-08-07  Paul Eggert  <eggert@twinsun.com>
90256
90257         Standardize on "memory exhausted" instead of "Memory exhausted"
90258         or "virtual memory exhausted".
90259         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
90260         "virtual memory exhausted".
90261         * lib/same.c (same_name): Invoke xalloc_die instead of printing
90262         our own message.
90263         * lib/userspec.c (parse_user_spec): Likewise.
90264         * lib/bumpalloc.h: comment fix
90265         * lib/same.c, userspec.c: Include xalloc.h.
90266
90267         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
90268         not char *const and pointing to a constant array.
90269         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
90270         (xrealloc): Comment fix.
90271
90272         * lib/userspec.c (parse_user_spec):
90273         Don't translate a message until just before returning,
90274         to avoid unnecessary translation.
90275
90276 2000-08-07  Jim Meyering  <meyering@lucent.com>
90277
90278         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
90279         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
90280         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
90281         getgroups.c, gethostname.c, getopt.h, group-member.c,
90282         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
90283         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
90284         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
90285         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
90286         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
90287         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
90288         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
90289         yesno.c: Back out Copyright date changes for each file with no change
90290         this year.  This eases coordination with other programs using the same
90291         source code modules.  From Paul Eggert.
90292
90293 2000-08-06  Paul Eggert  <eggert@twinsun.com>
90294
90295         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
90296         not char, for compatibility with glibc 2.1.3 strftime.c.
90297
90298 2000-08-03  Greg McGary  <greg@mcgary.org>
90299
90300         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
90301         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
90302         (EXTEND_BUFFER): Use them.
90303
90304 2000-08-01  Jim Meyering  <meyering@lucent.com>
90305
90306         * lib/dirname.c (ISSLASH): Define.
90307         (BACKSLASH_IS_PATH_SEPARATOR): Define.
90308         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
90309         both `\' and `/' may be use as path separators.
90310         Based on a patch from Prashant TR.
90311
90312 2000-07-31  Paul Eggert  <eggert@twinsun.com>
90313
90314         * lib/quotearg.c (quotearg_n_options): Don't make the initial
90315         slot vector a constant, since it might get modified.
90316
90317 2000-07-31  Jim Meyering  <meyering@lucent.com>
90318
90319         * lib/xmalloc.c: Use `virtual memory exhausted', not
90320         `Memory exhausted'.
90321         * lib/obstack.c (print_and_abort): Likewise.
90322
90323 2000-07-30  Paul Eggert  <eggert@twinsun.com>
90324
90325         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
90326         buffer, so that the caller can always quote one small
90327         component of a "memory exhausted" message in slot 0.
90328         From a suggestion by Jim Meyering.
90329
90330 2000-07-30  Jim Meyering  <meyering@lucent.com>
90331
90332         * lib/makepath.c (make_path): Quote the other instance, too.
90333
90334         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
90335         (STATIC_BUF_SIZE): Define.
90336         (quotearg_n_options): Use only statically allocated storage when
90337         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
90338         than STATIC_BUF_SIZE.
90339
90340 2000-07-29  Jim Meyering  <meyering@lucent.com>
90341
90342         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
90343         * lib/dirname.c (dir_name): Likewise.
90344
90345         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
90346         `/'.
90347
90348         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
90349         (dir_name): Assert that there are no trailing slashes.
90350
90351 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
90352
90353         * lib/mbswidth.h (mbswidth): Add a flags argument.
90354         (mbswidth): New declaration.
90355         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
90356         * lib/mbswidth.c (mbswidth): Add a flags argument.
90357         (mbsnwidth): New function.
90358
90359 2000-07-24  Jim Meyering  <meyering@lucent.com>
90360
90361         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
90362
90363 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90364
90365         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
90366
90367 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90368
90369         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
90370         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
90371         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
90372         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
90373         invoke multibyte primitives.
90374
90375 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90376
90377         * lib/quotearg.c:
90378         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
90379         so that mbstate_t is always defined.
90380
90381         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
90382         be 1 in at least one GCC installation, and this configuration
90383         error is likely to be common.  Ignoring MB_LEN_MAX hurts
90384         performance on hosts that have mbrtowc but have only unibyte
90385         locales, but I assume these hosts are rare.
90386
90387 2000-07-23  Paul Eggert  <eggert@twinsun.com>
90388
90389         * lib/mbswidth.c (_XOPEN_SOURCE):
90390         Don't define; this causes problems on Solaris 7.
90391         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
90392
90393 2000-07-23  Jim Meyering  <meyering@lucent.com>
90394
90395         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
90396         too: getgrgid, getpwuid, getuid.
90397
90398 2000-07-23  Jim Meyering  <meyering@lucent.com>
90399
90400         * lib/basename.c (base_name): Add an assertion.
90401
90402 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
90403
90404         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
90405         shadow its mbsinit function.
90406
90407 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90408
90409         * lib/mbswidth.h: New file.
90410         * lib/mbswidth.c: New file.
90411         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
90412         (noinst_HEADERS): Add mbswidth.h.
90413
90414 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
90415
90416         * lib/config.charset: Add support for FreeBSD. Improve support for
90417         HP-UX and IRIX 6.
90418
90419 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
90420
90421         * m4/mbswidth.m4: New file.
90422         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
90423
90424 2000-07-15  Jim Meyering  <meyering@lucent.com>
90425
90426         * lib/makepath.c: Include quote.h.
90427         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
90428         corresponding argument in a `quote (...)' call.
90429         Give better diagnostics.
90430
90431         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
90432         (noinst_HEADERS): Add quote.h.
90433
90434         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
90435         from tar's src/misc.c.
90436         * lib/quote.h: New file.  Prototypes for same.
90437
90438 2000-07-14  Paul Eggert  <eggert@twinsun.com>
90439
90440         From a suggestion by Bruno Haible.
90441         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
90442         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
90443         to decide whether to define the BeOS workaround macro;
90444         this adjusts to the change to AC_MBSTATE_T.
90445
90446 2000-07-14  Jim Meyering  <meyering@lucent.com>
90447
90448         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
90449         jm_AC_TYPE_UINTMAX_T.
90450
90451 2000-07-13  Paul Eggert  <eggert@twinsun.com>
90452
90453         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
90454
90455         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
90456         quotearg_buffer_restyled): Add support for
90457         clocale_quoting_style.  Undo previous change to
90458         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
90459         and "{RIGHT QUOTATION MARK}" msgids.
90460
90461 2000-07-10  Paul Eggert  <eggert@twinsun.com>
90462
90463         From a suggestion by Bruno Haible.
90464         * m4/mbstate_t.m4 (AC_MBSTATE_T):
90465         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
90466         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
90467         and mbstate_t, to a single-part test that simply defines mbstate_t.
90468         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
90469         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
90470
90471 2000-07-10  Jim Meyering  <meyering@lucent.com>
90472
90473         * m4/strerror_r.m4: Mirror the correction made in autoconf.
90474
90475         * m4/gnu-source.m4: Output to confdefs.h directly.
90476         Suggestion from Akim Demaille.
90477
90478 2000-07-09  Paul Eggert  <eggert@twinsun.com>
90479
90480         The old behavior of quoting `like this' doesn't look good with
90481         newer, ISO-style fonts.  See:
90482         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
90483
90484         Instead, quote "like this" by default.  Let the translator
90485         tailor the locale-specific quoting behavior by providing
90486         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
90487
90488         * lib/quotearg.c (N_): New macro.
90489         (gettext_default): New function.
90490         (quotearg_buffer_restyled): Use
90491         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
90492         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
90493
90494 2000-07-09  Jim Meyering  <meyering@lucent.com>
90495
90496         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
90497         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
90498
90499         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
90500         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
90501
90502 2000-07-09  Jim Meyering  <meyering@lucent.com>
90503
90504         * lib/Most files: Update copyright dates to include 2000.
90505
90506 2000-07-08  Jim Meyering  <meyering@lucent.com>
90507
90508         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
90509         if not defined.
90510         (xgethostname): Remove now-unnecessary #ifdef.
90511         Move declaration of `err' into loop where it's used.
90512
90513 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90514         and Bruno Haible  <haible@clisp.cons.org>
90515
90516         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
90517         only if the test for an object-type mbstate_t fails.  This
90518         prevents us from mistakenly reporting that mbstate_t is a
90519         system object type after we "#define mbstate_t int" to work
90520         around its lack.
90521
90522 2000-07-05  Paul Eggert  <eggert@twinsun.com>
90523         and Bruno Haible  <haible@clisp.cons.org>
90524
90525         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
90526
90527 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90528
90529         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
90530         to strerror_r.
90531         Include <ctype.h> for use of isalpha.
90532
90533 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90534
90535         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
90536         by allocating a larger buffer. Test the gethostname return value for
90537         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
90538         returns an error and ENAMETOOLONG isn't defined.
90539
90540 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
90541
90542         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
90543         dimension.
90544
90545 2000-07-04  Jim Meyering  <meyering@lucent.com>
90546
90547         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
90548         of the deprecated AC_CHECKING.
90549
90550 2000-07-04  Jim Meyering  <meyering@lucent.com>
90551
90552         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
90553         Reported by Bruno Haible.
90554
90555 2000-07-04  Jim Meyering  <meyering@lucent.com>
90556
90557         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
90558         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
90559         lacks mbrtowc.
90560
90561 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90562
90563         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
90564         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
90565
90566 2000-07-03  Paul Eggert  <eggert@twinsun.com>
90567         and Bruno Haible  <haible@clisp.cons.org>
90568
90569         * lib/quotearg.c (mbrtowc):
90570         Assign to *pwc, and return 1 only if result is nonzero.
90571         (iswprint): Use ISPRINT when substituting our own mbrtowc.
90572
90573 2000-07-03  Jim Meyering  <meyering@lucent.com>
90574
90575         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
90576
90577 2000-07-03  Jim Meyering  <meyering@lucent.com>
90578
90579         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
90580         This is necessary to get a definition of e.g., UTMP_FILE on
90581         HP-UX 10.20.
90582         From Bob Proulx.
90583
90584 2000-07-02  Jim Meyering  <meyering@lucent.com>
90585
90586         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
90587
90588         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
90589         AC_LIBOBJ(function_name).
90590         * m4/chown.m4: Likewise.
90591         * m4/fnmatch.m4: Likewise.
90592         * m4/ftruncate.m4: Likewise.
90593         * m4/getgroups.m4: Likewise.
90594         * m4/getline.m4: Likewise.
90595         * m4/group-member.m4: Likewise.
90596         * m4/jm-macros.m4: Likewise.
90597         * m4/lstat.m4: Likewise.
90598         * m4/malloc.m4: Likewise.
90599         * m4/memcmp.m4: Likewise.
90600         * m4/nanosleep.m4: Likewise.
90601         * m4/putenv.m4: Likewise.
90602         * m4/realloc.m4: Likewise.
90603         * m4/regex.m4: Likewise.
90604         * m4/stat.m4: Likewise.
90605         * m4/strftime.m4: Likewise.
90606
90607 2000-07-02  Jim Meyering  <meyering@lucent.com>
90608
90609         * lib/quotearg.c (mbstate_t): Don't define here.
90610
90611 2000-07-02  Jim Meyering  <meyering@lucent.com>
90612
90613         * lib/nanosleep.c (SIGCONT): Define if not already defined.
90614
90615 2000-07-01  Jim Meyering  <meyering@lucent.com>
90616
90617         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
90618
90619 2000-07-01  Jim Meyering  <meyering@lucent.com>
90620
90621         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
90622         problem.
90623
90624 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90625
90626         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
90627         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
90628
90629 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
90630
90631         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
90632         per change in ../m4/ls-mntd-fs.m4.
90633         (read_filesystem_list): Ignore symbolic links.
90634
90635 2000-06-29  Jim Meyering  <meyering@lucent.com>
90636
90637         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
90638         for declaration of strcmp.
90639
90640         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
90641
90642         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
90643         Avoid warning by casting result to `char *' to remove `const'.
90644
90645 2000-06-28  Jim Meyering  <meyering@lucent.com>
90646
90647         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
90648         included by quotearg.c, for which we perform this test.  From
90649         Bruno Haible.
90650
90651 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90652
90653         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
90654         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
90655         <utmpx.h> exists, put readutmp.o into LIBOBJS.
90656
90657 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
90658
90659         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
90660
90661 2000-06-26  Paul Eggert  <eggert@twinsun.com>
90662
90663         savedir now sets errno on failure and invokes xmalloc to get memory.
90664         Fix a couple of other minor bugs while we're at it.
90665
90666         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
90667         (NAMLEN): Remove macro.
90668         (malloc, realloc): Remove decls.
90669         (stpcpy): Likewise.
90670         ("xalloc.h"): Include.
90671         (NAME_SIZE_DEFAULT): New macro.
90672         (savedir): Use xmalloc / xrealloc to allocate memory.
90673         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
90674         Skip "" directory entries.
90675         Use strlen to calculate directory entry length, since the old method
90676         is rarely used these days and isn't worth supporting.
90677         Don't use a pointer after freeing it.
90678         Check for integer overflow when calculating allocation size.
90679         Use memcpy to copy entries, instead of stpcpy.
90680         Set errno properly when returning NULL.
90681         Check for readdir error.
90682
90683 2000-06-26  Jim Meyering  <meyering@lucent.com>
90684
90685         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
90686
90687 2000-06-25  Jim Meyering  <meyering@lucent.com>
90688
90689         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
90690         Linux header bug when _XOPEN_SOURCE is defined to 500.
90691
90692 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90693
90694         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
90695         deficiency.
90696
90697 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
90698
90699         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
90700         Include xalloc.h.
90701         Don't include <stdlib.h>.  Don't declare malloc, realloc.
90702
90703 2000-06-24  Jim Meyering  <meyering@lucent.com>
90704
90705         * m4/strerror_r.m4: Revive this file -- to try out an experimental
90706         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
90707         for which strerror does return char*, but which lacks a conveniently
90708         accessible declaration of the function.  If the compile-test says
90709         strerror_r doesn't work, then resort to a `run'-test that works on
90710         BeOS and segfaults on DEC Unix.
90711
90712 2000-06-24  Jim Meyering  <meyering@lucent.com>
90713
90714         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
90715
90716 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90717
90718         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
90719         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
90720
90721 2000-06-23  Paul Eggert  <eggert@twinsun.com>
90722
90723         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
90724         (mbrtowc, mbstate_t): Define substitutes if
90725         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
90726         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
90727         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
90728
90729 2000-06-23  Jim Meyering  <meyering@lucent.com>
90730
90731         * m4/afs.m4: Add missing AC_MSG_RESULT.
90732         Reported by Bruno Haible.
90733
90734         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
90735         Suggestion from Bruno Haible.
90736
90737 2000-06-23  Jim Meyering  <meyering@lucent.com>
90738
90739         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
90740
90741 2000-06-21  Jim Meyering  <meyering@lucent.com>
90742
90743         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
90744
90745 2000-06-21  Jim Meyering  <meyering@lucent.com>
90746
90747         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
90748         (noinst_HEADERS): Add getstr.h.
90749
90750         * lib/getline.c (getstr): Move into a separate file.
90751         * lib/getstr.c (getstr): New file, extracted from getline.c, with
90752         the following changes: new parameter, delim2; both delim[12]
90753         parameters have type `int', not `char'.  The latter would lose
90754         with 8-bit delimiters.
90755         * lib/getstr.h: New file.
90756
90757 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90758
90759         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
90760         than 1024, return a memory chunk of least possible size, instead
90761         of size PATH_MAX + 2. In the loop, increment the size proportionally.
90762         Use free/xmalloc instead of xrealloc to avoid copying for very long
90763         paths.
90764
90765 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90766
90767         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
90768         the empty string.
90769
90770 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
90771
90772         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
90773         address, not strdup.  Include <stdlib.h> and don't declare free().
90774
90775 2000-06-19  Jim Meyering  <meyering@lucent.com>
90776
90777         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
90778
90779 2000-06-18  Jim Meyering  <meyering@lucent.com>
90780
90781         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
90782
90783         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
90784         `checking whether...' message to be consistent with that of the
90785         lstat test.
90786
90787 2000-06-18  Jim Meyering  <meyering@lucent.com>
90788
90789         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
90790         Besides, these days every porting target provides a mkdir function.
90791
90792         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
90793         needed. (this snippet comes from src/system.h).
90794
90795 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
90796
90797         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
90798
90799 2000-06-15  Paul Eggert  <eggert@twinsun.com>
90800
90801         * lib/human.c (adjust_value): New function.
90802         (human_readable_inexact): Apply rounding style even when
90803         printing approximate values.
90804
90805 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90806
90807         * lib/human.c (human_readable_inexact): Allow an input block
90808         size that is not a multiple of the output block size, and vice versa.
90809         Reported by Piergiorgio Sartor.
90810
90811 2000-06-14  Paul Eggert  <eggert@twinsun.com>
90812
90813         * lib/getdate.y (get_date): Apply relative times after time
90814         zone indicator, not before.  Reported by Todd A. Jacobs.
90815
90816 2000-06-13  Jim Meyering  <meyering@lucent.com>
90817
90818         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
90819
90820         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
90821
90822 2000-06-12  Paul Eggert  <eggert@twinsun.com>
90823
90824         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
90825
90826 2000-06-12  Jim Meyering  <meyering@lucent.com>
90827
90828         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
90829         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
90830         optional argument.
90831         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
90832         the optional argument, `lib'.
90833
90834 2000-06-08  Jim Meyering  <meyering@lucent.com>
90835
90836         * m4/largefile.m4: Remove file (now that it's part of autoconf).
90837
90838 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90839
90840         Rewrite largefile configuration so that we don't need to run
90841         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
90842         AC_CANONICAL_HOST in configure.in -- jmm]
90843
90844         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
90845         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
90846         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
90847         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
90848         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
90849         All uses changed.
90850         Instead of inspecting the output of getconf, try to compile the
90851         test program without and with the macro definition.
90852         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
90853         for getconf.  Instead, check for the needed flags by compiling
90854         test programs.
90855
90856 2000-06-04  Paul Eggert  <eggert@twinsun.com>
90857
90858         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
90859
90860 2000-06-04  Jim Meyering  <meyering@lucent.com>
90861
90862         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
90863         SunOS 4.1.4 for which gid_t is an unsigned type.
90864
90865 2000-06-03  Jim Meyering  <meyering@lucent.com>
90866
90867         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
90868         now that autoconf requires that.
90869
90870         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
90871         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
90872         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
90873
90874 2000-06-03  Jim Meyering  <meyering@lucent.com>
90875
90876         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
90877
90878 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90879
90880         * m4/glibc21.m4: New file.
90881         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
90882
90883 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
90884
90885         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
90886         newer, don't install charset.alias.
90887         * lib/config.charset: Change the Linux/glibc rules so they become empty
90888         on glibc-2.1 or newer.
90889
90890 2000-06-02  Jim Meyering  <meyering@lucent.com>
90891
90892         * lib/mountlist.c: Back out last change.  Instead, do this...
90893         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
90894         me_dummy member using the same `ignore'-testing code.
90895         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
90896         fs_type strings.
90897         From Mark D. Roth.
90898
90899 2000-05-29  Jim Meyering  <meyering@lucent.com>
90900
90901         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
90902         mounts with the `ignore' attribute.  Based on a patch from
90903         Mark D. Roth.
90904
90905 2000-05-28  Jim Meyering  <meyering@lucent.com>
90906
90907         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
90908         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90909         * m4/stat.m4: Likewise.
90910         * m4/lstat.m4: Likewise.
90911         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
90912
90913         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
90914         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
90915
90916 2000-05-26  Jim Meyering  <meyering@lucent.com>
90917
90918         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
90919
90920 2000-05-24  Jim Meyering  <meyering@lucent.com>
90921
90922         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
90923         autoconf requires that.
90924         * m4/lib-check.m4: Likewise.
90925         * m4/jm-macros.m4: Likewise.
90926         * m4/strftime.m4: Likewise.
90927
90928         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
90929         AC_CHECK_DECLS, now that autoconf requires that.
90930
90931 2000-05-22  Jim Meyering  <meyering@lucent.com>
90932
90933         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90934         * m4/lstat.m4: Likewise.
90935
90936 2000-05-22  Jim Meyering  <meyering@lucent.com>
90937
90938         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
90939
90940 2000-05-20  Jim Meyering  <meyering@lucent.com>
90941
90942         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
90943         (jm_PREREQ): Use it.
90944
90945 2000-05-18  Jim Meyering  <meyering@lucent.com>
90946
90947         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
90948         back, too, since it may have been modified by allocate_entry.
90949         (hash_delete): Rewrite to use neither the assignment operator
90950         nor the comma operator in an if-expression.
90951
90952 2000-05-15  Paul Eggert  <eggert@twinsun.com>
90953
90954         * lib/closeout.c:
90955         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
90956         Remove; no longer needed.
90957         "quotearg.h": Add include.
90958         (file_name): Do not bother to explicitly initialize to NULL; it's less
90959         efficient on some hosts.
90960         (close_stdout_status): Remove test as to whether stdout was already
90961         closed; it breaks for the case "echo x | sort >&-".
90962         Quote file name colons.
90963         Do not assume that _("write error") lacks format strings.
90964
90965 2000-05-15  Jim Meyering  <meyering@lucent.com>
90966
90967         * lib/version-etc.c (version_etc_copyright): Update the copyright
90968         string used in all --version output.
90969
90970 2000-05-14  Jim Meyering  <meyering@lucent.com>
90971
90972         * lib/closeout.c (close_stdout_set_file_name): New function.
90973         (close_stdout_status): Use new file-scoped global.
90974         Return right away if fstat says the stdout file descriptor is invalid.
90975         * lib/closeout.h (close_stdout_set_file_name): Declare.
90976
90977 2000-05-10  Jim Meyering  <meyering@lucent.com>
90978
90979         * lib/closeout.c [default_exit_status]: New file-scoped variable.
90980         (close_stdout_set_status): New function.
90981         * lib/closeout.h (close_stdout_set_status): Declare.
90982
90983 2000-05-09  Jim Meyering  <meyering@lucent.com>
90984
90985         * m4/gettext.m4: Rename this...
90986         * m4/libintl.m4: ...to this.
90987
90988 2000-05-08  Jim Meyering  <meyering@lucent.com>
90989
90990         * lib/long-options.c: Don't include closeout.h.
90991         (parse_long_options): Don't call close_stdout for --version.
90992
90993 2000-05-06  Paul Eggert  <eggert@twinsun.com>
90994
90995         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
90996         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
90997         2.1.3 bug.  This avoids a clash when files like regex.c define
90998         _GNU_SOURCE.
90999
91000 2000-05-06  Jim Meyering  <meyering@lucent.com>
91001
91002         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
91003         (AC_REPLACE_FUNCS): Add strnlen.
91004
91005         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
91006         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
91007
91008         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
91009         AC_SEARCH_LIBS call for nanosleep.
91010         (LIB_NANOSLEEP): Set and AC_SUBST.
91011
91012 2000-05-06  Jim Meyering  <meyering@lucent.com>
91013
91014         * lib/strnlen.c: Undefine __strnlen and strnlen.
91015         [!weak_alias]: Define __strnlen to strnlen.
91016
91017         * lib/atexit.c: New file, from libiberty.
91018
91019 2000-05-06  Jim Meyering  <meyering@lucent.com>
91020
91021         * lib/closeout.c (close_stdout_status): Also check for errors on the
91022         stderr stream.
91023
91024 2000-05-05  Jim Meyering  <meyering@lucent.com>
91025
91026         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
91027         AC_SEARCH_LIBS call for clock_gettime.
91028         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
91029
91030         * m4/search-libs.m4: Update from autoconf.
91031
91032         su doesn't work on Solaris 2.6.
91033         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
91034         <shadow.h>.  Reported by Dragos Harabor.
91035
91036 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
91037
91038         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
91039         memcpy instead of xmalloc, xrealloc, path_concat.
91040         (locale_charset): Treat empty environment variables as absent.
91041         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
91042
91043 2000-05-04  Jim Meyering  <meyering@lucent.com>
91044
91045         * lib/getopt.c: Update from glibc.
91046         * lib/obstack.c: Likewise.
91047         * lib/obstack.h: Likewise.
91048         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
91049         file
91050
91051         * lib/regex.h: Likewise.
91052         * lib/strndup.c: Likewise.
91053         * lib/strnlen.c: New file, from glibc.
91054
91055 2000-05-03  Jim Meyering  <meyering@lucent.com>
91056
91057         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
91058
91059 2000-05-02  Paul Eggert  <eggert@twinsun.com>
91060
91061         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
91062         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
91063         compile-time test, rather than inspecting host and OS, to
91064         decide whether to define _LARGEFILE_SOURCE.
91065
91066 2000-05-01  Jim Meyering  <meyering@lucent.com>
91067
91068         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
91069
91070         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
91071         Based on a patch from Bruno Haible.
91072
91073 2000-05-01  Jim Meyering  <meyering@lucent.com>
91074
91075         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
91076
91077 2000-04-29  Jim Meyering  <meyering@lucent.com>
91078
91079         * lib/path-concat.c: Declare strdup only if it's not defined.
91080         * lib/canon-host.c: Likewise.
91081
91082 2000-04-28  Jim Meyering  <meyering@lucent.com>
91083
91084         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
91085         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
91086         is included first, then limits.h is included by locale.h by libintl.h.
91087         From John David Anglin.
91088
91089 2000-04-25  Jim Meyering  <meyering@lucent.com>
91090
91091         * lib/makepath.c (S_IRWXUGO): Define.
91092         (make_path): Always perform explicit chmod if MODE specifies any
91093         of the `special' permission bits.  Prompted by a bug report against
91094         install from Mate Wierdl and Joost van Baal.
91095
91096 2000-04-18  Jim Meyering  <meyering@lucent.com>
91097
91098         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
91099         (jm_PREREQ): Use it.
91100
91101 2000-04-18  Jim Meyering  <meyering@lucent.com>
91102
91103         * lib/README: New file.
91104
91105         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
91106         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
91107
91108 2000-04-17  Jim Meyering  <meyering@lucent.com>
91109
91110         Get it right :-)
91111         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
91112         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
91113         Suggestion from Akim Demaille.
91114
91115 2000-04-17  Jim Meyering  <meyering@lucent.com>
91116
91117         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
91118         the definition of it to rpl_strftime also defined-away the system's
91119         declaration.
91120
91121 2000-04-15  Jim Meyering  <meyering@lucent.com>
91122
91123         Use `C' to denote so-called `contiguous' files, the same way
91124         that tar does.
91125         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
91126         (ftypelet): Use S_ISCTG.
91127         From Michael Deutschmann.
91128
91129 2000-04-14  Jim Meyering  <meyering@lucent.com>
91130
91131         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
91132         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
91133         clobbered.
91134
91135 2000-04-14  Jim Meyering  <meyering@lucent.com>
91136
91137         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
91138
91139 2000-04-13  Jim Meyering  <meyering@lucent.com>
91140
91141         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
91142         AH_VERBATIM to insert required #ifndef into config.h.in.
91143         Suggestion from Akim Demaille.
91144
91145 2000-04-12  Jim Meyering  <meyering@lucent.com>
91146
91147         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
91148         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
91149         Christian Krackowizer.
91150
91151         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
91152         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
91153         (AC_SYS_LARGEFILE): Require.
91154         (AM_C_PROTOTYPES): Require.
91155
91156 2000-04-08  Jim Meyering  <meyering@lucent.com>
91157
91158         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
91159         names don't conflict.  Reported by Eli Zaretskii.
91160
91161 2000-04-07  Jim Meyering  <meyering@lucent.com>
91162
91163         * lib/putenv.c: Move inclusion of errno.h so it follows that of
91164         sys/types.h, to work around system header problems on AIX 3.2.5.
91165         From Bruno Haible.
91166
91167 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
91168
91169         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
91170         bug.  Deal with the different error behavior of Irix iconv.
91171
91172 2000-04-05  Paul Eggert  <eggert@twinsun.com>
91173
91174         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
91175         IRIX if the installer said otherwise.
91176
91177 2000-04-05  Jim Meyering  <meyering@lucent.com>
91178
91179         Portability tweaks required for ultrix4.3.
91180         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
91181         (jm_CHECK_DECLS): Add getutent to the list of functions.
91182         (_jm_DECL_HEADERS): Add utmpx.h.
91183         From John David Anglin.
91184
91185         * m4/strftime.m4: Back out the 2000-04-02 change.
91186         Instead of that change, simply undefine putenv in the test program.
91187
91188 2000-04-05  Jim Meyering  <meyering@lucent.com>
91189
91190         Portability tweaks required for ultrix4.3.
91191         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
91192         getutent.
91193         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
91194         * lib/canon-host.c: Declare strdup.
91195         * lib/path-concat.c: Likewise.
91196         From John David Anglin.
91197
91198 2000-04-04  Jim Meyering  <meyering@lucent.com>
91199
91200         Be more DOS 8.3-friendly.
91201         * lib/ref-add.sin: Renamed from ref-add.sed.in.
91202         * lib/ref-del.sin: Renamed from ref-del.sed.in.
91203         * lib/Makefile.am: Reflect renaming.
91204         Reported by Eli Zaretskii.
91205
91206         Use a temporary file name that won't clash with `charset.alias'
91207         in the DOS 8.3 name space.
91208         * lib/Makefile.am (charset_tmp): Define.
91209         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
91210         (uninstall-local): Likewise.
91211         Reported by Eli Zaretskii.
91212
91213 2000-04-03  Jim Meyering  <meyering@lucent.com>
91214
91215         * m4/gettext.m4: Fix typo in comment.
91216
91217         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
91218         textutils/configure.in).  Suggestion from Paul Eggert.
91219         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
91220
91221 2000-04-02  Paul Eggert  <eggert@twinsun.com>
91222
91223         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
91224         variable in the shell rather than using putenv, which isn't
91225         portable.  This avoids the configure-time inter-test dependency
91226         on the potentially-renamed putenv function.
91227
91228 2000-03-30  Paul Eggert  <eggert@twinsun.com>
91229
91230         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
91231         before checking struct stat.st_blksize, so that
91232         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
91233
91234 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91235
91236         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
91237         since strftime.c uses HAVE_STRFTIME to decide whether to use
91238         the underlying strftime.
91239
91240 2000-03-29  Paul Eggert  <eggert@twinsun.com>
91241
91242         * lib/time/strftime.c (my_strftime): Make sure we call the system
91243         strftime, not ourselves, when invoking the underlying strftime.
91244
91245 2000-03-24  Jim Meyering  <meyering@lucent.com>
91246
91247         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
91248         (charset_alias): Define.
91249         (install-exec-local): Factor out common code.
91250         (uninstall-local): Split lines longer than 80.
91251         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
91252         (SUFFIXES): Define.
91253         (.sed.in.sed): New rule.  Don't redirect directly to $@.
91254         (CLEANFILES): Add ref-add.sed and ref-del.sed.
91255
91256 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
91257
91258         * lib/config.charset: Output a line containing "Packages using this
91259         file".
91260         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
91261         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
91262         ref-del.sed): New rules.
91263
91264 2000-03-17  Jim Meyering  <meyering@lucent.com>
91265
91266         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
91267         Otherwise, include <strings.h>
91268
91269 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
91270
91271         * lib/unicodeio.c (utf8_wctomb): New function.
91272         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
91273         format instead of in UCS-4 with platform dependent endianness.
91274
91275 2000-03-10  Jim Meyering  <meyering@lucent.com>
91276
91277         * m4/lib-check.m4: Look for getspnam in -lgen, too.
91278         From Marco Franzen.
91279
91280 2000-03-07  Paul Eggert  <eggert@twinsun.com>
91281
91282         * lib/savedir.c (savedir): Work even if directory size is
91283         negative; this can happen with some screwy NFS configurations.
91284
91285 2000-03-06  Jim Meyering  <meyering@lucent.com>
91286
91287         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
91288         if it's NULL (because we ran out of memory).  From Bruno Haible.
91289
91290 2000-03-05  Jim Meyering  <meyering@lucent.com>
91291
91292         * lib/localcharset.c ("path-concat.h"): Include.
91293         (get_charset_aliases): Use path_concat instead of ANSI string
91294         concatenation.
91295
91296         * lib/unicodeio.h (PARAMS): Define.
91297         Use it to guard prototype.
91298
91299 2000-03-04  Jim Meyering  <meyering@lucent.com>
91300
91301         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
91302         for lib/localcharset.c.
91303
91304 2000-03-04  Jim Meyering  <meyering@lucent.com>
91305
91306         * lib/Makefile.am (install-exec-local): Create $(libdir) before
91307         installing into it.
91308         (uninstall-local): Uncomment this rule so `make distcheck' works
91309         once again.
91310
91311         * lib/unicodeio.c (<errno.h>): Include it.
91312         (errno): Declare if not defined.
91313
91314         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
91315
91316         * lib/config.charset: New version, incorporating remarks from a linux
91317         i18n mailing list.  From Bruno Haible.
91318
91319 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
91320
91321         * m4/codeset.m4: New file.
91322         * m4/iconv.m4: New file.
91323         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
91324
91325 2000-03-03  Jim Meyering  <meyering@lucent.com>
91326
91327         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
91328
91329 2000-03-02  Jim Meyering  <meyering@lucent.com>
91330
91331         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
91332         the messages come out on separate lines.
91333
91334         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
91335         rather than jm_CHECK_DECLARATIONS.
91336         * m4/decl.m4: Remove now-unused file.
91337
91338         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
91339         geteuid.
91340
91341 2000-03-02  Jim Meyering  <meyering@lucent.com>
91342
91343         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
91344
91345 2000-03-01  Jim Meyering  <meyering@lucent.com>
91346
91347         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
91348         * lib/unicodeio.c: Likewise.
91349
91350 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
91351
91352         * lib/config.charset: New file.
91353         * lib/localcharset.c: New file.
91354         * lib/unicodeio.h, lib/unicodeio.c: New files.
91355         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
91356         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
91357         (noinst_HEADERS): Add unicodeio.h.
91358         (all-local, install-exec-local, charset.alias): New targets.
91359
91360 2000-02-28  Paul Eggert  <eggert@twinsun.com>
91361
91362         * lib/quotearg.c (ALERT_CHAR): New macro.
91363         (quotearg_buffer_restyled): Use it.
91364
91365 2000-02-27  Jim Meyering  <meyering@lucent.com>
91366
91367         * m4/check-decl.m4: Add getenv to the list.
91368
91369 2000-02-27  Jim Meyering  <meyering@lucent.com>
91370
91371         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
91372         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
91373
91374         * lib/backupfile.c: Guard inclusion of stdlib.h with
91375         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
91376         Declare malloc if needed.
91377
91378         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
91379         `#ifndef HAVE_DECL..'
91380         now that autoconf always defines the HAVE_DECL_ symbols.
91381         * lib/human.c: Likewise.
91382         * lib/same.c: Likewise.
91383         * lib/strtoumax.c: Likewise.
91384
91385         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
91386         declaration check was not run.
91387         * lib/hash.c: Likewise.
91388         * lib/human.c: Likewise.
91389         * lib/same.c: Likewise.
91390         * lib/strtoumax.c: Likewise.
91391
91392         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
91393         `.', then first look up the entire `.'-containing string as a login
91394         name.
91395
91396 2000-02-23  Jim Meyering  <meyering@lucent.com>
91397
91398         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
91399         in place of my hack.
91400
91401 2000-02-18  Paul Eggert  <eggert@twinsun.com>
91402
91403         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
91404         (textint): New typedef.
91405         (parser_control): Member year changed from int to textint.
91406         All uses changed.
91407         (YYSTYPE): Removed; replaced by %union with int and textint members.
91408         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
91409         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
91410         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
91411         (tSNUMBER, tUNUMBER): Now of type <textintval>.
91412         (date, number, to_year): Use width of number in digits, not its value,
91413         to determine whether it's a 2-digit year, or a 2-digit time.
91414         (yylex): Store number of digits of numeric tokens.
91415         Reported by John Kendall.
91416
91417         (parser_control): Changed from struct parser_control to typedef (for
91418         consistency).  All uses changed.
91419
91420         (tID): Removed; not used.
91421         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
91422
91423 2000-02-14  Paul Eggert  <eggert@twinsun.com>
91424
91425         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
91426         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
91427
91428 2000-02-12  Jim Meyering  <meyering@lucent.com>
91429
91430         * lib/userspec.c (ISDIGIT): Define it.
91431         (isdigit): Remove definition.
91432         (is_number): Use ISDIGIT, not isdigit.
91433         <libintl.h>: Include.
91434         (_ and N_): Define.
91435         (parse_user_spec): Mark translatable strings.
91436
91437 2000-02-10  Jim Meyering  <meyering@lucent.com>
91438
91439         With these changes, nanosleep.[ch] are finally enough like the other
91440         lib/* replacement files to compile on a few more losing systems.
91441
91442         * lib/nanosleep.h: Don't include config.h.
91443         Remove prototype from declaration of nanosleep.
91444         (PARAMS): Remove now-unneeded definition.
91445         * lib/nanosleep.c: #undef nanosleep.
91446         (rpl_nanosleep): Rename from nanosleep.
91447
91448 2000-02-10  Jim Meyering  <meyering@lucent.com>
91449
91450         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
91451         gnu_nanosleep to rpl_nanosleep.
91452
91453 2000-02-09  Jim Meyering  <meyering@lucent.com>
91454
91455         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
91456         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
91457
91458 2000-02-08  Akim Demaille  <akim@epita.fr>
91459
91460         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
91461         `[' and `]' and remove uses of `changequote'.
91462         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
91463         (AC_SYS_LARGEFILE): Likewise.
91464         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
91465         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
91466         of changequote.
91467         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
91468         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
91469         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
91470         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
91471
91472 2000-02-05  Jim Meyering  <meyering@lucent.com>
91473
91474         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
91475         Remove explicit use of AC_HEADER_TIME.  It is required by
91476         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
91477         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
91478         in autoconf whereby the expansion of the latter ended up preceding
91479         the expansion of its prerequisite, AC_HEADER_TIME.
91480         Reported by Volker Borchert.
91481
91482 2000-02-03  Jim Meyering  <meyering@lucent.com>
91483
91484         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
91485
91486 2000-02-03  Jim Meyering  <meyering@lucent.com>
91487
91488         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
91489         rather than with `#if HAVE_UTMPNAME'.
91490
91491 2000-02-02  Jim Meyering  <meyering@lucent.com>
91492
91493         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
91494         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
91495         Reported by Eli Zaretskii.
91496
91497 2000-02-01  Jim Meyering  <meyering@lucent.com>
91498
91499         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
91500
91501 2000-01-31  Jim Meyering  <meyering@lucent.com>
91502
91503         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
91504         functions.  Add the time.h and sys/time.h headers along with the
91505         AC_REQUIRE'ment of AC_HEADER_TIME.
91506
91507 2000-01-31  Jim Meyering  <meyering@lucent.com>
91508
91509         * lib/nanosleep.h (nanosleep): Guard declaration with
91510         `#if ! HAVE_DECL_NANOSLEEP'.
91511         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
91512         the declaration in that vendor's sys/timers.h.
91513         Reported by Christian Krackowizer.
91514
91515         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
91516         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
91517         (ISPRINT): Likewise.
91518         Reported by Tom Tromey.
91519
91520 2000-01-30  Jim Meyering  <meyering@lucent.com>
91521
91522         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
91523
91524         * m4/prereq.m4 (utmp_includes): Define.
91525         Check for ut_user and ut_name members in both struct utmpx
91526         and struct utmp.
91527
91528 2000-01-30  Jim Meyering  <meyering@lucent.com>
91529
91530         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
91531         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
91532         header files where only utmpx.ut_user is declared.
91533
91534         * lib/readutmp.h (UT_USER): Define.
91535
91536 2000-01-29  Jim Meyering  <meyering@lucent.com>
91537
91538         * m4/lib-check.m4: New file containing library-related checks from
91539         fileutils and sh-utils (textutils had none).
91540
91541 2000-01-28  Jim Meyering  <meyering@lucent.com>
91542
91543         * m4/perl.m4: Change format of warning message to look more like that
91544         from the missing script.  Suggestion from François Pinard.
91545
91546 2000-01-25  Jim Meyering  <meyering@lucent.com>
91547
91548         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
91549         well as time.h in the compile check.
91550         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
91551         Fix typo in cross-compiling case: s/yes/no/.
91552
91553 2000-01-23  Jim Meyering  <meyering@lucent.com>
91554
91555         * m4/jm-macros.m4: Move df-related tests here from
91556         fileutils/configure.in
91557
91558         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
91559         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
91560
91561         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
91562         s/space/ac_fsusage_space/.
91563         (jm_FILE_SYSTEM_USAGE): Take two parameters.
91564
91565         * m4/ftruncate.m4: New file (derived from part of
91566         fileutils/configure.in).
91567         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
91568         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
91569
91570         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
91571         AC_SUBST these here, rather than just in sh-util/configure.in, so
91572         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
91573         all the same.
91574         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
91575         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
91576         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
91577         (AC_SUBST(POW_LIBM)): Likewise.
91578         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
91579
91580 2000-01-23  Jim Meyering  <meyering@lucent.com>
91581
91582         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
91583         obstack.c.
91584
91585 2000-01-22  Jim Meyering  <meyering@lucent.com>
91586
91587         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
91588
91589         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
91590
91591         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
91592         configure.in
91593         (AC_CHECK_HEADERS): Likewise for sh-utils.
91594         (AC_CHECK_HEADERS): Likewise for textutils.
91595         Merge the three lists of headers.
91596
91597         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
91598         from fileutils' configure.in.
91599
91600         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
91601         code. Moved tests into their own function (_jm_DECL_HEADERS) in
91602         check-decl.m4.
91603
91604         * m4/check-decl.m4: Use #if rather than #ifdef.
91605         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
91606         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
91607         (_jm_DECL_HEADERS): Define new function.
91608         (jm_CHECK_DECLARATIONS): Require it.
91609
91610 2000-01-22  Jim Meyering  <meyering@lucent.com>
91611
91612         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
91613         [! HAVE_DECL_STRTOULL]: Declare strtoull.
91614         Required for some AIX systems.  Reported by Christian Krackowizer.
91615         [TESTING] (main): New function.
91616
91617         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
91618         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
91619         letters.
91620
91621         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
91622         iswprint.
91623
91624         * lib/strverscmp.c (ISDIGIT): Define.
91625         (strverscmp): Use ISDIGIT, not isdigit.
91626
91627 2000-01-19  Jim Meyering  <meyering@lucent.com>
91628
91629         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
91630         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
91631         defines `struct timespec' in <sys/time.h>
91632
91633         * m4/c-bs-a.m4: Remove uses of changequote altogether.
91634         Thanks to Akim for explaining.
91635
91636 2000-01-17  Paul Eggert  <eggert@twinsun.com>
91637
91638         * lib/nanosleep.c (nanosleep):
91639         Don't use SA_INTERRUPT to decide whether to call sigaction, as
91640         POSIX.1 doesn't require SA_INTERRUPT and some systems
91641         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
91642         it's been part of POSIX.1 since day 1 (in 1988).
91643
91644 2000-01-17  Jim Meyering  <meyering@lucent.com>
91645
91646         * lib/interlock: Remove unused file.  Reported by François Pinard.
91647
91648 2000-01-16  Paul Eggert  <eggert@twinsun.com>
91649
91650         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
91651         alert, backslash, formfeed, and vertical tab unnecessarily in
91652         shell quoting style.
91653
91654 2000-01-16  Jim Meyering  <meyering@lucent.com>
91655
91656         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
91657         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
91658         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
91659         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
91660
91661 2000-01-16  Jim Meyering  <meyering@lucent.com>
91662
91663         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
91664         because the latter didn't work.
91665
91666 2000-01-15  Jim Meyering  <meyering@lucent.com>
91667
91668         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
91669         (AC_REPLACE_FUNCS): Add memcpy and memset.
91670         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
91671         Add strpbrk.
91672         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
91673
91674 2000-01-12  Jim Meyering  <meyering@lucent.com>
91675
91676         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
91677         (jm_PREREQ): Use it.
91678         (jm_PREREQ_READUTMP): New macro.
91679         (jm_PREREQ): Use it.
91680
91681 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91682
91683         Quote multibyte characters correctly.
91684         * m4/c-bs-a.m4: New file.
91685         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
91686         (jm_PREREQ): Use it.
91687
91688 2000-01-11  Paul Eggert  <eggert@twinsun.com>
91689
91690         * m4/uintmax_t.m4: Port to autoconf 2.13.
91691
91692 2000-01-08  Jim Meyering  <meyering@ascend.com>
91693
91694         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
91695         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
91696
91697 2000-01-04  Jim Meyering  <meyering@ascend.com>
91698
91699         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
91700         jm_STRUCT_DIRENT_D_TYPE.
91701         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
91702         jm_STRUCT_DIRENT_D_INO.
91703         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
91704         jm_STRUCT_UTIMBUF.
91705         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
91706         renamings.
91707         * m4/utime.m4: Likewise.
91708
91709         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
91710         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
91711
91712 2000-01-03  Paul Eggert  <eggert@twinsun.com>
91713
91714         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
91715         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
91716
91717 2000-01-02  Jim Meyering  <meyering@ascend.com>
91718
91719         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
91720         remember if this is necessary.
91721
91722 1999-12-26  Jim Meyering  <meyering@ascend.com>
91723
91724         * m4/jm-macros.m4: Use it here.
91725         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
91726
91727 1999-12-23  Jim Meyering  <meyering@ascend.com>
91728
91729         * m4/jm-macros.m4: Check for clock_gettime (moved from
91730         fileutils/configure.in)
91731         Check for gettimeofday.
91732
91733 1999-12-20  Jim Meyering  <meyering@ascend.com>
91734
91735         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
91736         autoconf-2.14a-1999-12-20.
91737
91738 1999-12-19  Jim Meyering  <meyering@ascend.com>
91739
91740         * m4/lstat-slash.m4: New file.
91741         * m4/jm-macros.m4: Use the new macro:
91742         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
91743
91744 1999-12-07  Jim Meyering  <meyering@ascend.com>
91745
91746         * m4/perl.m4: Require that File::Compare be available, too.
91747         Too many systems seem to lack it.
91748
91749         * m4/strftime.m4: Add checks for most of the cpp macros tested in
91750         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
91751
91752 1999-11-18  Paul Eggert  <eggert@twinsun.com>
91753
91754         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
91755         problem with the QNX 4.25 shell, which doesn't propagate exit
91756         status of failed commands inside shell assignments.
91757
91758 1999-11-17  Jim Meyering  <meyering@ascend.com>
91759
91760         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
91761
91762 1999-11-07  Jim Meyering  <meyering@ascend.com>
91763
91764         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
91765
91766 1999-11-06  Jim Meyering  <meyering@ascend.com>
91767
91768         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
91769         * m4/jm-macros.m4 (jm_MACROS): Use it here.
91770
91771 1999-11-05  Jim Meyering  <meyering@ascend.com>
91772
91773         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
91774         configure.in of textutils, fileutils, and sh-utils into this one
91775         (shared between those packages) file.
91776         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
91777         AC_STRUCT_ST_BLKSIZE.
91778
91779 1999-11-03  Jim Meyering  <meyering@ascend.com>
91780
91781         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
91782         of AC_CHECK_TYPE checks includes unistd.h.
91783         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
91784         Suggestion from Akim Demaille.
91785
91786 1999-10-30  Jim Meyering  <meyering@ascend.com>
91787
91788         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
91789         m4-quoted string.
91790         * m4/ls-mntd-fs.m4: Likewise.
91791         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
91792         * m4/jm-winsz1.m4: Likewise.
91793
91794         * m4/const.m4: Remove file, since the fix made it into the experimental
91795         version of autoconf.
91796         * m4/mktime.m4: Likewise.
91797
91798         * m4/check-type.m4: Remove file, now that the latest version of
91799         AC_CHECK_TYPE takes a third arg to specify additional #includes.
91800
91801         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
91802         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
91803         AC_CHECK_TYPE.
91804
91805 1999-10-04  Jim Meyering  <meyering@ascend.com>
91806
91807         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
91808
91809 1999-09-22  Paul Eggert  <eggert@twinsun.com>
91810
91811         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
91812         2.95.1 bug with HP-UX 10.20.
91813
91814 1999-09-17  Jim Meyering  <meyering@ascend.com>
91815
91816         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
91817         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
91818         due to missing strdup (against sh-utils-2.0).
91819
91820 1999-08-29  Jim Meyering  <meyering@ascend.com>
91821
91822         * m4/jm-macros.m4: Require jm_BISON.
91823         * m4/bison.m4: New file.
91824
91825 1999-08-17  Paul Eggert  <eggert@twinsun.com>
91826
91827         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
91828         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
91829
91830 1999-08-05  Jim Meyering  <meyering@ascend.com>
91831
91832         * m4/getline.m4: Rename test file from conftestdata to conftest.data
91833         to avoid conflicts with `conftest' on 8+3 filesystems.
91834         Suggestion from Eli Zaretskii.
91835
91836 1999-08-04  Jim Meyering  <meyering@ascend.com>
91837
91838         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
91839         fileutils and sh-utils (textutils's getline test was inadequate).
91840         (AM_FUNC_GETLINE): Run this test.
91841         (AC_CHECK_FUNCS): Check for getdelim.
91842         Reported by Bob Proulx.
91843
91844 1999-08-02  Jim Meyering  <meyering@ascend.com>
91845
91846         * m4/jm-macros.m4: Add a comment.
91847
91848 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91849
91850         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
91851         <inttypes.h> defines strtoumax as a macro (and not as a
91852         function).
91853
91854 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91855
91856         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
91857         that we can shift, multiply and divide unsigned long long
91858         values; Ultrix cc can't do it.
91859
91860 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91861
91862         * m4/mktime.m4: New file, which is a preview of what should appear
91863         in the next public autoconf release.
91864
91865 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91866
91867         * m4/lfs.m4: Remove this file.
91868         * m4/largefile.m4: New file.  It contains the old contents of
91869         lfs.m4, except that all names with prefix AC_LFS have been
91870         changed to use the prefix AC_SYS_LARGEFILE instead, to be
91871         compatible with future autoconf versions.  Also, some minor m4
91872         quoting problems have been fixed.
91873
91874 1999-08-01  Paul Eggert  <eggert@twinsun.com>
91875
91876         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
91877         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
91878         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
91879         and simplify the shell code.
91880
91881 1999-08-01  Jim Meyering  <meyering@ascend.com>
91882
91883         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
91884         m4.
91885
91886 1999-07-20  Jim Meyering  <meyering@ascend.com>
91887
91888         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
91889
91890 1999-07-15  Jim Meyering  <meyering@ascend.com>
91891
91892         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
91893
91894 1999-05-22  Jim Meyering  <meyering@ascend.com>
91895
91896         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
91897
91898 1999-05-20  Jim Meyering  <meyering@ascend.com>
91899
91900         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
91901         Add a colon after each `then' in case $4 is empty.
91902
91903 1999-05-16  Jim Meyering  <meyering@ascend.com>
91904
91905         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
91906
91907 1999-05-10  Jim Meyering  <meyering@ascend.com>
91908
91909         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
91910
91911         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
91912         AC_FUNC_MKTIME.
91913
91914 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
91915
91916         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
91917
91918 1999-05-04  Paul Eggert  <eggert@twinsun.com>
91919
91920         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
91921         not CPPFLAGS, so that linking works correctly in IRIX.
91922
91923 1999-04-30  Paul Eggert  <eggert@twinsun.com>
91924
91925         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
91926
91927 1999-04-20  Paul Eggert  <eggert@twinsun.com>
91928
91929         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
91930         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
91931         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
91932         jm_AC_TYPE_UNSIGNED_LONG_LONG.
91933         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
91934
91935         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
91936
91937 1999-04-20  Jim Meyering  <meyering@ascend.com>
91938
91939         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
91940         AC_REPLACE xstroull if necessary.  From Paul Eggert.
91941         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
91942
91943 1999-04-18  Jim Meyering  <meyering@ascend.com>
91944
91945         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
91946         * m4/jm-macros.m4: Use it.
91947
91948 1999-04-06  Jim Meyering  <meyering@ascend.com>
91949
91950         * m4/strftime.m4: Remove test for %f.
91951
91952 1999-03-29  Jim Meyering  <meyering@ascend.com>
91953
91954         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
91955         superset of the AC_TYPE_* checks in the textutils, fileutils,
91956         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
91957         AC_TYPE_PID_T.
91958
91959 1999-03-28  Jim Meyering  <meyering@ascend.com>
91960
91961         * m4/jm-macros.m4: Define GNU_PACKAGE here.
91962         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
91963         replaced e.g., in the *.sh files of the sh-utils.
91964
91965 1999-03-20  Jim Meyering  <meyering@ascend.com>
91966
91967         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
91968         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
91969         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
91970
91971 1999-03-19  Jim Meyering  <meyering@ascend.com>
91972
91973         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
91974
91975 1999-03-12  Jim Meyering  <meyering@ascend.com>
91976
91977         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
91978
91979 1999-03-07  Jim Meyering  <meyering@ascend.com>
91980
91981         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
91982         declared.
91983
91984 1999-02-17  Jim Meyering  <meyering@ascend.com>
91985
91986         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
91987         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
91988
91989 1999-02-07  Jim Meyering  <meyering@ascend.com>
91990
91991         * m4/group-member.m4: New file -- extracted from sh-utils'
91992         configure.in.
91993
91994         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
91995         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
91996
91997 1999-02-06  Jim Meyering  <meyering@ascend.com>
91998
91999         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
92000         * m4/fnmatch.m4: Likewise.
92001         * m4/getgroups.m4: Likewise.
92002         * m4/lstat.m4: Likewise.
92003         * m4/malloc.m4: Likewise.
92004         * m4/putenv.m4: Likewise.
92005         * m4/realloc.m4: Likewise.
92006         * m4/regex.m4: Likewise.
92007         * m4/stat.m4: Likewise.
92008         * m4/strftime.m4: Likewise.
92009         Suggestion from Alain Magloire.
92010
92011         * m4/chown.m4: Use `.$ac_objext', not `.o'.
92012         * m4/fnmatch.m4: Likewise.
92013         * m4/getgroups.m4: Likewise.
92014         * m4/getline.m4: Likewise.
92015         * m4/lstat.m4: Likewise.
92016         * m4/malloc.m4: Likewise.
92017         * m4/memcmp.m4: Likewise.
92018         * m4/putenv.m4: Likewise.
92019         * m4/realloc.m4: Likewise.
92020         * m4/regex.m4: Likewise.
92021         * m4/stat.m4: Likewise.
92022         * m4/strftime.m4: Likewise.
92023         Suggestion from Alain Magloire.
92024
92025         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
92026         an argument.
92027
92028         * m4/regex.m4: Add a run-time Test for proper operation of
92029         re_compile_pattern.
92030
92031 1999-01-31  Jim Meyering  <meyering@ascend.com>
92032
92033         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
92034
92035 1999-01-30  Jim Meyering  <meyering@ascend.com>
92036
92037         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
92038
92039         * m4/jm-mktime.m4: Make this a wrapper around the official
92040         AM_FUNC_MKTIME rather than my private copy, now that the official one
92041         is up to date.
92042         * m4/mktime.m4: Remove file.
92043
92044         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
92045         * m4/uptime.m4: Likewise.
92046         * m4/uintmax_t.m4: Likewise.
92047
92048 1999-01-28  Jim Meyering  <meyering@ascend.com>
92049
92050         * m4/jm-macros.m4: Use jm_AFS.
92051         * m4/afs.m4: New file (from fileutils' configure.in).
92052
92053         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
92054         * m4/chown.m4: Likewise.
92055         * m4/d-ino.m4: Likewise.
92056         * m4/d-type.m4: Likewise.
92057         * m4/fnmatch.m4: Likewise.
92058         * m4/getgroups.m4: Likewise.
92059         * m4/gettext.m4: Likewise.
92060         * m4/jm-mktime.m4: Likewise.
92061         * m4/jm-winsz2.m4: Likewise.
92062         * m4/lcmessage.m4: Likewise.
92063         * m4/ls-mntd-fs.m4: Likewise.
92064         * m4/malloc.m4: Likewise.
92065         * m4/memcmp.m4: Likewise.
92066         * m4/putenv.m4: Likewise.
92067         * m4/realloc.m4: Likewise.
92068         * m4/st_mtim.m4: Likewise.
92069         * m4/strftime.m4: Likewise.
92070
92071 1999-01-16  Jim Meyering  <meyering@ascend.com>
92072
92073         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
92074         (ARGMATCH_DIE_DECL): Define.
92075
92076 1999-01-12  Jim Meyering  <meyering@ascend.com>
92077
92078         * m4/Makefile.am.in: Rewrite to avoid using fmt.
92079         Reported by Lars Hecking.
92080
92081 1999-01-10  Jim Meyering  <meyering@ascend.com>
92082
92083         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
92084         gross kludge.
92085         * m4/inttypes_h.m4: Likewise.
92086         * m4/lstat.m4: Likewise.
92087         * m4/malloc.m4: Likewise.
92088         * m4/readdir.m4: Likewise.
92089         * m4/realloc.m4: Likewise.
92090         * m4/st_dm_mode.m4: Likewise.
92091         * m4/stat.m4: Likewise.
92092         * m4/utimbuf.m4: Likewise.
92093         * m4/utimes.m4: Likewise.
92094
92095         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
92096         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
92097         comments in config.h.in are meaningful.
92098
92099         * m4/jm-macros.m4: Require autoconf-2.13 here.
92100
92101         * m4/regex.m4: By default, don't use the included regex.c on systems
92102         with glibc 2.  Suggestion from Uli Drepper.
92103
92104 1999-01-02  Jim Meyering  <meyering@ascend.com>
92105
92106         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
92107
92108 1998-12-18  Jim Meyering  <meyering@ascend.com>
92109
92110         * m4/Makefile.am.in (Makefile.am): Simplify rule.
92111         Based on a suggestion from Lars Hecking.
92112
92113 1998-11-16  Paul Eggert  <eggert@twinsun.com>
92114
92115         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
92116
92117 1998-11-16  Jim Meyering  <meyering@ascend.com>
92118
92119         * m4/lfs.m4: Double-quote the `uname...` expression.
92120
92121 1998-11-14  Jim Meyering  <meyering@ascend.com>
92122
92123         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
92124         * m4/stat.m4: Likewise.
92125
92126 1998-11-03  Jim Meyering  <meyering@ascend.com>
92127
92128         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
92129         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
92130
92131 1998-10-18  Jim Meyering  <meyering@ascend.com>
92132
92133         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
92134
92135 1998-10-17  Jim Meyering  <meyering@ascend.com>
92136
92137         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
92138         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
92139         calls for those previously hard-coded headers.  Instead, take a new
92140         parameter.
92141         (jm_CHECK_DECLARATIONS): Reflect interface change.
92142         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
92143         (jm_CHECK_DECL_LOCALTIME_R): New macro.
92144
92145         * m4/mktime.m4: Test for spring-forward gap before long-running test.
92146
92147 1998-10-14  Jim Meyering  <meyering@ascend.com>
92148
92149         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
92150         instead of "TZ=America/Vancouver".  From Paul Eggert.
92151
92152 1998-10-11  Jim Meyering  <meyering@ascend.com>
92153
92154         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
92155         This adds a test for a recently added compatibility fix for mktime.c.
92156         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
92157
92158 1998-09-27  Jim Meyering  <meyering@ascend.com>
92159
92160         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
92161
92162         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
92163         ../configure.in, including a change from Gordon Matzigkeit to allow
92164         cross-compiling for the Hurd.
92165
92166         * m4/glibc.m4: New file/macro to test for the GNU C Library
92167         versions 1 and 2.  From Gordon Matzigkeit.
92168         Indent.
92169
92170 1998-09-21  Jim Meyering  <meyering@ascend.com>
92171
92172         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
92173
92174 1998-08-18  Paul Eggert  <eggert@twinsun.com>
92175
92176         Port nanosecond-resolution times to UnixWare 2.1.2 and
92177         pedantic Solaris 2.6.
92178
92179         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
92180         AC_STRUCT_ST_MTIM.
92181         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
92182         Generate name of ns member, instead of just 1 or undef.
92183         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
92184
92185 1998-08-15  Jim Meyering  <meyering@ascend.com>
92186
92187         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
92188         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
92189         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
92190         instead of jm_TYPE_SSIZE_T.
92191
92192 1998-08-12  Jim Meyering  <meyering@ascend.com>
92193
92194         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
92195
92196 1998-08-02  Jim Meyering  <meyering@ascend.com>
92197
92198         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
92199         in acconfig.h manually.
92200
92201 1998-07-31  Paul Eggert  <eggert@twinsun.com>
92202
92203         * m4/st_mtim.m4: New file.
92204
92205 1998-07-28  Jim Meyering  <meyering@ascend.com>
92206
92207         * m4/utimes.m4: Undef stat.
92208
92209 1998-07-25  Jim Meyering  <meyering@ascend.com>
92210
92211         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
92212         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
92213
92214 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
92215
92216         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
92217         uid and gid actually remain unchanged.
92218
92219 1998-07-07  Jim Meyering  <meyering@ascend.com>
92220
92221         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
92222
92223 1998-07-04  Jim Meyering  <meyering@ascend.com>
92224
92225         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
92226         to prove that this macro can be used in packages without regex.c.
92227
92228 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
92229
92230         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
92231         is to be used.
92232
92233 1998-07-03  Jim Meyering  <meyering@ascend.com>
92234
92235         * m4/gettext.m4: Add -lintl if it's found to be necessary.
92236
92237         * m4/gettext.m4: New file -- from gettext-0.10.35.
92238         * m4/lcmessage.m4: Likewise.
92239         * m4/progtest.m4: Likewise.
92240
92241         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
92242         * m4/jm-macros.m4: Require the new macro.
92243
92244 1998-06-29  Jim Meyering  <meyering@ascend.com>
92245
92246         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
92247         for the definition of NGROUPS (used in a system header included
92248         by sys/mount.h).
92249
92250 1998-06-28  Jim Meyering  <meyering@ascend.com>
92251
92252         * m4/ls-mntd-fs.m4: New file.
92253         * m4/fstypename.m4: New file.
92254
92255         * m4/jm-macros.m4: Require the new macro.
92256         * m4/jm-glibc-io.m4: New file.
92257
92258 1998-05-19  Jim Meyering  <meyering@ascend.com>
92259
92260         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
92261         * m4/lchown.m4: New file.
92262
92263         * m4/Makefile.am.in: New file.
92264         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
92265
92266 1998-05-14  Jim Meyering  <meyering@ascend.com>
92267
92268         * m4/Makefile.am (EXTRA_DIST): Add them.
92269         * m4/jm-macros.m4: New file.
92270         * m4/utimbuf.m4: New file.
92271
92272 1998-05-12  Jim Meyering  <meyering@ascend.com>
92273
92274         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
92275
92276 1998-05-11  Jim Meyering  <meyering@ascend.com>
92277
92278         * m4/isc-posix.m4: New file.
92279
92280 1998-05-10  Jim Meyering  <meyering@ascend.com>
92281
92282         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
92283
92284 1998-05-09  Jim Meyering  <meyering@ascend.com>
92285
92286         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
92287         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
92288         with automake.
92289
92290         * m4/ssize_t.m4: New file.
92291         * m4/mktime.m4: Remove file -- the new automake has this now.
92292
92293 1998-04-26  Jim Meyering  <meyering@ascend.com>
92294
92295         * m4/assert.m4: New file.
92296         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
92297
92298 1998-04-05  Jim Meyering  <meyering@ascend.com>
92299
92300         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
92301         (jm_PREREQ): Use it here.
92302
92303 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
92304
92305         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
92306         in acconfig.h.
92307
92308 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
92309
92310         * m4/prereq.m4: New file.
92311         * m4/error.m4: New file.
92312         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
92313
92314 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
92315
92316         * m4/getline.m4: Don't set am_cv_func_working_getline before the
92317         cache-check for the same variable -- that defeated the purpose of
92318         the test; the test program was never run.  This was a problem only
92319         on systems with losing getline functions -- HP-UX 10.20 is one.
92320         Reported by Bjorn Helgaas.
92321
92322 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
92323
92324         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
92325
92326 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
92327
92328         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
92329
92330         * m4/const.m4: New file.  Use an initializer in this declaration
92331         typedef int charset[2]; const charset x;
92332         Reported by Bob Glickstein.
92333
92334 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
92335
92336         * m4/chown.m4: Fix reversed types on -1 args to chown.
92337         From Kaveh Ghazi.
92338
92339 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
92340
92341         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
92342         Add lseek and memchr.
92343
92344         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
92345         T.E.Dickey <dickey@clark.net> said that some older preprocessors
92346         have a 20-character limit on names.
92347
92348 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
92349
92350         * m4/inttypes_h.m4: New file.
92351         * m4/uintmax_t.m4: New file.
92352         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
92353
92354
92355         -----
92356
92357         Local Variables:
92358         coding: utf-8
92359         End:
92360
92361         Copyright (C) 1997-2012 Free Software Foundation, Inc.
92362
92363         Copying and distribution of this file, with or without
92364         modification, are permitted provided the copyright notice
92365         and this notice are preserved.